版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、摘 要電子鐘在生活中應(yīng)用非常廣泛,而一種簡(jiǎn)單方便的數(shù)字電子鐘則更能受到人們的歡迎。所以設(shè)計(jì)一個(gè)簡(jiǎn)易數(shù)字電子鐘很有必要。本電子鐘采用ATMEL公司的AT89S52單片機(jī)為核心,使用12MHz 晶振與單片機(jī)AT89S52 相連接,通過(guò)軟件編程的方法實(shí)現(xiàn)以24小時(shí)為一個(gè)周期,同時(shí)8位7段LED數(shù)碼管(兩個(gè)四位一體數(shù)碼管)顯示小時(shí)、分鐘和秒的要求,并在計(jì)時(shí)過(guò)程中具有定時(shí)功能,當(dāng)時(shí)間到達(dá)提前定好的時(shí)間進(jìn)行蜂鳴報(bào)時(shí)。該電子鐘設(shè)有四個(gè)按鍵S1、S2、S3和S4鍵,進(jìn)行相應(yīng)的操作就可實(shí)現(xiàn)校時(shí)、定時(shí)、復(fù)位功能。具有時(shí)間顯示、整點(diǎn)報(bào)時(shí)、校正等功能。走時(shí)準(zhǔn)確、顯示直觀、運(yùn)行穩(wěn)定等優(yōu)點(diǎn)。具有極高的推廣應(yīng)用價(jià)值。關(guān)鍵詞
2、 電子鐘;AT89S52;硬件設(shè)計(jì);軟件設(shè)計(jì)ABSTRACTClock is widely used in life, and a simple digital clock is more welcomed by people. So to design a simple digital electronic clock is necessary.The system use a single chip AT89S52 of ATMELs as its core to control The crystal oscillator clock,using of E-12MHz is connec
3、ted with the microcontroller AT89S52, through the software programming method to achieve a 24-hour cycle, and eight 7-segment LED digital tube (two four in one digital tube) displays hours, minutes and seconds requirements, and in the time course of a timing function, when the time arrived ahead of
4、scheduled time to buzz a good timekeeping. The clock has four buttons S1, S2, S3 and S4 key, and make the appropriate action can be achieved when the school, timing, reset. With a time display, alarm clock settings, timer function, corrective action. Accurate travel time, display and intuitive, prec
5、ision, stability, and so on. With a high application value.Key words electronic clock;AT89S52;hardware design;software designI目 錄1 設(shè)計(jì)課題任務(wù)、功能要求說(shuō)明及方案介紹11.1 設(shè)計(jì)課題任務(wù) 11.2 功能要求說(shuō)明 11.3 設(shè)計(jì)總體方案介紹及原理說(shuō)明 1 2 設(shè)計(jì)課題硬件系統(tǒng)的設(shè)計(jì) 22.1 設(shè)計(jì)課題硬件系統(tǒng)各模塊功能簡(jiǎn)要介紹 22.2 設(shè)計(jì)課題電路原理圖、PCB圖、元器件布局圖22.3 設(shè)計(jì)課題元器件清單 7 3 設(shè)計(jì)課題軟件系統(tǒng)的設(shè)計(jì)83.1 設(shè)計(jì)課題使用單片
6、機(jī)資源的情況 83.2 設(shè)計(jì)課題軟件系統(tǒng)各模塊功能簡(jiǎn)要介紹 83.3 設(shè)計(jì)課題軟件系統(tǒng)程序流程框圖 83.4 設(shè)計(jì)課題軟件系統(tǒng)程序清單12 4 設(shè)計(jì)結(jié)論、仿真結(jié)果、誤差分析、教學(xué)建議 234.1 設(shè)計(jì)課題的設(shè)計(jì)結(jié)論及使用說(shuō)明234.2 設(shè)計(jì)課題的仿真結(jié)果234.3 設(shè)計(jì)課題的誤差分析244.4 設(shè)計(jì)體會(huì)244.5 教學(xué)建議24 參考文獻(xiàn) 26 致 謝 27 附 錄 28II1 設(shè)計(jì)課題任務(wù)、功能要求說(shuō)明及方案介紹1.1 設(shè)計(jì)課題任務(wù)設(shè)計(jì)一個(gè)具有特定功能的電子鐘。具有時(shí)間顯示、報(bào)時(shí)等功能。并有時(shí)間設(shè)定,時(shí)間調(diào)整功能。1.2 功能要求說(shuō)明設(shè)計(jì)一個(gè)具有特定功能的電子鐘。該電子鐘上電或按鍵復(fù)位后能自動(dòng)
7、顯示系統(tǒng)提示符“P.”, 進(jìn)入時(shí)鐘準(zhǔn)備狀態(tài);第一次按電子鐘啟動(dòng)/調(diào)整鍵,電子鐘從0時(shí)0分0秒開(kāi)始運(yùn)行,進(jìn)入時(shí)鐘運(yùn)行狀態(tài);再次按電子鐘啟動(dòng)/調(diào)整鍵,則電子鐘進(jìn)入時(shí)鐘調(diào)整狀態(tài),此時(shí)可利用各調(diào)整鍵調(diào)整時(shí)間,調(diào)整結(jié)束后可按啟動(dòng)/調(diào)整鍵再次進(jìn)入時(shí)鐘運(yùn)行狀態(tài)。1.3 設(shè)計(jì)課題總體方案介紹及工作原理說(shuō)明本電子鐘主要由單片機(jī)、4*1獨(dú)立鍵盤、顯示接口電路和復(fù)位電路構(gòu)成,設(shè)計(jì)課題的總體方案如圖1.1所示:圖1.1 總體設(shè)計(jì)方案圖本電子鐘的所有的軟件、參數(shù)均存放在AT89S52的Flash ROM和內(nèi)部RAM中,減少了芯片的使用數(shù)量簡(jiǎn)化了整體電路也降低了整機(jī)的工作電流。鍵盤采用動(dòng)態(tài)掃描方式。利用單片機(jī)定時(shí)器及計(jì)數(shù)
8、器產(chǎn)生定時(shí)效果通過(guò)編程形成數(shù)字鐘效果,再利用數(shù)碼管動(dòng)態(tài)掃描顯示單片機(jī)內(nèi)部處理的數(shù)據(jù),同時(shí)通過(guò)端口讀入當(dāng)前外部控制狀態(tài)來(lái)改變程序的不同狀態(tài),實(shí)現(xiàn)不同功能。12 設(shè)計(jì)課題硬件系統(tǒng)的設(shè)計(jì)2.1 設(shè)計(jì)課題硬件系統(tǒng)各模塊功能簡(jiǎn)要介紹本設(shè)計(jì)的硬件系統(tǒng)主要采用以下基本模塊來(lái)實(shí)現(xiàn),單片機(jī)最小系統(tǒng)模塊,輸入模塊、輸出模塊、電源模塊。(1)單片機(jī)最小系統(tǒng)模塊:包括低功耗、高性能CMOS8位微控制器AT89S52;復(fù)位電路;晶振電路。本本模塊AT89S52系統(tǒng)控制核心,單片機(jī)系統(tǒng)復(fù)位由復(fù)位電路完成,單片機(jī)內(nèi)部有一個(gè)高增益、反相放大器,其輸入端為芯片引腳XTAL1,其輸出端位位引腳XTAL2。通過(guò)這兩個(gè)引腳在芯片外并
9、接石英晶體振蕩器和兩只電容。這樣就構(gòu)成一個(gè)穩(wěn)定的自激振蕩器。(2)輸入模塊:本模塊共用到了5個(gè)按鍵,1個(gè)電源開(kāi)關(guān),1個(gè)復(fù)位鍵,單片機(jī)運(yùn)行期間,利用按鍵完成復(fù)位操作。3個(gè)按鍵獨(dú)立式鍵盤,S1鍵控制電子鐘的啟動(dòng)調(diào)整狀態(tài),S2鍵為加1鍵,S3鍵為減1鍵。且S1、S2、S3任一鍵都獨(dú)自連一個(gè)I/O(P1.0、P1.1、P1.2)口線,說(shuō)明它們可以獨(dú)立實(shí)現(xiàn)相應(yīng)的電子鐘功能。(3)輸出模塊:本次設(shè)計(jì)顯示為8位,采用兩個(gè)四位一體數(shù)碼管(共陽(yáng)極)作為顯示窗口,既可以節(jié)約成本又能簡(jiǎn)化電路。數(shù)碼管用8個(gè)PNP三極管驅(qū)動(dòng)。(4)電源模塊:現(xiàn)在市面上銷售的編程器有很多都是由PC機(jī)的USB口直接供電為了降低本設(shè)計(jì)的成本
10、及節(jié)省設(shè)計(jì)時(shí)間,沒(méi)有另外設(shè)計(jì)編程器,而直接購(gòu)買了市場(chǎng)上的USB供電及下載器。2.2 設(shè)計(jì)課題電路原理圖、PCB圖、元器件布局圖電路原理圖見(jiàn)圖2.1,PCB圖見(jiàn)圖2.2和圖2.3,,元器件布局圖見(jiàn)圖2.4。2圖2.1 電路原理圖 3圖2.2 PCB頂層圖圖2.3 PCB底層圖4圖2.4 元器件布局圖 52.3 設(shè)計(jì)課題元器件清單設(shè)計(jì)課題元器件清單如表2.1所示。表2.1 設(shè)計(jì)所用元器件清單63 設(shè)計(jì)課題軟件系統(tǒng)的設(shè)計(jì)3.1 設(shè)計(jì)課題使用單片機(jī)資源的情況設(shè)計(jì)課題使用單片機(jī)資源的情況如下:P0口輸出數(shù)碼管段選信號(hào),P3口輸出數(shù)碼管位選信號(hào);晶振12MHz;調(diào)整選擇鍵SET_KEY:P1.0;通過(guò)選擇
11、鍵選擇調(diào)整位,選中位閃爍;增加鍵ADD_KEY:P1.1;按一次使選中位加1;減少鍵DEC_KEY:P1.2;按一次使選中位減1;P2.1為蜂鳴器發(fā)聲報(bào)時(shí);50H-5FH;16個(gè)寄存器單元作為顯示單元;50H 用于控制秒基準(zhǔn)時(shí)鐘源的產(chǎn)生;51H 清零秒寄存器;52H 清零分寄存器;53H 清零時(shí)寄存器;5FH 用于秒個(gè)位;5EH 用于秒十位;5DH 用于分個(gè)位;5CH 用于分十位;5BH 用于時(shí)個(gè)位;5AH 用于時(shí)十位;54H 用于控制調(diào)時(shí)閃爍;堆棧棧底:70H。3.2 設(shè)計(jì)課題軟件系統(tǒng)個(gè)模塊功能簡(jiǎn)要介紹本設(shè)計(jì)的軟件系統(tǒng)主要采用以下基本模塊來(lái)實(shí)現(xiàn),主程序、中斷服務(wù)程序、鍵盤輸入程序模塊、數(shù)碼管
12、及其驅(qū)動(dòng)模塊和延時(shí)模塊。主程序:主要是用于對(duì)輸入信號(hào)的處理、輸出信號(hào)的控制和對(duì)各個(gè)功能程序模塊的運(yùn)用及其控制。中斷服務(wù)程序:主要是用于電子鐘的準(zhǔn)確運(yùn)行、數(shù)據(jù)輸入過(guò)程中的閃爍。鍵盤輸入程序模塊:主要是用于確定按鍵并得到特定的鍵碼值。數(shù)碼管及其驅(qū)動(dòng)模塊:主要是用于驅(qū)動(dòng)數(shù)碼管及利用數(shù)碼管顯示時(shí)間。延時(shí)模塊:程序中有兩種延時(shí)子程序,一種是短延時(shí)用于判鍵按下等,一種是長(zhǎng)延時(shí)。3.3 設(shè)計(jì)課題軟件系統(tǒng)程序流程框圖系統(tǒng)軟件采用匯編語(yǔ)言按模塊化方式進(jìn)行設(shè)計(jì),然后通過(guò)Keil軟件開(kāi)發(fā)平臺(tái)將程 序轉(zhuǎn)變成十六進(jìn)制程序語(yǔ)言,接著使用Proteous 進(jìn)行仿真,讀出顯示數(shù)據(jù)。主程序流程框圖如3.1所示;加1子程序如3.
13、2所示;中斷服務(wù)程序程序如3.3所示;鍵盤掃描子程序框圖如3.4所示;顯示子程序框圖如3.5所示;7圖3.1 主程序流程框圖圖3.2 加1子程序流程框圖8圖3.3 中斷子程序流程框圖9圖3.4 鍵盤掃描子程序流程框圖圖3.5 顯示子程序流程框圖103.4設(shè)計(jì)課題軟件系統(tǒng)程序清單;- ;本電子鐘實(shí)現(xiàn)24小時(shí)制,8位數(shù)碼管顯示時(shí)分秒,可整點(diǎn)報(bào)時(shí);顯示格式:00-00-00(設(shè)置小時(shí)十位為0時(shí),不顯示);通過(guò)3只按鍵來(lái)調(diào)整時(shí)間;調(diào)整選擇鍵SET_KEY:P1.0;通過(guò)選擇鍵選擇調(diào)整位,選中位閃爍;增加鍵ADD_KEY:P1.1;按一次使選中位加1;減少鍵DEC_KEY:P1.2;按一次使選中位減1;
14、如果長(zhǎng)按ADD_KEY或DEC_KEY,可進(jìn)行調(diào)時(shí)、調(diào)分快進(jìn)快減,并停止閃爍;如果選中位是秒,則按增加鍵或減少鍵可實(shí)現(xiàn),但無(wú)調(diào)時(shí)快進(jìn)和快減功能;P0口輸出數(shù)碼管段選信號(hào),P2口輸出數(shù)碼管位選信號(hào);晶振12MHz;P3.1為蜂鳴器發(fā)聲報(bào)時(shí);編程人:宋貴 編寫(xiě)日期:2010年12月28日 修改日期(最終):2010年12月31日 ;- ;-;程序入口;-ORG 0000H ;程序入口地址LJMP STARTORG 000BH ;定時(shí)器0中斷入口地址LJMP TIMET0ORG;顯P.程序;功能:可以在8個(gè)數(shù)碼閃爍移位進(jìn)行屏保;-START: MOV R6, #2TT: MOV P2, AMOV P
15、0, #0CH ;段碼"P."LCALL DELAYMOV P2, #0FFHDJNZ R6, TT11 1000H ;- ;閃爍次數(shù) MOV A, #0FEH ;位選LCALL DELAYLCALL DELAY1RR AJB P1.0,LCALL DELAYJNB P1.0, TT ;鍵是否按下,沒(méi)按下則轉(zhuǎn)移 ;延時(shí)去抖 KAI ;再次判斷鍵是否按下KAI: SETB P1.0CLR A ;MOV P0, #0FFHLCALL DELAY1SETB 48H ;SETB 47H ;MOV R1, #0 ;3調(diào)秒;-;清16位寄存器及初始化;50H 用于控制秒基準(zhǔn)時(shí)鐘源的產(chǎn)生
16、;51H 清零秒寄存器;52H 清零分寄存器;53H 清零時(shí)寄存器;5FH 用于秒個(gè)位;5EH 用于秒十位;5DH 用于分個(gè)位;5CH 用于分十位;5BH 用于時(shí)個(gè)位;5AH 用于時(shí)十位;54H 用于控制調(diào)時(shí)閃爍;-MOV R0, #50H ;MOV R6, #10HCLEARJCQ:MOV R0, #00H ;INC R0DJNZ R6, CLEARJCQMOV IP, #02HSETB EASETB ET0狀態(tài)恢復(fù) 用于調(diào)時(shí)閃爍標(biāo)志 用于產(chǎn)生脈沖用于調(diào)時(shí)快進(jìn)的脈沖 鍵功能標(biāo)志:0計(jì)時(shí)、1調(diào)時(shí)、2調(diào)分、初始化 清寄存器 12MOV TMOD, #01H ;設(shè)定定時(shí)器0工作方式1 MOV TH
17、0, #3CHMOV TL0, #0B0H ;賦定時(shí)初值,定時(shí)50ms SETB TR0 ;啟動(dòng)定時(shí)器0MOV SP, #70H ;堆棧;-;主程序;-MAIN: LCALL DISPLAYLCALL KEY_SCANJZ MAINLCALL SET_KEYJB 46H, MAIN ;調(diào)整LCALL ADD_KEYLCALL DEC_KEYLJMP MAIN;-; 顯示處理程序;-DISPLAY:MOV A, 51HANL A, #0FHMOV 5FH, A ;MOV A, 51HANL A, #0F0HSWAP AMOV 5EH, A ;JB 46H, MIN ;CJNE R1, #3,MI
18、N ;JB 48H, MINMOV 5FH, #0AH ;MOV 5EH, #0AHMIN: MOV A, 52HANL A, #0FH如果已進(jìn)行調(diào)時(shí)快進(jìn),則不再執(zhí)行下面的 ;調(diào)用增加鍵處理子程序,加一 ;調(diào)用減少鍵處理子程序,減一 ;重新循環(huán) 轉(zhuǎn)換出秒個(gè)位,存入5FH 轉(zhuǎn)換出秒十位,存入5EH 如果調(diào)時(shí)快進(jìn),則跳過(guò)閃爍處理程序 如果R1為3,閃爍秒位待調(diào)整 使該位為10,查表得到使該位不顯示 13MOV 5DH, A ;轉(zhuǎn)換出分個(gè)位,存入5DH MOV A, 52HANL A, #0F0HSWAP AMOV 5CH, A ;轉(zhuǎn)換出分十位,存入5CH JB 46H, HOURCJNE R1,
19、#2,HOUR ;JB 48H, HOURMOV 5DH, #0AHMOV 5CH, #0AHHOUR: MOV A, 53HANL A, #0FHMOV 5BH, A ;MOV A, 53HANL A, #0F0HSWAP AMOV 5AH, A ;JB 46H, DISPCJNE R1, #1,DISP ;JB 48H, DISPMOV 5BH, #0AH ;MOV 5AH, #0AH;-;數(shù)碼管動(dòng)態(tài)掃描顯示;-DISP: MOV DPTR, #TABLEMOV A, 5FHMOVC A, A+DPTRMOV P0, ACLR P2.0LCALL DELAYSETB P2.0 ;MOV A
20、, 5EHMOVC A, A+DPTR如果R1為2,閃爍分位待調(diào)整 轉(zhuǎn)換出時(shí)個(gè)位,存入5BH 轉(zhuǎn)換出時(shí)十位,存入5AH 如果R1為1,閃爍時(shí)位待調(diào)整 使該位為10,查表得到使該位不顯示顯示秒個(gè)位 14MOV P0, ACLR P2.1LCALL DELAYSETB P2.1 ;顯示秒十位 MOV A, #0BFHMOV P0, ACLR P2.5LCALL DELAYSETB P2.5MOV A, 5DHMOVC A, A+DPTRMOV P0, ACLR P2.3LCALL DELAYSETB P2.3 ;MOV A, 5CHMOVC A, A+DPTRMOV P0, ACLR P2.4LC
21、ALL DELAYSETB P2.4MOV A, #0BFHMOV P0, ACLR P2.2LCALL DELAYSETB P2.2MOV A, 5BHMOVC A, A+DPTRMOV P0, ACLR P2.6LCALL DELAYSETB P2.6MOV DPTR, #TABLE1 ;MOV A, 5AH ;顯示“-” 顯示分個(gè)位 ;顯示分十位 ;顯示“-” ;顯示時(shí)個(gè)位 該位使用TABLE1以消除時(shí)的十位置015MOVC A, A+DPTRMOV P0, ACLR P2.7LCALL DELAYSETB P2.7 ;顯示時(shí)十位 RET;-;定時(shí)器中斷1s程序;-TIMET0: PUS
22、H ACCPUSH PSWMOV TH0, #3CHMOV TL0, #0B0HCPL 47H ;INC 54HMOV A, 54HCJNE A, #10,ADD_TIME;CPL 48H ;MOV 54H, #00HADD_TIME: INC 50HMOV A, 50HCJNE A, #10,ZDBACDSETB P3.1ZDBACD: CJNE A, #20,RETI1 ;MOV 50H, #00H ;MOV A, 51HADD A, #01HDA AMOV 51H,CJNE A,MOV 51H,MOV A,ADD A,DA A;保護(hù)現(xiàn)場(chǎng) 產(chǎn)生脈沖用于調(diào)時(shí)快進(jìn) 產(chǎn)生0.5秒,用于調(diào)時(shí)閃爍
23、取反調(diào)時(shí)閃爍標(biāo)志位 ;整點(diǎn)報(bào)時(shí)時(shí)蜂鳴器響延遲時(shí)間 ;關(guān)蜂鳴器 產(chǎn)生1秒時(shí)鐘 一秒鐘時(shí)間到,清零50H ;十進(jìn)制調(diào)整 A #60H,RETI1 #00H ;一分鐘到 52H #01H 16MOV 52H,CJNE A,CLR P3.1MOV 52H,MOV A,ADD A,DA AMOV 53H,CJNE A,MOV 53H,RETI1: POP PSW A #60H,RETI1 #00H ;一小時(shí)到,開(kāi)蜂鳴器,清分顯示 53H #01H A #24H,RETI1 #00H ;到24點(diǎn),清零小時(shí);恢復(fù)現(xiàn)場(chǎng);中斷返回 POP ACC RETI;-;鍵盤掃描程序;R4設(shè)置為00H是為了在進(jìn)入長(zhǎng)按處理
24、前加長(zhǎng)延時(shí),以區(qū)分長(zhǎng)按與短按鍵 ;-KEY_SCAN: CLR 46H ;關(guān)閉調(diào)時(shí)快進(jìn)標(biāo)志MOVMOVCPLANL位JZMOVCPLANLJZMOVMOVMOVCPLP1, A, A #0FFH ;將P1口設(shè)置成輸入狀態(tài) P1 A, #07H ;1口低3位連接3個(gè)按鍵,只判斷該3EXIT_KEY A, A A, R5, R4, A, A 17 LCALL DELAY ;延時(shí)去抖動(dòng) P1 ;重新判斷 #07H A #00H ;用于控制調(diào)時(shí)快進(jìn)速度 P1 EXIT_KEY LOOP: LCALL DISPLAY ;進(jìn)入長(zhǎng)按處理ANLJBINCLOOP1: CJNELJMPLOOP2: CJNE A
25、, 47H, R1, LOOP3 R4, #07H LOOP1 ;調(diào)時(shí)快進(jìn)間隔時(shí)間基準(zhǔn)加1 #03H,LOOP2 ;如果調(diào)秒時(shí)長(zhǎng)按,則不處理 #99H,LOOP3 R4MOV R4, #70H ;SETB 46HLCALL ADD_KEYLCALL DEC_KEYLOOP3: JNZ LOOPMOV A, R5RETEXIT_KEY: RET;-;延時(shí)子程序;-DELAY: MOV R7, #200DJNZ R7, $RETDELAY1: MOV R3, #50MOV TMOD, #00HMOV TH1, #63HMOV TL1, #18HSETB TR1LP1:JBC TF1, LP2SJM
26、P LP1LP2: MOV TH1, #63HMOV TL1, #18HDJNZ R3, LP1RET;-;選擇鍵處理子程序;-確認(rèn)長(zhǎng)按后,加快調(diào)時(shí)快進(jìn)速度等待鍵釋放 ;輸出鍵值 ;18SET_KEY: CJNEINCCJNEMOV R5, R1, R1, #01H,EXIT #4,EXIT #0#00H ;選擇鍵鍵值 ;調(diào)整選擇功能標(biāo)志加一 R1 MOV 54H, ;調(diào)時(shí)閃爍清零RET;-;加1子程序;-ADD_KEY: CJNECJNE則跳出MOVADDDAMOVCJNEMOVNEXT1: CJNE則跳出MOVADDDAMOVCJNEMOVNEXT2: CJNE跳出MOVADDDAMOVC
27、JNEMOVR5, #02H,EXIT R1, #01H,NEXT1 A, 53H A, #01H A 53H, A A, #24H,EXIT 53H, #00H R1, #02H,NEXT2 A, 52H A, #01H A 52H, A A, #60H,EXIT 52H, #00H R1, #03H,EXIT ;A, 51H A, #01H A 51H, A A, #60H,EXIT 51H, #00H 19 ;加1鍵值 ;選擇鍵功能標(biāo)志為1調(diào)時(shí),否 ;選擇鍵功能標(biāo)志為2調(diào)分,否選擇鍵功能標(biāo)志為3調(diào)秒,否則 ;如加1鍵按下直接清零秒RET;- ;減1子程序 ;-DEC_KEY: CJNEC
28、JNE則跳出MOV ADDDA A MOVCJNEMOVNEXT3: CJNE 則跳出MOVADDDAMOVCJNEMOVNEXT4:CJNE R1, 則跳出MOVADDDAMOVCJNEMOVRET;- ;返回子程序 ;- EXIT: RET R5, #04H,EXIT R1, #01H,NEXT3 A, 53H A, #99H 53H, A A, #99H,EXIT 53H, #23H R1, #02H,NEXT4 A, 52H A, #99H A 52H, A A, #99H,EXIT 52H, #59H #03H, EXIT ;A, 51H A, #99H A 51H, A A, #9
29、9H,EXIT 51H, #59H 20 ;減1鍵鍵值 ;選擇鍵功能標(biāo)志為1調(diào)時(shí),否;選擇鍵功能標(biāo)志為2調(diào)分,否選擇鍵功能標(biāo)志為3調(diào)秒,否;-;數(shù)碼管字形編碼表;-TABLE:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH;"0","1","2","3","4","5","6","7","8"",9","不顯示"TABL
30、E1:DB 0FFH,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH ;小時(shí)編碼 ;"不顯示","1","2","3","4","5","6","7","8","9","不顯示" END214 設(shè)計(jì)結(jié)論、仿真結(jié)果、誤差分析、教學(xué)建議4.1 設(shè)計(jì)課題的設(shè)計(jì)結(jié)論及使用說(shuō)明本設(shè)計(jì)為基于單片機(jī)的電子鐘的設(shè)計(jì)。剛開(kāi)始,我們很多地方理不清頭緒,無(wú)從
31、下手,但通過(guò)認(rèn)真研究設(shè)計(jì)課題,找書(shū)上網(wǎng)查資料買元件,確定基本設(shè)計(jì)方案,對(duì)所用芯片功能進(jìn)行查找、調(diào)試,然后畫(huà)電路圖制PCB板、打孔、溶銅、焊接等,真的經(jīng)歷了許多困難,卻積累了很多寶貴的經(jīng)驗(yàn),本設(shè)計(jì)用2個(gè)四位一體的共陽(yáng)數(shù)碼管做為顯示器,它顯示時(shí)間值;設(shè)計(jì)中有三個(gè)按鍵,其中S1為啟動(dòng)/選擇調(diào)整位置,S2為加控制鍵 S3為減控制鍵,當(dāng)整點(diǎn)時(shí)間到時(shí),蜂鳴器報(bào)警。這樣的結(jié)果與設(shè)計(jì)要求完全相符,本設(shè)計(jì)成功。完成了設(shè)計(jì)任務(wù)。4.2 設(shè)計(jì)課題的仿真結(jié)果在Proteus ISIS的Debug菜單中選擇Execute,運(yùn)行程序,系統(tǒng)仿真結(jié)果如圖4.1與4.2所示。實(shí)現(xiàn)功能:可調(diào)整運(yùn)行的電子鐘具有三種工作狀態(tài):“P.
32、”狀態(tài)、運(yùn)行狀態(tài)、調(diào)整狀態(tài)。(1)、“P.”狀態(tài),依靠上電或按復(fù)位鍵進(jìn)入,在此狀態(tài)下,按S2、S3鍵均無(wú)效,按S1鍵有效,進(jìn)入運(yùn)行狀態(tài);(2)、運(yùn)行狀態(tài),在此狀態(tài)下,按S2、S3鍵均無(wú)效,只有按S1鍵有效,按下S1鍵后,退出運(yùn)行狀態(tài),進(jìn)入調(diào)整狀態(tài);(3)、調(diào)整狀態(tài),按S1鍵進(jìn)入時(shí)、分、秒的閃爍,在此狀態(tài)下,按S2(+1鍵)、S3(-1鍵)鍵均有效;調(diào)整結(jié)束后必須按S1鍵,即可退出調(diào)整狀態(tài),進(jìn)入運(yùn)行狀態(tài)。在調(diào)整狀態(tài)時(shí)長(zhǎng)按S2、S3時(shí)可以連加及連減。時(shí)間顯示格式為:時(shí)-分-秒;圖4.1 “P.”運(yùn)行狀態(tài)仿真22圖4.2 時(shí)鐘運(yùn)行狀態(tài)仿真4.3 設(shè)計(jì)課題的誤差分析該電子鐘在運(yùn)行中存在一定的誤差,誤差
33、產(chǎn)生有三種可能,首先是采用的計(jì)時(shí)方案是軟件計(jì)時(shí)的,計(jì)時(shí)優(yōu)勢(shì)利用中斷來(lái)實(shí)現(xiàn)。而當(dāng)電子鐘運(yùn)行時(shí)間1秒時(shí),又得去執(zhí)行中斷程序,這個(gè)過(guò)程是需要時(shí)間的,所以就產(chǎn)生了一定的誤差,當(dāng)然這個(gè)誤差是避免不了的,其次還有硬件系統(tǒng)也有一定的影響。第三,設(shè)計(jì)用到11.0592MHz的晶振,計(jì)算是滿20次為一秒鐘,但實(shí)際會(huì)慢很多。4.4 設(shè)計(jì)體會(huì)本次課程設(shè)計(jì),讓我受益匪淺,認(rèn)識(shí)到了自己的許多缺點(diǎn)和不足,使我深深的感受到了理論聯(lián)系實(shí)際的必要性及其重要性。在我們以往的學(xué)習(xí)過(guò)程中,我們刻意地去加強(qiáng)理論的基礎(chǔ),對(duì)于一個(gè)程序我們只求它在運(yùn)行時(shí)沒(méi)有出錯(cuò),我們便以為我們的計(jì)劃成功了豈不知它能否在硬件結(jié)構(gòu)中得以實(shí)現(xiàn)則是另外一回事,這就要求我們的動(dòng)手能力,如果無(wú)法使軟件與硬件實(shí)現(xiàn)有機(jī)的結(jié)合,那么再好的程序也只是一堆廢字符。4.5 教學(xué)建議經(jīng)過(guò)一個(gè)學(xué)期王韌老師教導(dǎo)的的單片機(jī)學(xué)習(xí),我掌握了很多單片機(jī)學(xué)習(xí)的寶貴經(jīng)驗(yàn),尤其在編程的思路和PCB實(shí)物的制作上面。編程思路是整個(gè)程序的靈魂,沒(méi)有編程思路,程序就不會(huì)編出來(lái),就失去了編程的意義。在開(kāi)始編程之前,想好編程的思路,編程能力才會(huì)提高,編程的過(guò)程才會(huì)順暢,程序的質(zhì)量才會(huì)提高。在王韌老師的教
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025海南建筑安全員C證考試題庫(kù)
- DB61T-牛卵巢B超影像診斷技術(shù)規(guī)范編制說(shuō)明
- 證券投資學(xué)課件人大吳曉求
- 春季常見(jiàn)傳染病預(yù)防知識(shí)-主題班會(huì)課件
- 拋物線及其標(biāo)準(zhǔn)方程課件
- 單位人力資源管理制度呈現(xiàn)合集十篇
- 【物理課件】探究安培力課件
- 課題申報(bào)書(shū):職業(yè)女性乳腺癌風(fēng)險(xiǎn)的復(fù)雜因素關(guān)聯(lián)分析與預(yù)警模型研究
- 單位管理制度品讀選集【人力資源管理篇】十篇
- 調(diào)研報(bào)告貨架大綱
- 主債權(quán)合同及不動(dòng)產(chǎn)抵押合同(簡(jiǎn)化版本)
- 服裝廠安全生產(chǎn)責(zé)任書(shū)
- JGJ202-2010建筑施工工具式腳手架安全技術(shù)規(guī)范
- 液壓爬模系統(tǒng)作業(yè)指導(dǎo)書(shū)
- 2018-2019學(xué)年北京市西城區(qū)人教版六年級(jí)上冊(cè)期末測(cè)試數(shù)學(xué)試卷
- SFC15(發(fā)送)和SFC14(接收)組態(tài)步驟
- LX電動(dòng)單梁懸掛說(shuō)明書(shū)
- 旅行社公司章程53410
- GD2405004室內(nèi)排水管道及配件安裝工程檢驗(yàn)批質(zhì)量驗(yàn)收記錄表1棟
- 安防監(jiān)控系統(tǒng)室外施工安裝規(guī)范標(biāo)準(zhǔn)
- 螺桿式制冷壓縮機(jī)操作規(guī)程完整
評(píng)論
0/150
提交評(píng)論