項目五電子秒表的分析與仿真設計說明書_第1頁
項目五電子秒表的分析與仿真設計說明書_第2頁
項目五電子秒表的分析與仿真設計說明書_第3頁
項目五電子秒表的分析與仿真設計說明書_第4頁
項目五電子秒表的分析與仿真設計說明書_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、項目五 電子秒表的分析與仿真設計說明書任務一 數碼管顯示911季夢寒 947趙曉晴一、任務設計要求1、一位數碼管靜態(tài)顯示 要求:用單片機控制一位數碼管依次顯示 “0”-“F”2、多位數碼管靜態(tài)顯示要求:用單片機控制5位數碼管固定顯示“89C52”、 “HELLO”3、動態(tài)顯示要求:用單片機控制6位數碼管移動顯示“168168” 、“HELLO.”二、設計過程1、設計方案確定2、 硬件電路設計2、多位數碼管靜態(tài)顯示要求:用單片機控制5位數碼管固定顯示“89C52”、 “HELLO”3、動態(tài)顯示要求:用單片機控制6位數碼管移動顯示“168168” 、“HELLO.”3、軟件設計(1)、繪制流程圖(

2、2) 、編寫源程序:共3個程序用單片機控制一位數碼管依次顯示 “0”-“F” ORG 0000H AJMP START ORG 0030HSTART: MOV 30H,#00H ;要顯示的內容,寫入30H單元內MAIN: MOV R5,#50 ;設置顯示次數,越大時間越長MAIN1: MOV A,30H ;將顯示的數據送入A寄存器 MOV DPTR,#TAB ;將TAB的地址送入DPTR尋址 MOVC A,A+DPTR ;將TAB+A處地址內的數據讀出來送入A寄存器 SETB P0.0 ;關閉數碼管公共端,關閉顯示,是為了去除顯示重影 MOV P2,A ;將這個數據寫入P2段碼端口 CLR P

3、0.0 ;打開顯示 LCALL DELAY ;調用延時程序 DJNZ R5,MAIN1 ;一共顯示R5次 INC 30H ;將30H內數據加1 MOV A,30H ;將30H內數據送入寄存器A,繼續(xù)上面的步驟 CJNE A,#10H,MAIN ;判斷是否到達16,是則運行下一行程序,否則跳轉到MAIN AJMP START ;TAB為數碼管顯示段碼值TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71HDELAY: MOV R7,#50D1: MOV R6,#250D2: DJNZ R6,D2 DJNZ R

4、7,D1 RET END2、多位數碼管靜態(tài)顯示要求:用單片機控制5位數碼管固定顯示“89C52”、 “HELLO”89c52ORG 0000HLJMP START ORG 0030HSTART: MOV 30H,#2 ;查表查出第2位放入30H MOV 31H,#5 ;查表查出第5位放入31H MOV 32H,#0CH ;查表查出第12位放入32H MOV 33H,#9 ; 查表查出第9位放入33H MOV 34H,#8 ;查表查出第8位放入34H DISP:MOV R0,#30H ; 將30H放入R0 MOV R1,#40H ;將40H放入R1 MOV R2,#5 ;R2:顯示碼的個數DP1

5、0:MOV DPTR,#SEGTAB ; SEGTAB的地址存入DPTR MOV A,R0 ; 將R0里的地址的數據放入A MOVC A,A+DPTR ; 查表 MOV R1,A ; 將A放入R1的地址里 INC R0 ;將R0加1 INC R1 ;將R1加1 DJNZ R2,DP10 ;反復,直到8位都輸完 MOV R0,#40H ;將40H放入R0 MOV R1,#5 ;R1顯示碼的個數DP12:MOV R2,#8 ;將顯示碼送入R2 MOV A,R0 ;將R0里的地址的數據放入ADP13:RLC A ;左移 MOV P3.0,C ;C送入P3.0 CLR P3.1 ;P3.1清0 SET

6、B P3.1 ;跳轉到P3.1口DJNZ R2,DP13 ;反復,直到8位都輸完INC R0 ;將R0加1DJNZ R1,DP12 ;反復,直到8位都輸完SJMP $SEGTAB:DB 3FH,06H,5BH,4FH,66H,6DH DB 7DH,07H,7FH,6FH,77H,7CH DB 39H,5EH,7BH,71H,00H,40H END3、動態(tài)顯示要求:用單片機控制6位數碼管移動顯示“168168” 、“HELLO.”4、軟、硬件調試仿真(效果圖)任務二 簡易秒表、電子鐘一、任務設計要求1、基本要求:1)用兩位靜態(tài)數碼管進行“0-59”秒的顯示。2)用兩位動態(tài)數碼管進行“0-59”秒

7、的顯示2、技能提高:增加按鍵控制,實現秒表的啟動、停止、清零功能。3、技能拓展:(選做)用單片機控制6位數碼管顯示時鐘的時、分、秒 ,設計電子鐘(兩種方法)。二、設計過程1、設計方案確定2、 硬件電路設計用兩位靜態(tài)數碼管進行“0-59”秒的顯示。1) 用兩位動態(tài)數碼管進行“0-59”秒的顯示。2)增加按鍵控制,實現秒表的啟動、停止、清零功能。用單片機控制6位數碼管顯示時鐘的時、分、秒 ,設計電子鐘(兩種方法)。3、軟件設計(1)、繪制流程圖用兩位靜態(tài)數碼管進行“0-59”秒的顯示。用單片機控制6位數碼管顯示時鐘的時、分、秒 ,設計電子鐘(2) 、編寫源程序:共4個程序用兩位靜態(tài)數碼管進行“0-

8、59”秒的顯示。 ORG 0000HSTART: MOV DPTR,#TABLE ;表的地址存入DPTR MOV R0,#00H ;將R0清0S1: MOV P3,#00H ;清除P3口 MOV P2,#00H ;清除P2口S2: MOV R1,#10 ;R1:顯示碼的個數 MOV A,R0 ;將R0放入A MOV B,R1 ;將R1放入BDIV AB ;A除以B,除數為A,余數為B MOVC A,A+DPTR ;查表 MOV P2,A ;將A值送入P2 MOV A,B ;B值送入A MOVC A,A+DPTR ;查表 MOV P3,A ;將A值送入P3 LCALL DELAY ;延時 INC

9、 R0 ;R0加1 CJNE R0,#60,S2 ;R0是否等于60,不是跳回S2 MOV R0,#00H ;清除R0 LJMP S1 ;跳到S1DELAY: MOV R5,#100 ;延時1s的循環(huán)次數D1: MOV R6,#20D2: MOV R7,#248DJNZ R7,$DJNZ R6,D2DJNZ R5,D1RETTABLE:DB 3FH,06H,5BH,4FH,66H DB 6DH,7DH,07H,7FH,6FH END 用兩位靜態(tài)數碼管進行“0-59”秒的顯示。SECOND EQU 30H ;SECOND=30HTCNT EQU 34H ;TCNT=34H ORG 0000HLJ

10、MP START ;開始 ORG 000BH ;T0中斷路口地址 LJMP INT_T0 ;轉向中斷服務子程序 ORG 0010HSTART:MOV DPTR,#TABLE ;表的地址存入DPTR MOV SECOND,#0 ;標志位清0 MOV TCNT,#0 ;中斷次數清0 MOV TMOD,#01H ;定時器,方式1 MOV TH0,#3CH ;置定時器初值 MOV TL0,#0B0H MOV IE,#82H ;開中斷 SETB TR0 ;啟動T0L1: LCALL DISPLAY ;調用延時 SJMP L1 ;跳轉L1DISPLAY:MOV A,SECOND ;將標志位送入A MOV

11、B,#10 ;B:顯示碼的個數 DIV AB ;A除以B,除數為A,余數為BCLR P2.0 ;P2.0口清0MOVC A,A+DPTR ;查表MOV P1,A ;將A送入P1LCALL DELAY ;延時SETB P2.0 ;啟動P2.0口MOV A,B ;B值送入A CLR P2.1 ;P2.1口清0MOVC A,A+DPTR ;查表MOV P1,A ;將A送入P1LCALL DELAY ;延時SETB P2.1 ;啟動P2.0口RETINT_T0:MOV TH0,#3CH ;置定時器初值 MOV TL0,#0B0H INC TCNT ;TCNT加1 MOV A,TCNT ;將TCNT送入

12、A CJNE A,#20,NEXT ;A是否已經20次,不是跳到NEXT INC SECOND ;SECOND 加1 MOV TCNT,#00H ;TCNT清0 MOV A,SECOND ;將SECOND 送入A CJNE A,#60,NEXT ;A是否等于60,不是跳到NEXT MOV SECOND,#00H ;SECOND清0 NEXT:RETIDELAY:MOV R6,#20 ;延時D1: MOV R7,#28DJNZ R7,$DJNZ R6,D1RETTABLE:DB 3FH,06H,5BH,4FH,66H DB 6DH,7DH,07H,7FH,6FH RET END 增加按鍵控制,實

13、現秒表的啟動、停止、清零功能。 SECOND EQU 30H ;SECOND=30H TCNT EQU 34H ;TCNT= 34H ORG 0000H LJMP START ;開始 ORG 0003H AJMP KE1 ;跳轉KE1 ORG 000BH ;T0中斷路口地 LJMP INT_T0 ;轉向中斷服務子程序 ORG 0013H AJMP KEO ;跳轉KEO ORG 001BH AJMP KE2 ;跳轉KE2START:MOV DPTR,#TABLE ;表的地址存入DPTR MOV SECOND,#0 ;標志位清0 MOV TCNT,#0 ;中斷次數清0 MOV TMOD,#61H

14、;計數器,方式1 MOV TH0,#3CH ;置定時器初值 MOV TL0,#0B0H MOV TH1,#0FFH ;置計數器初值 MOV TL1,#0FFH MOV IE,#8FH ;開中斷 SETB TR1 ;啟動計數器L1: LCALL DISPLAY ;調用延時 SJMP L1 ;跳轉L1DISPLAY:MOV A,SECOND ;將標志位放入A MOV B,#10 ;B:顯示碼的個數 DIV AB ;A除以B,除數為A,余數為B CLR P2.0 ;P2.0口清0 MOVC A,A+DPTR ;查表 MOV P1,A ;將A送入P1 LCALL DELAY ;延時 SETB P2.0

15、 ;啟動P2.0口 MOV A,B ;B值送入A CLR P2.1 ;P2.1口清0 MOVC A,A+DPTR ;查表 MOV P1,A ;將A送入P1 LCALL DELAY ;延時 SETB P2.1 ;啟動P2.0口 RETKEO:SETB TR0 ;啟動定時器 RETIKE1:CLR TR0 ;將定時器清0 RETIKE2:MOV SECOND, 00H ;將SECOND清0 RETIINT_T0:MOV TH0,#3CH ;置定時器初值 MOV TL0,#0B0H INC TCNT ;TCNT加1 MOV A,TCNT ;將TCNT送入A CJNE A,#20,NEXT ;A是否已

16、經20次,不是跳到NEXT INC SECOND ;SECOND 加1 MOV TCNT,#00H ;TCNT清0 MOV A,SECOND ;將SECOND 送入A CJNE A,#60,NEXT ;A是否等于60,不是跳到NEXT MOV SECOND,#00H ;SECOND清0 NEXT: RETIDELAY:MOV R6,#20 ;延時D1: MOV R7,#248 DJNZ R7,$ DJNZ R6,D1 RETTABLE:DB 3FH,06H,5BH,4FH,66H,6DH DB 7DH,07H,7FH,6FH RET END用單片機控制6位數碼管顯示時鐘的時、分、秒 ,設計電子

17、鐘SECOND EQU 30H ;SECOND=30H MINUTE EQU 31H ; MINUTE= 31H HOUR EQU 32H ;HOUR=32H TCNT EQU 34H ;TCNT= 34H ORG 0000H LJMP START ;開始 ORG 000BH ;T0中斷路口地 LJMP INT_T0 ;轉向中斷服務子程序 ORG 0010HSTART:MOV DPTR,#TABLE ;表的地址存入DPTR MOV HOUR,#0 ; HOUR清0 MOV MINUTE,#0 ; MINUTE清0 MOV SECOND,#0 ;SECOND清0 MOV TCNT,#0 ; TC

18、NT清0 MOV TMOD,#01H ;定時器,方式1 MOV TH0,#3CH ;置定時器初值 MOV TL0,#0B0H MOV IE,#82H ;開中斷 SETB TR0 ;啟動定時器L1: LCALL DISPLAY ;調用延時 SJMP L1 ;跳轉L1DISPLAY:MOV A,SECOND ;將標志位放入A MOV B,#10 ;B:顯示碼的個數 DIV AB ;A除以B,除數為A,余數為B CLR P3.6 ;將P3.6清0 MOVC A,A+DPTR ;查表 MOV P0,A ;A放入P0口顯示 LCALL DELAY ;延時 SETB P3.6 ;啟動P3.6 MOV A,

19、B ;B值送入A CLR P3.7 ;將P3.7清0 MOVC A,A+DPTR ;查表 MOV P0,A ;A放入P0口顯示 LCALL DELAY ;延時 SETB P3.7 ;啟動P3.7 CLR P3.5 ;將P3.5清0 MOV P0,#40H ; P0顯示“-” LCALL DELAY ;延時 SETB P3.5 ;啟動P3.7 MOV A,MINUTE ;將MINUTE放入A MOV B,#10 ;B:顯示碼的個數 DIV AB ;A除以B,除數為A,余數為B CLR P3.3 ;將P3.3清0 MOVC A,A+DPTR ;查表 MOV P0,A ;A放入P0口顯示 LCALL

20、 DELAY ;延時 SETB P3.3 ;啟動P3.3 MOV A,B ;B值送入A CLR P3.4 ;將P3.4清0 MOVC A,A+DPTR ;查表 MOV P0,A ;A放入P0口顯示 LCALL DELAY ;延時 SETB P3.4 ;啟動P3.4 CLR P3.2 ;將P3.2清0 MOV P0,#40H ; P0顯示“-” LCALL DELAY ;延時 SETB P3.2 ;啟動P3.2 MOV A,HOUR ;將HOUR放入A MOV B,#10 ;B:顯示碼的個數 DIV AB ;A除以B,除數為A,余數為B CLR P3.0 ;將P3.0清0 MOVC A,A+DPTR ;查表 MOV P0,A ;A放入P0口顯示 LCALL DELAY ;延時 SETB P3.0 ;啟動P3.0 MOV A,B ;B值送入A CLR P3.1 ;將P3.1清0 MOVC A,A+DPTR ;查表 MOV P0,A ;A放入P0口顯示 LCALL DELAY ;延時 SETB P3.1 ;啟動P3.1 RETINT_T0:MOV TH0,#3CH ;置定時器初值 MOV TL0,#0B0H INC TCNT ;TCNT加1 MOV A,TCNT ;將TCNT送入A CJNE A,#20,NEXT ;A是否已經20次,不是跳到NEXT INC S

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論