版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p> 單片機(jī)技術(shù)課程設(shè)計說明書</p><p><b> 數(shù)字電子鐘</b></p><p> 系 、 部: </p><p> 學(xué)生姓名: </p><p> 指導(dǎo)教師: 職稱 </p><p> 專 業(yè): 自動化
2、 </p><p> 班 級: </p><p> 完成時間: 2010.12.30 </p><p><b> 摘 要</b></p><p> 鐘表作為一個定時工具被廣泛地應(yīng)用于生產(chǎn)生活的各個方面,而電子表具有價格便宜、質(zhì)量輕、定時誤差小等優(yōu)點。本次設(shè)計的
3、數(shù)字電子鐘采用了AT89S52芯片進(jìn)行匯編,由8位8段數(shù)碼管進(jìn)行動態(tài)刷新顯示,有四個獨立按鍵??梢赃M(jìn)行秒、分、時的調(diào)整,且操作簡單,計時誤差小,顯示亮度高,具有良好的實用價值。</p><p> 關(guān)鍵詞 數(shù)字電子鐘;單片機(jī);匯編語言</p><p><b> ABSTRACT</b></p><p> SCM digital elect
4、ric clock is based on single chip design of eight digit clock. It has programming flexible and can perform electric clock function expansion, this electric clock with the 24-hour manufacturing mode display time, using as
5、sembly language make its with adjustable reset and when, add a function.</p><p> Key words digital clock;SCM;assembly language</p><p><b> 目 錄</b></p><p> 1 設(shè)計課題任務(wù)、
6、功能要求說明及總體方案介紹…………………………………1</p><p> 1.1 設(shè)計課題任務(wù)…………………………………………………………………1</p><p> 1.2 功能要求說明…………………………………………………………………1</p><p> 1.3 設(shè)計課題總體方案介紹及工作原理說明……………………………………1</p><
7、p> 2 設(shè)計課題硬件系統(tǒng)的設(shè)計…………………………………………………………2</p><p> 2.1 硬件總體設(shè)計 ………………………………………………………………2</p><p> 2.2 設(shè)計課題硬件系統(tǒng)各模塊功能簡要介紹……………………………………2</p><p> 2.3 設(shè)計課題電路原理圖、PCB圖、元器件布局圖 ……………………
8、………3</p><p> 2.4 設(shè)計課題元器件清單…………………………………………………………3</p><p> 3 設(shè)計課題軟件系統(tǒng)的設(shè)計…………………………………………………………4</p><p> 3.1 設(shè)計課題使用單片機(jī)資源的情況……………………………………………4</p><p> 3.2 數(shù)字電子鐘軟件系統(tǒng)主要
9、模塊功能簡要介紹………………………………4</p><p> 3.3 數(shù)字電子鐘軟件系統(tǒng)程序流程框圖…………………………………………5</p><p> 3.4 設(shè)計課題軟件系統(tǒng)程序清單…………………………………………………7</p><p> 4 設(shè)計結(jié)論、仿真結(jié)果、誤差分析 ………………………………………………16</p><p>
10、; 4.1 設(shè)計課題的設(shè)計結(jié)論及使用說明…………………………………………16</p><p> 4.2 設(shè)計課題的仿真結(jié)果………………………………………………………17</p><p> 4.3 設(shè)計課題的誤差分析………………………………………………………17</p><p> 4.4 設(shè)計重點、難點,體會及不足之處………………………………………18
11、</p><p> 參考文獻(xiàn)…………………………………………………………………………………19</p><p> 致謝………………………………………………………………………………………20</p><p> 附錄………………………………………………………………………………………21</p><p> 附錄一數(shù)字電子鐘原理圖 …………
12、……………………………………………21</p><p> 附錄二數(shù)字電子鐘PCB圖 ………………………………………………………22附錄三數(shù)字電子鐘元件布局圖…………………………………………………24</p><p> 附錄四 數(shù)字電子鐘元件清單 ……………………………………………………25</p><p> 設(shè)計課題任務(wù)、功能要求說明及總體方案介紹<
13、;/p><p> 1.1 設(shè)計課題任務(wù)</p><p> 通過理論設(shè)計和實物制作解決相應(yīng)的實際問題,鞏固和運用在《單片機(jī)技術(shù)》中所學(xué)的理論知識和實驗技能,掌握單片機(jī)應(yīng)用系統(tǒng)的一般設(shè)計方法,提高設(shè)計能力和實踐動手能力,為以后從事電子電路設(shè)計、研發(fā)電子產(chǎn)品打下良好的基礎(chǔ)。</p><p> 1.2 功能要求說明</p><p> 設(shè)計一個具有
14、特定功能的電子鐘。該電子鐘上電或按鍵復(fù)位后能自動顯示系統(tǒng)提示符“P.”, 進(jìn)入時鐘準(zhǔn)備狀態(tài);第一次按電子鐘啟動/調(diào)整鍵,電子鐘從0時0分0秒開始運行,進(jìn)入時鐘運行狀態(tài);再次按電子鐘啟動/調(diào)整鍵,則電子鐘進(jìn)入時鐘調(diào)整狀態(tài),此時可利用各調(diào)整鍵調(diào)整時間,調(diào)整結(jié)束后可按啟動/調(diào)整鍵再次進(jìn)入時鐘運行狀態(tài)。</p><p> 1.3 設(shè)計課題總體方案介紹及工作原理說明</p><p> 方案一:采
15、用時鐘芯片DS1302,該芯片可以進(jìn)行時分秒的計數(shù),DS1302通過串行方式與單片機(jī)進(jìn)行數(shù)據(jù)傳送,向單片機(jī)提供包括秒、分、時、日、月、年等在內(nèi)的實時時間信息,并可對月末日期、閏年天數(shù)自動進(jìn)行調(diào)整,但是需在單片機(jī)外部擴(kuò)展,電路較復(fù)雜,成本較高。</p><p> 方案二:采用單片機(jī)內(nèi)部定時器,用軟件對其進(jìn)行秒、分、時的計數(shù),單片機(jī)無法產(chǎn)生1s的定時時間,但是可以用硬件定時和軟件計數(shù)相結(jié)合的方法實現(xiàn),采用中斷方式,
16、即通過中斷服務(wù)程序進(jìn)行計數(shù)器溢出次數(shù)的累計,把定時器/計數(shù)器設(shè)定為62.5ms,計數(shù)溢出16次就可以得到1s,計60次為1分,60分計60次則為1小時,然后通過數(shù)碼管動態(tài)刷新顯示出來,再設(shè)四個按鍵進(jìn)行時間的調(diào)整,一個鍵用作啟動/調(diào)整鍵,其余三個分別用于時、分、秒的調(diào)整。方案二不需要外部擴(kuò)展芯片,電路較簡單,成本較低,這里選用方案二。</p><p> 數(shù)字電子鐘硬件系統(tǒng)的設(shè)計</p><p&
17、gt; 2.1 硬件總體設(shè)計</p><p> 硬件系統(tǒng)總體設(shè)計如圖2.1所示。</p><p> 圖2.1 硬件系統(tǒng)總體設(shè)計</p><p> 2.2 數(shù)字電子鐘硬件系統(tǒng)主要模塊功能簡要介紹</p><p> ?。?) 功能芯片:本次設(shè)計采用ATMEL公司生產(chǎn)的AT89S52芯片,低功耗、高性能CMOS8位微控制器,具有 8K
18、在系統(tǒng)可編程Flash 存儲器。256字節(jié)RAM, 32 位I/O 口線,與工業(yè)80C51 產(chǎn)品指令和引腳完全兼容。價格較低,能滿足本次設(shè)計的要求。</p><p> (2) 電源和復(fù)位模塊:AT89S52需5V電壓,所以可以采用USB接口的5V電源對其供電,復(fù)位電路可采用上電復(fù)位、按鍵電平復(fù)位、按鍵脈沖復(fù)位3種,本次采用按鍵電平復(fù)位。如電路原理圖中的電源和復(fù)位模塊。</p><p>
19、?。?) 顯示模塊:該模塊由8位8段共陽極數(shù)碼管組成,由8個PNP型三極管分別驅(qū)動其發(fā)光,從左至右位控分別接于單片機(jī)的P2.7-P2.0中上,段控a-dP接于單片機(jī)的P0.0-P0.7口上,使用動態(tài)顯示從右向左循環(huán)點亮每一位數(shù)碼管。如電路原理圖中的數(shù)碼管電路。</p><p> ?。?) 鍵盤模塊:鍵盤由8個獨立式按鍵組成,S0-S7鍵分別接在單片機(jī)的P1.0-P1.7口,并由上拉電阻上拉使其成為電位為高。如電
20、路原理圖中的獨立鍵盤模塊。</p><p> ?。?) 時鐘模塊:為了保證同步工作方式的思想,單片機(jī)必須有時鐘信號,以使其系統(tǒng)在時鐘信號的控制下按時序協(xié)調(diào)工作。如電路原理圖中的晶振電路。</p><p> 2.3 數(shù)字電子鐘電路原理圖、PCB圖、元器件布局圖</p><p> 數(shù)字電子鐘電路原理圖見附錄一。</p><p> 數(shù)字電子
21、鐘PCB圖見附錄二。</p><p> 數(shù)字電子鐘元件布局圖見附錄三。</p><p> 2.4 數(shù)字電子鐘元器件清單</p><p> 數(shù)字電子鐘元器件清單見附錄四。</p><p> 數(shù)字電子鐘軟件系統(tǒng)的設(shè)計</p><p> 3.1 數(shù)字電子鐘使用單片機(jī)資源的情況</p><p&
22、gt; ?。?) 時鐘的時分秒在片內(nèi)RAM存儲地址如表3.1所示。</p><p> 表 3.1 時鐘存儲地址</p><p> ?。?) 在AT89S52的P0口和P2口外接八個數(shù)碼管,用P0口作數(shù)碼管的段控碼輸出口(P0.0-P0.7對應(yīng)于數(shù)碼管的a-dp),P2.7-P2.0作數(shù)碼管的位控碼輸出(P2.7-P2.0對應(yīng)于LED7-LED0),20H.0-20H.3作為P1.0-P
23、1.3的位標(biāo)志存儲地址。</p><p> ?。?) 定時器0以中斷方式工作,工作方式1。</p><p> 3.2 數(shù)字電子鐘軟件系統(tǒng)主要模塊功能簡要介紹</p><p> ?。?) 主程序:主程序的主要功能是進(jìn)行定時器/計數(shù)器,顯示緩沖區(qū)的初始化,顯示,以及判斷是否有功能鍵按下,判斷按下的鍵并調(diào)相應(yīng)的鍵功能程序。</p><p>
24、(2) 鍵功能程序:鍵功能程序的主要功能是執(zhí)行對應(yīng)的功能,Menu鍵為啟動/調(diào)整鍵,第一次按下則由待機(jī)狀態(tài)進(jìn)入運行狀態(tài)啟動時鐘,從00-00-00開始顯示,然后按下為奇數(shù)則暫停,進(jìn)入調(diào)時狀態(tài),按下Sec鍵則秒加1,按下Min鍵則分加1,按下Hour鍵則時加1;若按下為偶數(shù)則進(jìn)入時鐘運行狀態(tài)。</p><p> (3) 中斷服務(wù)程序:中斷服務(wù)程序的主要功能是進(jìn)行計時操作,程序開始先判斷計數(shù)溢出是否滿了16次,若不
25、滿16次則表明沒有達(dá)到最小計時單位秒,則中斷返回;若滿16次表明已達(dá)到最小計時單位秒,則程序斷續(xù)向下執(zhí)行,進(jìn)行分和時的計時。</p><p> (4) 顯示子程序:顯示程序的主要功能是將顯示緩沖區(qū)的段控碼正確的顯示在數(shù)碼管上,采用動態(tài)顯示,從右向左循環(huán)點亮每一位數(shù)碼管。</p><p> ?。?) 鍵掃子程序:鍵掃子程序的主要功能是判斷是否有鍵按下,是哪個鍵按下,并將鍵值保存在20H中。
26、</p><p> 3.3 數(shù)字電子鐘軟件系統(tǒng)程序流程框圖</p><p> ?。?) 主程序流程框圖如圖3.1所示。</p><p> ?。?) 計時1秒子程序流程框圖如圖3.2所示。</p><p> ?。?) 鍵掃子程序流程框圖如圖3.3所示。</p><p> ?。?) 顯示子程序流程框圖如圖3.4所示。&
27、lt;/p><p> ?。?) 鍵監(jiān)控子程序流程框圖如圖3.5所示。</p><p> 圖3.1 主程序流程框圖 圖3.2 計時1秒子程序流程框圖</p><p> 圖3.3 鍵掃子程序流程框圖 圖3.4 顯示子程序流程框圖</p><p> 圖3.5 鍵監(jiān)控子程
28、序流程框圖</p><p> 3.4 數(shù)字電子鐘軟件系統(tǒng)程序清單</p><p> ;**********************************************************************:</p><p> ;項目名稱:數(shù)字式電子鐘</p><p><b> ;設(shè)計者:李松海<
29、/b></p><p> ;設(shè)計日期:2010年12月28日</p><p> ;**********************************************************************;</p><p><b> ;堆棧棧底80H;</b></p><p> ;****
30、******************************************************************;</p><p> ;LED數(shù)碼管顯示器設(shè)定;</p><p> ;P0.7---P0.0段控線,接LED的顯示段dp,g,f,e,d,c,b,a</p><p> ;P2.0---P2.7位控線,從左至右(LED7,LED6,
31、LED5,LED4,LED3,LED2,LED1,LED0)</p><p> ;顯示緩沖區(qū)設(shè)定從左至右依次為78H,79H,7AH,7BH,7CH,7DH,7EH,7FH </p><p> ;**********************************************************************;</p><p><
32、b> ;獨立式鍵盤設(shè)定;</b></p><p> ;8個按鍵S2至S9分別依次接在P1.0至P1.7口線;</p><p> ;**********************************************************************;</p><p> ;20H字節(jié)單元:十六進(jìn)制,S2鍵鍵值01H,S3
33、鍵鍵值02H,S4鍵鍵值04H,S5鍵鍵值08H,S6鍵鍵值10H,S7鍵鍵值20H,S8鍵鍵值40H,S9鍵鍵值80H</p><p> ;**********************************************************************;</p><p> ;定時器/計數(shù)器資源:</p><p> ;T/C0:工作
34、模式;功能;定時時間;查詢或中斷</p><p> ;**********************************************************************;</p><p><b> ;中斷系統(tǒng)資源;</b></p><p><b> ;T/C0</b></p>
35、<p> ;**********************************************************************;</p><p><b> ;鍵功能程序;</b></p><p> ;KEYA (S2鍵鍵功能程序)</p><p> ;KEYB (S3鍵鍵功能程序)</p&g
36、t;<p> ;KEYC (S4鍵鍵功能程序)</p><p> ;KEYD (S5鍵鍵功能程序)</p><p> ;**********************************************************************;</p><p><b> ;中斷服務(wù)程序;</b><
37、;/p><p> ;**********************************************************************;</p><p><b> ;常數(shù)表格;</b></p><p> ;DISBH(系統(tǒng)提示符P.字型代碼序號表)</p><p> ;DISBI(00-00
38、-00字符的代碼序號)</p><p> ;TAB(共陽數(shù)碼管字型代碼表)</p><p> ;**********************************************************************; </p><p><b> ;子程序;</b></p><p> ;DL
39、(2毫秒延時子程序)</p><p> ;DISP(數(shù)碼管顯示子程序)</p><p> ;KEY(鍵掃描子程序);</p><p> ;KEYCHULI(P1口數(shù)據(jù)處理子程序)</p><p><b> ;加1子程序</b></p><p> ;********************
40、**************************************************;</p><p><b> ;偽指令定義 </b></p><p> SEC EQU 30H</p><p> MINEQU 31H</p><p> HOUREQU
41、 32H</p><p> SECGEEQU 7FH</p><p> SECSHIEQU 7EH</p><p> MINGEEQU 7CH</p><p> MINSHIEQU 7BH</p><p> HOURGE EQU 79H&
42、lt;/p><p> HOURSHIEQU 78H</p><p> ;**********************************************************************;</p><p> ;系統(tǒng)起始程序區(qū) </p><p> ORG 0000H</p&
43、gt;<p> START: LJMP MAIN</p><p> ORG 000BH</p><p><b> LJMP TC0</b></p><p> ;**********************************************************************;&l
44、t;/p><p><b> ;系統(tǒng)監(jiān)控程序區(qū)</b></p><p> ORG0030H</p><p> MAIN:MOVSP,#80H ;初始化數(shù)據(jù)</p><p> MOVPSW,#00H</p><p> MOVTMOD,#01H
45、 ;定時器0工作方式1</p><p> MOVTH0,#0D8H ;10MS</p><p> MOVTL0,#0F0H</p><p><b> SETBEA</b></p><p><b> SETBET0</b></p>
46、;<p> MOV R0, #20H ;RAM區(qū)首地址</p><p> MOV R7, #5FH ;RAM區(qū)單元個數(shù) 95個</p><p> CHUSHI:MOV @R0, #00H</p><p> INC R0 ;將RAM全部
47、清零,初始化</p><p> DJNZ R7, CHUSHI </p><p> TSF: MOV DPTR, #DISBH ;系統(tǒng)初始化 “P.”字符代碼表首地址</p><p> MOV R5, #08H</p><p> MOV R0, #78H</
48、p><p> DISPTSF:CLR A</p><p> MOVC A, @A+DPTR</p><p> MOV @R0, A</p><p><b> INC R0</b></p><p> INC DPTR</p><p>
49、DJNZ R5, DISPTSF</p><p> D:LCALL DISP ;調(diào)顯示子程序顯示提示符“P.”</p><p><b> LCALLKEY</b></p><p> JB20H.0,KEYA</p><p><b> LJMP
50、D</b></p><p> ;**********************************************************************;</p><p><b> ;鍵功能程序區(qū)</b></p><p><b> ;S2鍵功能程序</b></p>&l
51、t;p> KEYA:MOVSEC, #0 ;寄存器初始化,秒寄存器</p><p> MOVMIN, #0 ;分寄存器</p><p> MOVHOUR, #0 ;時寄存器</p><p> MOV DPTR, #DISBI ;“00-00-00”字符代碼表首地址<
52、;/p><p> MOV R5, #08H</p><p> MOV R0, #78H</p><p> DISPTSG:CLR A</p><p> MOVC A, @A+DPTR</p><p> MOV @R0, A</p><p&g
53、t;<b> INC R0</b></p><p> INC DPTR</p><p> DJNZ R5, DISPTSG</p><p> KEYAS:SETB TR0 ;開定時器</p><p> DI:LCALL DISP</p><p>
54、;<b> LCALL KEY</b></p><p> JB 20H.0,CP </p><p><b> LJMP DI</b></p><p> CP:CLR TR0 ;S2鍵按下,進(jìn)入調(diào)整狀態(tài)</p><p> DD:LCALL D
55、ISP</p><p><b> LCALL KEY</b></p><p> JB 20H.0,KEYAS</p><p> JB 20H.1,KEYB</p><p> JB 20H.2,KEYC</p><p> JB 20H.3,KEYD</p>
56、;<p><b> LJMP DD</b></p><p><b> ;S3鍵功能程序</b></p><p> KEYB:LCALLHOUR_ ;調(diào)時</p><p> LC:LCALLDISP</p><p><b> LCALLK
57、EY</b></p><p> JB20H.0,KEYAS</p><p> JB20H.1,KEYB</p><p> JB20H.2,KEYC</p><p> JB20H.3,KEYD</p><p><b> LJMPLC</b></
58、p><p><b> ;S4鍵功能程序</b></p><p> KEYC:LCALLMIN_ ;調(diào)分</p><p> DIIS:LCALL DISP </p><p><b> LCALLKEY</b></p><p> JB20H.0
59、,KEYAS</p><p> JB20H.1,KEYB</p><p> JB20H.2,KEYC</p><p> JB 20H.3,KEYD</p><p><b> LJMPDIIS</b></p><p><b> ;S5鍵功能程序</b
60、></p><p> KEYD:LCALLSEC_ ;調(diào)秒</p><p> DISS:LCALLDISP</p><p><b> LCALLKEY</b></p><p> JB20H.0,KEYAS</p><p> JB20H.1,KE
61、YB</p><p> JB20H.2,KEYC</p><p> JB20H.3,KEYD</p><p><b> LJMPDISS</b></p><p> ;中斷服務(wù)程序</p><p> TC0:PUSHACC</p><p>
62、<b> PUSH B</b></p><p><b> PUSHPSW</b></p><p><b> SETBRS1</b></p><p><b> CLRRS0</b></p><p> MOVTH0,#0D8H<
63、;/p><p> MOVTL0,#0F0H</p><p><b> INC33H</b></p><p> MOVA,33H</p><p> CJNE A,#100,RE</p><p> MOV33H,#0</p><p>&
64、lt;b> INCSEC</b></p><p> MOVA,SEC</p><p> MOVB,#10</p><p><b> DIVAB</b></p><p> MOVSECSHI,A</p><p> MOVSECGE, B
65、</p><p> MOVA,SEC</p><p> CJNEA,#60,RE</p><p><b> INCMIN</b></p><p> MOVSEC,#00H</p><p> MOVSECGE,#0</p><p>
66、 MOVSECSHI,#0</p><p> MOVA,MIN</p><p> MOVB,#10</p><p><b> DIVAB</b></p><p> MOVMINSHI, A</p><p> MOVMINGE,B</p>
67、<p> MOVA,MIN</p><p> CJNEA,#60,RE</p><p><b> INCHOUR</b></p><p> MOVMIN,#00H</p><p> MOVMINGE,#0</p><p> MOVMINS
68、HI,#0</p><p> MOVA,HOUR</p><p> MOVB,#10</p><p><b> DIVAB</b></p><p> MOVHOURSHI,A</p><p> MOVHOURGE, B</p><p>
69、 MOVA,HOUR</p><p> CJNE A,#24,RE</p><p> MOVHOUR,#0</p><p> MOVHOURGE,#0</p><p> MOVHOURSHI,#0</p><p> RE:POPPSW</p><
70、p><b> POPB</b></p><p><b> POPACC</b></p><p><b> RETI</b></p><p><b> ;延時1毫秒子程序</b></p><p> DL: PUSH PSW&l
71、t;/p><p> SETB RS1</p><p> SETB RS0</p><p> MOV R7, #02H</p><p> DL1:MOVR6, #0FFH</p><p> DL2:DJNZR6, DL2</p><p> D
72、JNZR7, DL1</p><p> POP PSW</p><p><b> RET</b></p><p><b> ;顯示子程序</b></p><p> ;入口:77H,78H,79H,7AH,7BH,7CH,7DH,7EH,7FH,</p><
73、;p> DISP: PUSHDPH</p><p><b> PUSHDPL</b></p><p><b> PUSHACC</b></p><p><b> PUSHPSW</b></p><p> CLR RS1
74、 ;改變當(dāng)前寄存器組為組1</p><p> SETB RS0</p><p> MOV R1, #78H ;顯示緩沖存儲單元首地址</p><p> MOV R2, #0FEH ;從右至左顯示,共陽極</p><p> DISP1:MOVA,
75、 @R1</p><p> MOVDPTR, #TAB</p><p> MOVC A, @A+DPTR</p><p> MOV P0, A ;送段控</p><p> MOV P2, R2 ;送位控</p><p> L
76、CALL DL ;延時2毫秒 為什么這里要延時</p><p> MOV A, R2</p><p> JNB ACC.7, DISP2 ;為0轉(zhuǎn)移;</p><p><b> RL A</b></p><p><b> INC
77、R1</b></p><p> MOV R2, A</p><p> LJMP DISP1</p><p> DISP2:POP PSW ;恢復(fù)當(dāng)前寄存器組的組號</p><p><b> POP ACC</b></p><
78、;p><b> POP DPL</b></p><p><b> POP DPH</b></p><p><b> RET</b></p><p><b> ;鍵掃描子程序</b></p><p> KEY:LCALL KEYC
79、HULI ;調(diào)P1口數(shù)據(jù)處理子程序</p><p> JZ EXIT ;沒有鍵按下,轉(zhuǎn)返回</p><p> LCALL DISP ;調(diào)顯示子程序去抖動</p><p> LCALL DISP</p><p> LCALL KEYCHULI ;調(diào)P1口數(shù)據(jù)處理子程序</
80、p><p> JZ EXIT ;沒有鍵按下,轉(zhuǎn)返回</p><p> MOV B,20H ;保存取反后的鍵值</p><p> KEYSF:LCALL KEYCHULI ;調(diào)P1口數(shù)據(jù)處理子程序</p><p> JZ KEY1 ;鍵釋放,轉(zhuǎn)恢復(fù)鍵值</p>
81、<p> LCALL DISP ;調(diào)顯示子程序延時</p><p> LJMP KEYSF ;等待釋放</p><p> KEY1:MOV 20H, B ;鍵值送20H保存</p><p> EXIT:RET ;子程序返回</p><p> ;P1
82、口數(shù)據(jù)處理子程序</p><p> KEYCHULI:PUSH PSW ;保護(hù)現(xiàn)場</p><p> CLR RS1 ;改變當(dāng)前寄存器組為組1</p><p> SETB RS0</p><p> MOV P1,#0FFH ;先向P1口寫1</p><p>
83、 MOV A, P1 ;讀P1口數(shù)據(jù)</p><p> CPL A ;P1口數(shù)據(jù)取反</p><p> MOV20H, A ;保存取反后的鍵值</p><p> CLRRS1 ;恢復(fù)當(dāng)前寄存器組為組0</p><p> CLR RS0</p
84、><p> POPPSW ;恢復(fù)現(xiàn)場</p><p> RET ;子程序返回</p><p><b> ;加1子程序</b></p><p> SEC_:INCSEC</p><p> MOV A,SEC</p>&
85、lt;p> MOV B,#10</p><p><b> DIV AB</b></p><p> MOV SECSHI,A</p><p> MOV SECGE,B</p><p> MOV A, SEC</p><p> CJNE
86、 A, #60,EXI</p><p> MOV SEC, #0</p><p> MOV SECGE,#0</p><p> MOV SECSHI,#0</p><p> LJMP EXI</p><p> MIN_:INC MIN</p>
87、<p> MOV A,MIN</p><p> MOV B,#10</p><p><b> DIV AB</b></p><p> MOV MINSHI,A</p><p> MOV MINGE,B</p><p> MOV
88、A,MIN</p><p> CJNE A,#60,EXI</p><p> MOV MIN, #0</p><p> MOV MINGE,#0</p><p> MOV MINSHI,#0</p><p> LJMP EXI</p><p&
89、gt; HOUR_:INC HOUR</p><p> MOV A,HOUR</p><p> MOV B,#10</p><p><b> DIV AB</b></p><p> MOV HOURSHI, A</p><p> MOV H
90、OURGE, B</p><p> MOV A,HOUR</p><p> CJNE A,#24,EXI</p><p> MOV HOUR, #0</p><p> MOV HOURGE, #0</p><p> MOV HOURSHI, #0</p>
91、;<p><b> EXI:RET</b></p><p> ;常數(shù)表格區(qū)------------------------------------------------------------</p><p> ;系統(tǒng)初始化后提示符“P.”字符代碼表</p><p> DISBH: DB 11H,10H,10H,10
92、H,10H,10H,10H,10H ;“P.”字符序號</p><p> DISBI: DB 00H,00H,12H,00H,00H,12H,00H,00H</p><p> ;顯示字符段選碼表(共陽極代碼)</p><p> TAB: DB 0C0H, 0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H ;
93、0-8</p><p> DB 90H,88H,83H,0C6H,0A1H,86H,8EH,0FFH,0CH,0BFH;9,A,B,C,D,E,F,滅,p. END</p><p> 設(shè)計結(jié)論、仿真結(jié)果、誤差分析</p><p> 4.1 數(shù)字電子鐘的設(shè)計結(jié)論及使用說明</p><p> 該電子鐘上電或按鍵復(fù)位后能自動顯示系統(tǒng)提
94、示符“P.”, 進(jìn)入時鐘準(zhǔn)備狀態(tài);第一次按電子鐘啟動/調(diào)整鍵,電子鐘從0時0分0秒開始運行,進(jìn)入時鐘運行狀態(tài);再次按電子鐘啟動/調(diào)整鍵,則電子鐘進(jìn)入時鐘調(diào)整狀態(tài),此時可利用各調(diào)整鍵調(diào)整時間,調(diào)整結(jié)束后可按啟動/調(diào)整鍵再次進(jìn)入時鐘運行狀態(tài)。</p><p> S2鍵為啟動/調(diào)整鍵,S3鍵為時調(diào)節(jié),S4鍵為分調(diào)節(jié),S5鍵為秒調(diào)節(jié)。</p><p><b> 操作步驟如下:<
95、/b></p><p> 將+5V電源接到電子鐘電源插口上,接通電源開關(guān)。</p><p> 把電子鐘電路板上的ISP程序下載線連接到計算機(jī)USB接口,在計算機(jī)上通過avr_fighter軟件把電子鐘程序下載到單片機(jī)內(nèi)。</p><p> 電子鐘程序下載到單片機(jī)以后,電子鐘進(jìn)入命令狀態(tài),顯示“P.”。</p><p> 按下S2
96、鍵,電子鐘從0開始運行,此時LED7、LED6、LED4、LED3、LED1、LED0分別顯示時、分、秒。</p><p> 再次按下S2鍵,電子鐘進(jìn)入調(diào)時狀態(tài),此時通過S3鍵、S4鍵、S5鍵分別調(diào)整電子鐘的時、分、秒。按一下對應(yīng)的值加一。調(diào)整到想要的時間后,再次按下S2鍵,電子鐘將以用戶調(diào)整時間為起點進(jìn)入運行狀態(tài)。</p><p> 4.2 數(shù)字電子鐘的仿真結(jié)果</p>
97、<p> 本次設(shè)計的數(shù)字電子鐘有三種狀態(tài):待機(jī)顯示“P.”狀態(tài),時鐘運行狀態(tài),時鐘調(diào)整狀態(tài)。它們分別如圖4.1、圖4.2、圖4.3所示。</p><p> 圖4.1 待機(jī)顯示“P.”狀態(tài)仿真結(jié)果</p><p> 圖4.2時鐘運行狀態(tài)仿真結(jié)果</p><p> 圖4.3 時鐘調(diào)整狀態(tài)仿真結(jié)果</p><p> 4.3
98、 數(shù)字電子鐘的誤差分析</p><p> 雖說采用軟件方式來產(chǎn)生1s的基本時間,然而定時器/計數(shù)器本身不能產(chǎn)生標(biāo)準(zhǔn)的1s定時,產(chǎn)生一個標(biāo)準(zhǔn)時間之后進(jìn)行循環(huán)計數(shù)得到1s,但CPU執(zhí)行代碼需要1-2μs的時間,因此產(chǎn)生的1s,1分,1小時,都會略大于標(biāo)準(zhǔn)的時間。此外,單片機(jī)也易受外界環(huán)境的影響,比如溫度、濕度等干擾。故應(yīng)該讓單片機(jī)工作在適宜的環(huán)境下,同時采用實時時鐘芯片,這樣能將誤差降低到最小。</p>
99、<p> 4.4 設(shè)計重點、難點,體會及不足之處</p><p> 重點:單片課程設(shè)計考察的是一個人理論與實踐相結(jié)合的能力,要求設(shè)計者具有一定的理論知識及動手操作能力。比如用Proteus軟件進(jìn)行單片機(jī)系統(tǒng)電路的仿真設(shè)計、Protel軟件的使用、PCB板的硬件制作,Keil軟件編寫和調(diào)試匯編程序。</p><p> 難點:硬件電路的故障檢測和修復(fù),原理電路圖的仿真設(shè)計
100、,匯編程序的編寫和調(diào)試。</p><p> 體會:現(xiàn)在來回想單片機(jī)的課程設(shè)計,有許多感觸,從最開始接觸單片機(jī)和匯編語言,到現(xiàn)在能獨立完成一個課程設(shè)計,我必須得感謝王老師的諄諄教導(dǎo)和辛勤付出,是老師給了我動力。在本學(xué)期初期做PCB板時因布局的不科學(xué)導(dǎo)致最后的制作使用出現(xiàn)了許多麻煩,還有焊接的經(jīng)驗不足導(dǎo)致了虛焊;在匯編編程時,書本上的很多知識又學(xué)的很不扎實,程序基本語句理解不夠透徹,導(dǎo)致編一個簡單程序都需要大量時間
101、且過于復(fù)雜,真是耗時耗力耗單片機(jī)內(nèi)存。 </p><p> 不足之處:數(shù)字電子鐘的設(shè)計由于采用的是用硬件定時和軟件計數(shù)的方式產(chǎn)生的1s,而忽略了CPU執(zhí)行指令所需的時間,故時鐘顯示不是很精確。</p><p><b> 參考文獻(xiàn)</b></p><p> [1] 李廣弟,單片機(jī)基礎(chǔ)[M],北京:北京航空航天大學(xué)出版社,2007.06 &l
102、t;/p><p> Li Guangdi,MCU basic[M].Beijing:Beihang University Press,2007.06</p><p> [2] 閻石.數(shù)字電子技術(shù)基礎(chǔ)(第四版).北京:高等教育出版社,1998.07</p><p> Yan Shi. Digital Electronic Technology Basis(4rd e
103、dition) .Beijing</p><p> Higher Education Press,1998.07</p><p> [3] 邱光源.電路(第五版).北京:高等教育出版社,2006.05</p><p> Qiu Guangyuan. Electrocircuit(5rd edition).Beijing:Higher </p>&
104、lt;p> EducationPress,2006.05</p><p><b> 致 謝</b></p><p> 本次單片機(jī)技術(shù)課程設(shè)計的完成,很大程度上要歸功于王韌老師。正是因為王老師那一絲不茍、剛正不阿的態(tài)度才使我們有了做課程設(shè)計的動力。感謝老師的助我們開拓解決問題思路,精心點撥、熱忱鼓勵。老師一絲不茍的作風(fēng),嚴(yán)謹(jǐn)求實的態(tài)度,踏踏實實的精神,不僅
105、授我以文,而且教我做人,是授以終生受益無窮之道。對王老師的感激之情是無法用言語表達(dá)的。</p><p> 還有感謝學(xué)校對我們此次課程設(shè)計的大力支持,在學(xué)校的教學(xué)設(shè)備相對緊張的情況下,依然為我們安排了充分的時間使用學(xué)校的機(jī)房。感謝我的同學(xué)在這個時間段對我完成課程設(shè)計的支持。是你們在我遇到困難時,及時的幫助了我,使得程序等進(jìn)展順利。 </p><p><b> 附錄 二</
106、b></p><p><b> PCB頂層圖</b></p><p><b> PCB底層圖</b></p><p><b> 附錄 三</b></p><p><b> 元器件布局圖</b></p><p><
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)字電子鐘課程設(shè)計
- 數(shù)字電子鐘課程設(shè)計
- 課程設(shè)計---數(shù)字電子鐘
- 數(shù)字電子鐘課程設(shè)計
- 數(shù)字電子鐘課程設(shè)計
- 數(shù)字電子鐘課程設(shè)計
- 單片機(jī)電子鐘課程設(shè)計---數(shù)字電子鐘
- 數(shù)字電子鐘課程設(shè)計 (2)
- 數(shù)字電子鐘課程設(shè)計 (3)
- 數(shù)字電子鐘課程設(shè)計--電子數(shù)字時鐘
- 數(shù)字電子鐘課程設(shè)計論文
- 數(shù)字電子鐘課程設(shè)計 (4)
- 數(shù)字電子鐘課程設(shè)計報告
- eda課程設(shè)計--數(shù)字電子鐘課程設(shè)計
- 數(shù)字電子鐘課程設(shè)計--數(shù)字電子鐘邏輯電路設(shè)計
- 數(shù)字電子鐘課程設(shè)計報告
- 數(shù)字電子鐘課程設(shè)計報告
- 數(shù)字電子鐘課程設(shè)計報告
- 數(shù)字電子鐘課程設(shè)計 (3)
- 《單片機(jī)技術(shù)》電子鐘課程設(shè)計---數(shù)字電子鐘
評論
0/150
提交評論