課程設(shè)計(jì)---數(shù)字電子鐘_第1頁(yè)
已閱讀1頁(yè),還剩28頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  單片機(jī)技術(shù)課程設(shè)計(jì)說(shuō)明書(shū)</p><p><b>  數(shù)字電子鐘</b></p><p>  系 、 部: </p><p>  學(xué)生姓名: </p><p>  指導(dǎo)教師: 職稱 </p><p>  專 業(yè): 自動(dòng)化

2、 </p><p>  班 級(jí): </p><p>  完成時(shí)間: 2010.12.30 </p><p><b>  摘 要</b></p><p>  鐘表作為一個(gè)定時(shí)工具被廣泛地應(yīng)用于生產(chǎn)生活的各個(gè)方面,而電子表具有價(jià)格便宜、質(zhì)量輕、定時(shí)誤差小等優(yōu)點(diǎn)。本次設(shè)計(jì)的

3、數(shù)字電子鐘采用了AT89S52芯片進(jìn)行匯編,由8位8段數(shù)碼管進(jìn)行動(dòng)態(tài)刷新顯示,有四個(gè)獨(dú)立按鍵。可以進(jìn)行秒、分、時(shí)的調(diào)整,且操作簡(jiǎn)單,計(jì)時(shí)誤差小,顯示亮度高,具有良好的實(shí)用價(jià)值。</p><p>  關(guān)鍵詞 數(shù)字電子鐘;單片機(jī);匯編語(yǔ)言</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è)計(jì)課題任務(wù)、

6、功能要求說(shuō)明及總體方案介紹…………………………………1</p><p>  1.1 設(shè)計(jì)課題任務(wù)…………………………………………………………………1</p><p>  1.2 功能要求說(shuō)明…………………………………………………………………1</p><p>  1.3 設(shè)計(jì)課題總體方案介紹及工作原理說(shuō)明……………………………………1</p><

7、p>  2 設(shè)計(jì)課題硬件系統(tǒng)的設(shè)計(jì)…………………………………………………………2</p><p>  2.1 硬件總體設(shè)計(jì) ………………………………………………………………2</p><p>  2.2 設(shè)計(jì)課題硬件系統(tǒng)各模塊功能簡(jiǎn)要介紹……………………………………2</p><p>  2.3 設(shè)計(jì)課題電路原理圖、PCB圖、元器件布局圖 ……………………

8、………3</p><p>  2.4 設(shè)計(jì)課題元器件清單…………………………………………………………3</p><p>  3 設(shè)計(jì)課題軟件系統(tǒng)的設(shè)計(jì)…………………………………………………………4</p><p>  3.1 設(shè)計(jì)課題使用單片機(jī)資源的情況……………………………………………4</p><p>  3.2 數(shù)字電子鐘軟件系統(tǒng)主要

9、模塊功能簡(jiǎn)要介紹………………………………4</p><p>  3.3 數(shù)字電子鐘軟件系統(tǒng)程序流程框圖…………………………………………5</p><p>  3.4 設(shè)計(jì)課題軟件系統(tǒng)程序清單…………………………………………………7</p><p>  4 設(shè)計(jì)結(jié)論、仿真結(jié)果、誤差分析 ………………………………………………16</p><p>

10、;  4.1 設(shè)計(jì)課題的設(shè)計(jì)結(jié)論及使用說(shuō)明…………………………………………16</p><p>  4.2 設(shè)計(jì)課題的仿真結(jié)果………………………………………………………17</p><p>  4.3 設(shè)計(jì)課題的誤差分析………………………………………………………17</p><p>  4.4 設(shè)計(jì)重點(diǎn)、難點(diǎn),體會(huì)及不足之處………………………………………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è)計(jì)課題任務(wù)、功能要求說(shuō)明及總體方案介紹<

13、;/p><p>  1.1 設(shè)計(jì)課題任務(wù)</p><p>  通過(guò)理論設(shè)計(jì)和實(shí)物制作解決相應(yīng)的實(shí)際問(wèn)題,鞏固和運(yùn)用在《單片機(jī)技術(shù)》中所學(xué)的理論知識(shí)和實(shí)驗(yàn)技能,掌握單片機(jī)應(yīng)用系統(tǒng)的一般設(shè)計(jì)方法,提高設(shè)計(jì)能力和實(shí)踐動(dòng)手能力,為以后從事電子電路設(shè)計(jì)、研發(fā)電子產(chǎn)品打下良好的基礎(chǔ)。</p><p>  1.2 功能要求說(shuō)明</p><p>  設(shè)計(jì)一個(gè)具有

14、特定功能的電子鐘。該電子鐘上電或按鍵復(fù)位后能自動(dòng)顯示系統(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)。</p><p>  1.3 設(shè)計(jì)課題總體方案介紹及工作原理說(shuō)明</p><p>  方案一:采

15、用時(shí)鐘芯片DS1302,該芯片可以進(jìn)行時(shí)分秒的計(jì)數(shù),DS1302通過(guò)串行方式與單片機(jī)進(jìn)行數(shù)據(jù)傳送,向單片機(jī)提供包括秒、分、時(shí)、日、月、年等在內(nèi)的實(shí)時(shí)時(shí)間信息,并可對(duì)月末日期、閏年天數(shù)自動(dòng)進(jìn)行調(diào)整,但是需在單片機(jī)外部擴(kuò)展,電路較復(fù)雜,成本較高。</p><p>  方案二:采用單片機(jī)內(nèi)部定時(shí)器,用軟件對(duì)其進(jìn)行秒、分、時(shí)的計(jì)數(shù),單片機(jī)無(wú)法產(chǎn)生1s的定時(shí)時(shí)間,但是可以用硬件定時(shí)和軟件計(jì)數(shù)相結(jié)合的方法實(shí)現(xiàn),采用中斷方式,

16、即通過(guò)中斷服務(wù)程序進(jìn)行計(jì)數(shù)器溢出次數(shù)的累計(jì),把定時(shí)器/計(jì)數(shù)器設(shè)定為62.5ms,計(jì)數(shù)溢出16次就可以得到1s,計(jì)60次為1分,60分計(jì)60次則為1小時(shí),然后通過(guò)數(shù)碼管動(dòng)態(tài)刷新顯示出來(lái),再設(shè)四個(gè)按鍵進(jìn)行時(shí)間的調(diào)整,一個(gè)鍵用作啟動(dòng)/調(diào)整鍵,其余三個(gè)分別用于時(shí)、分、秒的調(diào)整。方案二不需要外部擴(kuò)展芯片,電路較簡(jiǎn)單,成本較低,這里選用方案二。</p><p>  數(shù)字電子鐘硬件系統(tǒng)的設(shè)計(jì)</p><p&

17、gt;  2.1 硬件總體設(shè)計(jì)</p><p>  硬件系統(tǒng)總體設(shè)計(jì)如圖2.1所示。</p><p>  圖2.1 硬件系統(tǒng)總體設(shè)計(jì)</p><p>  2.2 數(shù)字電子鐘硬件系統(tǒng)主要模塊功能簡(jiǎn)要介紹</p><p> ?。?) 功能芯片:本次設(shè)計(jì)采用ATMEL公司生產(chǎn)的AT89S52芯片,低功耗、高性能CMOS8位微控制器,具有 8K

18、在系統(tǒng)可編程Flash 存儲(chǔ)器。256字節(jié)RAM, 32 位I/O 口線,與工業(yè)80C51 產(chǎn)品指令和引腳完全兼容。價(jià)格較低,能滿足本次設(shè)計(jì)的要求。</p><p>  (2) 電源和復(fù)位模塊:AT89S52需5V電壓,所以可以采用USB接口的5V電源對(duì)其供電,復(fù)位電路可采用上電復(fù)位、按鍵電平復(fù)位、按鍵脈沖復(fù)位3種,本次采用按鍵電平復(fù)位。如電路原理圖中的電源和復(fù)位模塊。</p><p> 

19、?。?) 顯示模塊:該模塊由8位8段共陽(yáng)極數(shù)碼管組成,由8個(gè)PNP型三極管分別驅(qū)動(dòng)其發(fā)光,從左至右位控分別接于單片機(jī)的P2.7-P2.0中上,段控a-dP接于單片機(jī)的P0.0-P0.7口上,使用動(dòng)態(tài)顯示從右向左循環(huán)點(diǎn)亮每一位數(shù)碼管。如電路原理圖中的數(shù)碼管電路。</p><p> ?。?) 鍵盤(pán)模塊:鍵盤(pán)由8個(gè)獨(dú)立式按鍵組成,S0-S7鍵分別接在單片機(jī)的P1.0-P1.7口,并由上拉電阻上拉使其成為電位為高。如電

20、路原理圖中的獨(dú)立鍵盤(pán)模塊。</p><p> ?。?) 時(shí)鐘模塊:為了保證同步工作方式的思想,單片機(jī)必須有時(shí)鐘信號(hào),以使其系統(tǒng)在時(shí)鐘信號(hào)的控制下按時(shí)序協(xié)調(diào)工作。如電路原理圖中的晶振電路。</p><p>  2.3 數(shù)字電子鐘電路原理圖、PCB圖、元器件布局圖</p><p>  數(shù)字電子鐘電路原理圖見(jiàn)附錄一。</p><p>  數(shù)字電子

21、鐘PCB圖見(jiàn)附錄二。</p><p>  數(shù)字電子鐘元件布局圖見(jiàn)附錄三。</p><p>  2.4 數(shù)字電子鐘元器件清單</p><p>  數(shù)字電子鐘元器件清單見(jiàn)附錄四。</p><p>  數(shù)字電子鐘軟件系統(tǒng)的設(shè)計(jì)</p><p>  3.1 數(shù)字電子鐘使用單片機(jī)資源的情況</p><p&

22、gt; ?。?) 時(shí)鐘的時(shí)分秒在片內(nèi)RAM存儲(chǔ)地址如表3.1所示。</p><p>  表 3.1 時(shí)鐘存儲(chǔ)地址</p><p> ?。?) 在AT89S52的P0口和P2口外接八個(gè)數(shù)碼管,用P0口作數(shù)碼管的段控碼輸出口(P0.0-P0.7對(duì)應(yīng)于數(shù)碼管的a-dp),P2.7-P2.0作數(shù)碼管的位控碼輸出(P2.7-P2.0對(duì)應(yīng)于LED7-LED0),20H.0-20H.3作為P1.0-P

23、1.3的位標(biāo)志存儲(chǔ)地址。</p><p>  (3) 定時(shí)器0以中斷方式工作,工作方式1。</p><p>  3.2 數(shù)字電子鐘軟件系統(tǒng)主要模塊功能簡(jiǎn)要介紹</p><p> ?。?) 主程序:主程序的主要功能是進(jìn)行定時(shí)器/計(jì)數(shù)器,顯示緩沖區(qū)的初始化,顯示,以及判斷是否有功能鍵按下,判斷按下的鍵并調(diào)相應(yīng)的鍵功能程序。</p><p>  

24、(2) 鍵功能程序:鍵功能程序的主要功能是執(zhí)行對(duì)應(yīng)的功能,Menu鍵為啟動(dòng)/調(diào)整鍵,第一次按下則由待機(jī)狀態(tài)進(jìn)入運(yùn)行狀態(tài)啟動(dòng)時(shí)鐘,從00-00-00開(kāi)始顯示,然后按下為奇數(shù)則暫停,進(jìn)入調(diào)時(shí)狀態(tài),按下Sec鍵則秒加1,按下Min鍵則分加1,按下Hour鍵則時(shí)加1;若按下為偶數(shù)則進(jìn)入時(shí)鐘運(yùn)行狀態(tài)。</p><p> ?。?) 中斷服務(wù)程序:中斷服務(wù)程序的主要功能是進(jìn)行計(jì)時(shí)操作,程序開(kāi)始先判斷計(jì)數(shù)溢出是否滿了16次,若不

25、滿16次則表明沒(méi)有達(dá)到最小計(jì)時(shí)單位秒,則中斷返回;若滿16次表明已達(dá)到最小計(jì)時(shí)單位秒,則程序斷續(xù)向下執(zhí)行,進(jìn)行分和時(shí)的計(jì)時(shí)。</p><p> ?。?) 顯示子程序:顯示程序的主要功能是將顯示緩沖區(qū)的段控碼正確的顯示在數(shù)碼管上,采用動(dòng)態(tài)顯示,從右向左循環(huán)點(diǎn)亮每一位數(shù)碼管。</p><p>  (5) 鍵掃子程序:鍵掃子程序的主要功能是判斷是否有鍵按下,是哪個(gè)鍵按下,并將鍵值保存在20H中。

26、</p><p>  3.3 數(shù)字電子鐘軟件系統(tǒng)程序流程框圖</p><p> ?。?) 主程序流程框圖如圖3.1所示。</p><p> ?。?) 計(jì)時(shí)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 計(jì)時(shí)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>  ;項(xiàng)目名稱:數(shù)字式電子鐘</p><p><b>  ;設(shè)計(jì)者:李松海<

29、/b></p><p>  ;設(shè)計(jì)日期: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>  ;獨(dú)立式鍵盤(pán)設(shè)定;</b></p><p>  ;8個(gè)按鍵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í)器/計(jì)數(shù)器資源:</p><p>  ;T/C0:工作

34、模式;功能;定時(shí)時(shí)間;查詢或中斷</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.字型代碼序號(hào)表)</p><p>  ;DISBI(00-00

38、-00字符的代碼序號(hào))</p><p>  ;TAB(共陽(yáng)數(shù)碼管字型代碼表)</p><p>  ;**********************************************************************; </p><p><b>  ;子程序;</b></p><p>  ;DL

39、(2毫秒延時(shí)子程序)</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、 ;定時(shí)器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ū)單元個(gè)數(shù) 95個(gè)</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 ;時(shí)寄存器</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 ;開(kāi)定時(shí)器</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)時(shí)</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>  ;延時(shí)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 ;顯示緩沖存儲(chǔ)單元首地址</p><p>  MOV R2, #0FEH ;從右至左顯示,共陽(yáng)極</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 ;延時(shí)2毫秒 為什么這里要延時(shí)</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)前寄存器組的組號(hào)</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 ;沒(méi)有鍵按下,轉(zhuǎn)返回</p><p>  LCALL DISP ;調(diào)顯示子程序去抖動(dòng)</p><p>  LCALL DISP</p><p>  LCALL KEYCHULI ;調(diào)P1口數(shù)據(jù)處理子程序</

80、p><p>  JZ EXIT ;沒(méi)有鍵按下,轉(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)顯示子程序延時(shí)</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)場(chǎng)</p><p>  CLR RS1 ;改變當(dāng)前寄存器組為組1</p><p>  SETB RS0</p><p>  MOV P1,#0FFH ;先向P1口寫(xiě)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)場(chǎng)</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.”字符序號(hào)</p><p>  DISBI: DB 00H,00H,12H,00H,00H,12H,00H,00H</p><p>  ;顯示字符段選碼表(共陽(yáng)極代碼)</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è)計(jì)結(jié)論、仿真結(jié)果、誤差分析</p><p>  4.1 數(shù)字電子鐘的設(shè)計(jì)結(jié)論及使用說(shuō)明</p><p>  該電子鐘上電或按鍵復(fù)位后能自動(dòng)顯示系統(tǒng)提

94、示符“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)。</p><p>  S2鍵為啟動(dòng)/調(diào)整鍵,S3鍵為時(shí)調(diào)節(jié),S4鍵為分調(diào)節(jié),S5鍵為秒調(diào)節(jié)。</p><p><b>  操作步驟如下:<

95、/b></p><p>  將+5V電源接到電子鐘電源插口上,接通電源開(kāi)關(guān)。</p><p>  把電子鐘電路板上的ISP程序下載線連接到計(jì)算機(jī)USB接口,在計(jì)算機(jī)上通過(guò)avr_fighter軟件把電子鐘程序下載到單片機(jī)內(nèi)。</p><p>  電子鐘程序下載到單片機(jī)以后,電子鐘進(jìn)入命令狀態(tài),顯示“P.”。</p><p>  按下S2

96、鍵,電子鐘從0開(kāi)始運(yùn)行,此時(shí)LED7、LED6、LED4、LED3、LED1、LED0分別顯示時(shí)、分、秒。</p><p>  再次按下S2鍵,電子鐘進(jìn)入調(diào)時(shí)狀態(tài),此時(shí)通過(guò)S3鍵、S4鍵、S5鍵分別調(diào)整電子鐘的時(shí)、分、秒。按一下對(duì)應(yīng)的值加一。調(diào)整到想要的時(shí)間后,再次按下S2鍵,電子鐘將以用戶調(diào)整時(shí)間為起點(diǎn)進(jìn)入運(yùn)行狀態(tài)。</p><p>  4.2 數(shù)字電子鐘的仿真結(jié)果</p>

97、<p>  本次設(shè)計(jì)的數(shù)字電子鐘有三種狀態(tài):待機(jī)顯示“P.”狀態(tài),時(shí)鐘運(yùn)行狀態(tài),時(shí)鐘調(diào)整狀態(tài)。它們分別如圖4.1、圖4.2、圖4.3所示。</p><p>  圖4.1 待機(jī)顯示“P.”狀態(tài)仿真結(jié)果</p><p>  圖4.2時(shí)鐘運(yùn)行狀態(tài)仿真結(jié)果</p><p>  圖4.3 時(shí)鐘調(diào)整狀態(tài)仿真結(jié)果</p><p>  4.3

98、 數(shù)字電子鐘的誤差分析</p><p>  雖說(shuō)采用軟件方式來(lái)產(chǎn)生1s的基本時(shí)間,然而定時(shí)器/計(jì)數(shù)器本身不能產(chǎn)生標(biāo)準(zhǔn)的1s定時(shí),產(chǎn)生一個(gè)標(biāo)準(zhǔn)時(shí)間之后進(jìn)行循環(huán)計(jì)數(shù)得到1s,但CPU執(zhí)行代碼需要1-2μs的時(shí)間,因此產(chǎn)生的1s,1分,1小時(shí),都會(huì)略大于標(biāo)準(zhǔn)的時(shí)間。此外,單片機(jī)也易受外界環(huán)境的影響,比如溫度、濕度等干擾。故應(yīng)該讓單片機(jī)工作在適宜的環(huán)境下,同時(shí)采用實(shí)時(shí)時(shí)鐘芯片,這樣能將誤差降低到最小。</p>

99、<p>  4.4 設(shè)計(jì)重點(diǎn)、難點(diǎn),體會(huì)及不足之處</p><p>  重點(diǎn):?jiǎn)纹n程設(shè)計(jì)考察的是一個(gè)人理論與實(shí)踐相結(jié)合的能力,要求設(shè)計(jì)者具有一定的理論知識(shí)及動(dòng)手操作能力。比如用Proteus軟件進(jìn)行單片機(jī)系統(tǒng)電路的仿真設(shè)計(jì)、Protel軟件的使用、PCB板的硬件制作,Keil軟件編寫(xiě)和調(diào)試匯編程序。</p><p>  難點(diǎn):硬件電路的故障檢測(cè)和修復(fù),原理電路圖的仿真設(shè)計(jì)

100、,匯編程序的編寫(xiě)和調(diào)試。</p><p>  體會(huì):現(xiàn)在來(lái)回想單片機(jī)的課程設(shè)計(jì),有許多感觸,從最開(kāi)始接觸單片機(jī)和匯編語(yǔ)言,到現(xiàn)在能獨(dú)立完成一個(gè)課程設(shè)計(jì),我必須得感謝王老師的諄諄教導(dǎo)和辛勤付出,是老師給了我動(dòng)力。在本學(xué)期初期做PCB板時(shí)因布局的不科學(xué)導(dǎo)致最后的制作使用出現(xiàn)了許多麻煩,還有焊接的經(jīng)驗(yàn)不足導(dǎo)致了虛焊;在匯編編程時(shí),書(shū)本上的很多知識(shí)又學(xué)的很不扎實(shí),程序基本語(yǔ)句理解不夠透徹,導(dǎo)致編一個(gè)簡(jiǎn)單程序都需要大量時(shí)間

101、且過(guò)于復(fù)雜,真是耗時(shí)耗力耗單片機(jī)內(nèi)存。 </p><p>  不足之處:數(shù)字電子鐘的設(shè)計(jì)由于采用的是用硬件定時(shí)和軟件計(jì)數(shù)的方式產(chǎn)生的1s,而忽略了CPU執(zhí)行指令所需的時(shí)間,故時(shí)鐘顯示不是很精確。</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è)計(jì)的完成,很大程度上要?dú)w功于王韌老師。正是因?yàn)橥趵蠋熌且唤z不茍、剛正不阿的態(tài)度才使我們有了做課程設(shè)計(jì)的動(dòng)力。感謝老師的助我們開(kāi)拓解決問(wèn)題思路,精心點(diǎn)撥、熱忱鼓勵(lì)。老師一絲不茍的作風(fēng),嚴(yán)謹(jǐn)求實(shí)的態(tài)度,踏踏實(shí)實(shí)的精神,不僅

105、授我以文,而且教我做人,是授以終生受益無(wú)窮之道。對(duì)王老師的感激之情是無(wú)法用言語(yǔ)表達(dá)的。</p><p>  還有感謝學(xué)校對(duì)我們此次課程設(shè)計(jì)的大力支持,在學(xué)校的教學(xué)設(shè)備相對(duì)緊張的情況下,依然為我們安排了充分的時(shí)間使用學(xué)校的機(jī)房。感謝我的同學(xué)在這個(gè)時(shí)間段對(duì)我完成課程設(shè)計(jì)的支持。是你們?cè)谖矣龅嚼щy時(shí),及時(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. 本站所有資源如無(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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論