超炫電子表設(shè)計實現(xiàn)_第1頁
超炫電子表設(shè)計實現(xiàn)_第2頁
超炫電子表設(shè)計實現(xiàn)_第3頁
超炫電子表設(shè)計實現(xiàn)_第4頁
超炫電子表設(shè)計實現(xiàn)_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、 超炫電子表設(shè)計實現(xiàn) 學(xué)號:1206034203 姓名: 唐穎 一、任務(wù)要求:本課題要求以單片機為核心設(shè)計一個多功能電子表,具有電子時鐘、時鐘設(shè)置和跑表功能。做時鐘時在6位LED 顯示器上顯示時、分、秒,做跑表時顯示范圍000.0秒999.9秒,并具有時鐘啟動、時鐘停止、跑表啟動、跑表復(fù)位、時鐘調(diào)整功能鍵。要求焊接好開發(fā)板,在開發(fā)板上進行調(diào)試二、系統(tǒng)設(shè)計:1,分析任務(wù)要求,系統(tǒng)整體設(shè)計思路。電子表的電路由多個部分組成,如控制按鍵的輸入電路,單片機的時鐘電路,復(fù)位電路,LED顯示器段碼驅(qū)動電路,LED顯示器位碼驅(qū)動電路,顯示器電路和跑表時鐘電路組成。然后通過對以上電路的產(chǎn)生和調(diào)整設(shè)計出

2、總的電路框圖。利用52單片機的P2口作為控制單片機跑表開始,暫停,清零,返回的輸入端。P3作為控制LED的顯示時鐘的調(diào)節(jié)時間控制信號輸入端。P0,P1控制LED動態(tài)顯示選擇控制端控制六個LED的顯示時間和顯示順序。定時器T0定時50ms。T1定時10ms,37H-39H保存時鐘的變化量。41H-43H保存秒表的變化量。其中為了方便顯示,每個變量對應(yīng)兩個單元,以便將變量拆開成兩個十進制的數(shù)方便顯示。 2、 單片機的選擇 本系統(tǒng)采用AT89C52單片機、6位數(shù)碼管顯示(不帶譯碼器)和7個、鍵盤鍵盤操作(分別為功能鍵,加一鍵,減一鍵,返回鍵,開始鍵,暫停鍵,清零鍵)作為調(diào)節(jié)時間的按鈕構(gòu)成一個單片機多

3、功能時鐘的硬件。此外包括一些必須的晶振電路和復(fù)位電路,是一個多功能時鐘,具有時間顯示功能和跑表功能,數(shù)碼管顯示時間,通過三個按鈕對時間進行調(diào)整,按鍵1為時分秒控制按鈕,2、3為加減調(diào)節(jié)按鈕。(1) 計數(shù)單元由單片機內(nèi)部定時器/計數(shù)器T0來實現(xiàn)。 (2) 時間顯示功能通過LED數(shù)碼管動態(tài)掃描來實現(xiàn),其中P0口控制數(shù)碼管的斷選信號,P1口的低六位控制數(shù)碼管的六個片選信號。(3) 時間調(diào)整通過接入鍵盤來實現(xiàn)。 3電子表系統(tǒng)結(jié)構(gòu)框圖所示 按鍵電路 單 LED 片 顯示 時鐘電路 機 復(fù)位電路 跑表電路對定時器T0一個50ms的定時時間,軟件計數(shù)功能的單元地址R2為20,當(dāng)R2減到0是秒加一。當(dāng)秒、分值

4、為60時改位清零,且高位加一。當(dāng)時的值達到24時,顯示全部為0,然后進入新的一天。該系統(tǒng)是通過P2控制時分秒位的選擇,通過P0口實現(xiàn)時分秒的顯示。時分秒的調(diào)節(jié)由外接鍵盤的上三個按鈕控制,按一下調(diào)秒、兩下調(diào)分、三下調(diào)時、按四下返回。對于定時器T1設(shè)定一個10ms的定時時間,當(dāng)進入一次中斷時,秒表最后一位的數(shù)字加一。在秒表的子程序中加入按鍵檢測程序,保證在跑表運行的過程中能隨時的響應(yīng)外部按鍵的信號進行相關(guān)的操作。跑表變量儲存在41H-43H的單元中,變化后,經(jīng)過數(shù)據(jù)處理,經(jīng)顯示程序顯示。三、單片機硬件電路原理圖1、總體設(shè)計圖2. 按鍵結(jié)構(gòu)按鍵采用的是7個獨立按鍵,首先得按動接在P2.3口的返回鍵,

5、即進入系統(tǒng),顯示器顯示6個0,接著按下接在P2.0口的開始鍵,使系統(tǒng)開始運行,P2.1口的是接的秒表的復(fù)位清零,P2.2口接得是秒表的暫停,鍵盤1功能切換鍵是接在P3.2上的,按下1鍵進入調(diào)秒狀態(tài)每按下P3.0接得2鍵秒鐘加一,每按下P3.1接得3鍵秒鐘減一;按兩下鍵盤1鍵進入調(diào)分狀態(tài),每按下2鍵分鐘加一,每按下3鍵分鐘減一;按三下鍵盤1鍵進入調(diào)時狀態(tài),每按下2鍵時鐘加一,每按下3鍵時鐘減一;按四下鍵盤1鍵返回計數(shù)狀態(tài)。3.調(diào)節(jié)電路4.顯示電路時鐘電路5、跑表電路6、單片機部分四、設(shè)計流程圖與主要程序 1.1 主程序流程圖 程序開始 初始化定時器,開中斷 調(diào)用顯示程序 N 判斷有無鍵按下 Y

6、調(diào)用按鍵調(diào)節(jié)子程序 1.2顯示程序流程圖 R1指向數(shù)據(jù)首址掃描控制字初值放入R5 掃描控制字送到p2口 取段碼表地址查顯示數(shù)據(jù)對應(yīng)段碼送P0口 延遲1ms字程序 控制字循環(huán)右移 四位循環(huán)顯示是否結(jié)束 N Y 子程序返回2.程序部分MIAOL EQU 30H;存放時間的變量分別為秒鐘秒鐘個位,十位MIAOH EQU 31HFENL EQU 32HFENH EQU 33HSHIL EQU 34HSHIH EQU 35HSHI EQU 39H ;存放10進制的時鐘信息FEN EQU 38HMIAO EQU 37HFUC EQU 36H ;功能鍵按鍵計數(shù)器,記錄功能鍵按下的次數(shù)FANHUI1 BIT

7、P2.0START BIT P2.1;跑表計時開始STOP BIT P2.2;跑表計時停止CLEAR BIT P2.3 ;跑表清零SECOND1 EQU 41H ;保存跑表變量SECOND2 EQU 42HFENG EQU 43HSECOND1L EQU 44HFENGL EQU 48HSECOND2L EQU 46HSECOND1H EQU 45HFENGH EQU 49HSECOND2H EQU 47HORG 0000HSJMP MAINORG 000BHLJMP TIME0ORG 001BHLJMP TIME1ORG 0030HINIT: MOV TMOD,#11H ;選定時器0方式1

8、MOV TH0,#3CH ;置初值MOV TL0,#0B0H ;MOV TH1,#0D8H ;置初值(10MS)0.01S MOV TL1,#0F0H ; MOV R2,#20 ;1秒時間50msX20 SETB ET0 ;開定時器0中斷 SETB ET1SETB EA ;開中中斷 SETB TR0 ;啟動定時器0 MOV P3,#0ffh ;讀鍵值,初始化 MOV P2,#0ffh RETMAIN: ACALL INIT ;調(diào)用初始化函數(shù)A1: MOV DPTR,#TAB ;查表初值A(chǔ)CALL KEYSCAN MOV A,P2 JNB FANHUI1 ,FANHUI JNB START, S

9、EC_WATCH;判斷是否是跑表計時開始 JNB STOP,STOP_WATCH JNB CLEAR,CLEAR_WATCHSJMP A1 ;判斷設(shè)置時鐘時LJMP A1FANHUI : ACALL KEYSCAN ACALLDISP ACALL CHULI CLR TR1 JNB START,SEC_WATCH ;判斷是否是跑表計時開始 JNB STOP,STOP_WATCH JNB CLEAR,CLEAR_WATCH SJMP FANHUISEC_WATCH: MOV DPTR,#TAB ACALL DELAY ACALL DISP1 ACALL CHULI1 SETB TR1 MOVSE

10、COND1,#00 MOVSECOND2,#00 A3: LCALL DISP1 LCALL CHULI1 JNB CLEAR,CLEAR_WATCHJNB STOP,STOP_WATCH JNB FANHUI1,FANHUI JNB START, SEC_WATCH AJMP A3 CLEAR_WATCH: MOV SECOND1,#00 MOV SECOND2,#00 LCALL CHULI1 ACALL DISP1LCALL DELAY AJMP A3STOP_WATCH: CLR TR1LCALL CHULI1 ACALL DISP1 SJMP A3KEYSCAN: MOV A,P3;

11、讀取按鍵 ANL A,#07H; CJNE A,#07H,K0;判斷是否按鍵 RETK0: ACALL DELAY;有按鍵延時去抖動MOV A,P3ANL A,#07HCJNE A,#07H,K1;RET;是抖動返回K1:MOV R3,A;不是抖動,存按鍵K2:MOV A,P3;ANL A,#07H;CJNE A,#07H,K2;等待松開按鍵MOV A,R3;CJNE A,#06H,K3;鍵值讀取看是否是P3.1被按下,加1按鍵SJMP KEY1;K3: CJNE A,#05H,KEY3 ; 看是否是P3.2被按下,減1按鍵SJMP KEY2 ;KEY3: INC FUC;不是加1也不是減1就

12、是功能鍵P3.0,被按下,功能鍵按下次數(shù)加1 CLR TR0 ;按下功能見后進入調(diào)整時間模式,關(guān)閉定時器 MOV A,FUC ;讀取功能鍵按下次數(shù) CJNE A,#4,RETT ;如果按下四次了,就恢復(fù)時間模式SETB TR0 ;打開定時器MOV TH0,#3CH ; MOV TL0,#0B0H ;MOV FUC,#0 ;計數(shù)器清0SJMP RETT ;KEY1: ACALL ADD1 ;如果是加1按鍵,調(diào)用加1函數(shù) SJMP RETT ;KEY2: ACALL SUB1 ;如果是減1按鍵,調(diào)用減1函數(shù)RETT: RET、CHULI1:MOV R1,#44H ;將十進制的時間個十位分開 MOV

13、 R0,#41H ; MOV R3,#3 ;K4: MOV A,R0 ;取時間MOV B,#10 ;分離個十為DIV AB ;MOV R1,B ;個位保存在以L(SHIL FENL MIAO L)結(jié)尾的時間變量中INC R1 ;MOV R1,A ;INC R1 ;INC R0 ;DJNZ R3,K4 ;MOV A,FENG ;時信息更新,保證不大于23CJNE A,#60,RET5 ;MOV FENG,#0 ;RET5:RET ;CHULI: MOV R1,#30H; MOV R0,#37H ; MOV R3,#3 ;K5: MOV A,R0 ;MOV B,#10 ;DIV AB ;MOV R

14、1,B ;INC R1 ;MOV R1,A ;INC R1 ;INC R0 ;DJNZ R3,K4 ;MOV A,SHI ;CJNE A,#24,RET4 ;MOV SHI,#0 ;RET4:RETADD1:MOV A,FUC ; CJNE A,#3,AD0 ; MOV R0,#39H ;時存放的地址 MOV A,R0 ;取時,看是否滿23 CJNE A,#23,AD1 ; MOV R0,#0 ; 如果滿了23,就清0 SJMP RET0AD0: MOV A,#36H ;不是給時加1 ADD A,FUC ; MOV R0,A ;取出要加數(shù)的地址 MOV A,R0 ; CJNE A,#59,AD

15、1; 是否加到59了 MOV R0,#0; 加到了59就清0 SJMP RET0AD1: INC R0;時沒有加到23,其他的沒有加到59時,加1RET0:RETSUB1:MOV A,FUC CJNE A,#3,SU0 MOV R0,#39H MOV A,R0 CJNE A,#0,SU1 MOV R0,#23 SJMP RET1SU0: MOV A,#36H ADD A,FUC MOV R0,A MOV A,R0 CJNE A,#0,SU1 MOV R0,#59 SJMP RET1SU1: DEC R0RET1:RETDISP: MOV R3,#20DI0: MOV R0,#35H MOV R

16、4,#6 MOV R5,#01HDI1: MOV A,R0 MOVC A,A+DPTR MOV P0,A MOV A,R5 MOV P1,A RL A MOV R5,A DEC R0 ACALL DELAY MOV P1,#00H DJNZ R4,DI1 DJNZ R3,DI0 RETDISP1:MOV R3,#5DI01: MOV R0,#49H MOV R4,#6 MOV R5,#01HDI11: MOV A,R0 MOVC A,A+DPTR MOV P0,A MOV A,R5 MOV P1,A RL A MOV R5,A DEC R0 ACALL DELAY MOV P1,#00H DJ

17、NZ R4,DI11 DJNZ R3,DI01 RET TIME1: MOV TH1,#0D8H ;置初值(10MS)0.01S MOV TL1,#0F0H INC SECOND1 ; MOV A, SECOND1 ; CJNE A,#100,RET2 ;看是否滿100個10ms MOV SECOND1 ,#0 ;滿100個秒,秒清0 INC SECOND2 ;秒加1 MOV A, SECOND2 ;是否滿60秒 CJNE A,#60,RET2 ; MOV SECOND2,#0 INC FENG MOV A,FENG ;分鐘加1 RET2: RETITIME0:MOV TH0,#3CH MOV

18、 TL0,#0B0H ;重置初值 DJNZ R2,RET3 ;是否滿1秒 MOV R2,#20 ;秒鐘加1 INC MIAO ; MOV A,MIAO ; CJNE A,#60,RET3 ;看是否滿60秒 MOV MIAO ,#0 ;滿60秒,秒清0 INC FEN ;分鐘加1 MOV A,FEN ;是否滿60分 CJNE A,#60,RET3 ; MOV FEN,#0 ;滿60分 INC SHI ;時鐘加1 MOV A,SHI ; CJNE A,#24,RET3 ;時鐘是否滿24 MOV SHI,#0 ;滿24,時鐘清0RET3: RETIDELAY:MOV R6,#5D0: MOV R7,#245 DJNZ R7,$ DJNZ R6,D0 RETTAB:DB 0c0H,0f9H,0a4H,0b0H,99H,92H,82H,0f8H,80HDB 90H,88H,83H,0c6H,0a1H,86H,8eH,0ffH ;共陽編碼表心得體會這次課程設(shè)計讓我學(xué)會了很多東西,任何書本上

溫馨提示

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

評論

0/150

提交評論