2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩30頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  畢業(yè)設(shè)計(論文)</b></p><p>  基于單片機的電子時鐘設(shè)計</p><p>  學(xué)生姓名: </p><p>  學(xué) 號: </p><p>  所在系部: </p><p>  專

2、業(yè)班級: </p><p>  指導(dǎo)老師: </p><p>  日 期: </p><p>  Based on single-chip electronic clock design</p><p><b>  By</b></p>&

3、lt;p><b>  May 2012</b></p><p><b>  學(xué)位論文原創(chuàng)性聲明</b></p><p>  本人鄭重聲明:所呈交的學(xué)位論文是本人在導(dǎo)師的指導(dǎo)下獨立進行研究所取得 研究成果。除了文中特別加以標注引用的內(nèi)容外,本論文不包含任何其他個人或集體已經(jīng)發(fā)表或撰寫的成果作品。本人完全意識到本聲明的法律后果由本人承擔(dān)。<

4、;/p><p>  二〇一二年五月二十八日</p><p>  學(xué)位論文版權(quán)使用授權(quán)書</p><p>  本學(xué)位論文作者完全了解學(xué)員有關(guān)保管和使用學(xué)位論文的規(guī)定,同意學(xué)院保留并向有關(guān)學(xué)位論文管理部門或機構(gòu)送交論文的復(fù)印和電子版,允許論文被查閱和借閱。本人授權(quán)省級優(yōu)秀學(xué)士學(xué)位輪本評選機構(gòu)將本學(xué)位論文的全部或部分內(nèi)容編入有關(guān)數(shù)據(jù)庫進行檢索,可以采用影印或縮印掃描等復(fù)制手段

5、保存和匯入本學(xué)位論文。</p><p>  二〇一二年五月二十八日</p><p><b>  摘 要</b></p><p>  20 世紀末,電子技術(shù)獲得了飛速的發(fā)展,在其推動下,現(xiàn)代電子產(chǎn)品幾乎滲透了社 會的各個領(lǐng)域, 有力地推動了社會生產(chǎn)力的發(fā)展和社會信息化程度的提高, 同時也使現(xiàn)代 電子產(chǎn)品性能進一步提高,產(chǎn)品更新?lián)Q代的節(jié)奏也越

6、來越快. 現(xiàn)代生活的人們越來越重視起了時間觀念, 可以說是時間和金錢劃上了等號. 對于那 些對時間把握非常嚴格和準確的人或事來說, 時間的不準確會帶來非常大的麻煩, 所以以 數(shù)碼管為顯示器的時鐘比指針式的時鐘表現(xiàn)出了很大的優(yōu)勢. 數(shù)碼管顯示的時間簡單明了 而且讀數(shù)快,時間準確顯示到秒.而機械式的依賴于晶體震蕩器,可能會導(dǎo)致誤差. 數(shù)字鐘是采用數(shù)字電路實現(xiàn)對"時""分""秒"數(shù)字

7、顯示的計時裝置.數(shù)字鐘的精度,穩(wěn)定度遠遠超過老式機械鐘.</p><p>  在這次設(shè)計中,我們采用 LED 數(shù)碼管顯示時,分,秒, 以 24 小時計時方式,根據(jù)數(shù)碼管動態(tài)顯示原理來進行顯示,用 12MHz 的晶振產(chǎn)生振蕩脈 沖,定時器計數(shù).在此次設(shè)計中,電路具有顯示時間的其本功能,還可以實現(xiàn)對時間的調(diào) 整.數(shù)字鐘是其小巧,價格低廉,走時精度高,使用方便,功能多,便于集成化而受廣大 消費的喜愛,因此得到了廣泛的使

8、用. </p><p>  關(guān)鍵字:數(shù)字電子鐘 單片機</p><p><b>  Abstract</b></p><p>  At the end of the 20th century, electronic technology has experienced rapid growth, the modern electronic pr

9、oducts, almost permeated the various sectors of society, and promoted the development of social productive forces and the social informatization level, but also improve the modern electronic products to further improve t

10、he performance, product update rhythm also more and more quickly. Modern life of people pay more and more attention to the concept of time, money and time on the hospital. </p><p>  In this design, we adopt

11、LED digital display tube, minutes and seconds, when in 24 hours time, according to the principle of dynamic display of digital tube to show, with the crystals 12MHz produce oscillation pulses, timer count. In this design

12、, the circuit has its time, still can realize the function of the time. A digital clock is its small, inexpensive, high precision, easy to use and when, the function is much, facilitate integration by vast consumption, s

13、o it has been widely used.</p><p>  Key words: digital electric clock microcontroller.</p><p><b>  目 錄</b></p><p><b>  摘 要I</b></p><p>  A

14、bstractII</p><p><b>  第一章引言7</b></p><p>  第二章方案論證與比較8</p><p>  2.1數(shù)字時鐘方案8</p><p>  2.2數(shù)碼管顯示方案8</p><p>  第三章系統(tǒng)設(shè)計9</p><p>&

15、lt;b>  3.1總體設(shè)計9</b></p><p>  3.1.1系統(tǒng)說明9</p><p>  3.1.2系統(tǒng)框圖9</p><p>  3.2模塊設(shè)計10</p><p>  3.2.1電源部分10</p><p>  3.2.2復(fù)位電路10</p><p>

16、;  3.2.3程序下載接口11</p><p>  3.2.4位選部分11</p><p>  3.2.5數(shù)碼管的連接電路12</p><p>  3.2.6控制部分13</p><p>  第四章原理圖與PCB圖15</p><p>  第五章軟件設(shè)計16</p><p> 

17、 5.1程序流程圖17</p><p><b>  5.2源程序19</b></p><p><b>  第六章總結(jié)25</b></p><p>  6.1物品清單與元件特性25</p><p>  6.2設(shè)計總結(jié)26</p><p><b>  參考文

18、獻28</b></p><p><b>  致 謝30</b></p><p><b>  引 言</b></p><p>  1.1 電子時鐘的研究背景及國內(nèi)外發(fā)展現(xiàn)狀</p><p>  時鐘,自從它發(fā)明的那天起,就成為人類的朋友,但隨著時間的推移,科學(xué)技術(shù)的不斷發(fā)展,人們對

19、時間計量的精度要求越來越高,應(yīng)用越來越廣。怎樣讓時鐘更好的為人民服務(wù),怎樣讓我們的老朋友煥發(fā)青春呢?這就要求人們不斷設(shè)計出新型時鐘。</p><p>  現(xiàn)今,高精度的計時工具大多數(shù)都使用了石英晶體振蕩器,由于電子鐘,石英表,石英鐘都采用了石英技術(shù),因此走時精度高,穩(wěn)定性好,使用方便,不需要經(jīng)常調(diào)校,數(shù)字式電子鐘用集成電路計時時,譯碼代替機械式傳動,用LED顯示器代替顯示器代替指針顯示進而顯示時間,減小了計時誤差

20、,這種表具有時,分,秒顯示時間的功能,還可以進行時和分的校對,片選的靈活性好。</p><p>  時鐘電路在計算機系統(tǒng)中起著非常重要的作用,是保證系統(tǒng)正常工作的基礎(chǔ)。在一個單片機應(yīng)用系統(tǒng)中,時鐘有兩方面的含義:一是指為保障系統(tǒng)正常工作的基準振蕩定時信號,主要由晶振和外圍電路組成,晶振頻率的大小決定了單片機系統(tǒng)工作的快慢;二是指系統(tǒng)的標準定時時鐘,即定時時間,它通常有兩種實現(xiàn)方法:一是用軟件實現(xiàn),即用單片機內(nèi)部的

21、可編程定時/計數(shù)器來實現(xiàn),但誤差很大,主要用在對時間精度要求不高的場合;二是用專門的時鐘芯片實現(xiàn),在對時間精度要求很高的情況下,通常采用這種方法,典型的時鐘芯片有:DS1302,DS12887,X1203等都可以滿足高精度的要求。</p><p>  本文主要介紹用單片機內(nèi)部的定時/計數(shù)器來實現(xiàn)電子時鐘的方法,本設(shè)計由單片機AT89S51芯片和LED數(shù)碼管為核心,輔以必要的電路,構(gòu)成了一個單片機電子時鐘。<

22、/p><p>  第二章 方案論證與比較</p><p><b>  2.1數(shù)字時鐘方案</b></p><p>  數(shù)字時鐘是本設(shè)計的最主要的部分。根據(jù)需要,可利用兩種方案實現(xiàn)。</p><p>  方案一:本方案采用Dallas公司的專用時鐘芯片DS12887A。該芯片內(nèi)部采用石英晶體振蕩器,其芯片精度不大于10ms/年

23、,且具有完備的時鐘鬧鐘功能,因此,可直接對其以用于顯示或設(shè)置,使得軟件編程相對簡單。為保證時鐘在電網(wǎng)電壓不足或突然掉電等突發(fā)情況下仍能正常工作,芯片內(nèi)部包含鋰電池。當電網(wǎng)電壓不足或突然掉電時,系統(tǒng)自動轉(zhuǎn)換到內(nèi)部鋰電池供電系統(tǒng)。而且即使系統(tǒng)不上電,程序不執(zhí)行時,鋰電池也能保證芯片的正常運行,以備隨時提供正確的時間。</p><p>  方案二:本方案完全用軟件實現(xiàn)數(shù)字時鐘。原理為:在單片機內(nèi)部存儲器設(shè)三個字節(jié)分別存

24、放時鐘的時、分、秒信息。利用定時器與軟件結(jié)合實現(xiàn)1秒定時中斷,每產(chǎn)生一次中斷,存儲器內(nèi)相應(yīng)的秒值加1;若秒值達到60,則將其清零,并將相應(yīng)的分字節(jié)值加1;若分值達到60,則清零分字節(jié),并將時字節(jié)值加1;若時值達到24,則將十字節(jié)清零。該方案具有硬件電路簡單的特點。但由于每次執(zhí)行程序時,定時器都要重新賦初值,所以該時鐘精度不高。而且,由于是軟件實現(xiàn),當單片機不上電,程序不執(zhí)行時,時鐘將不工作。</p><p>  

25、基于硬件電路的考慮,本設(shè)計采用方案二完成數(shù)字時鐘的功能。</p><p>  2.2數(shù)碼管顯示方案</p><p>  方案一:靜態(tài)顯示。所謂靜態(tài)顯示,就是當顯示器顯示某一字符時,相應(yīng)的發(fā)光二極管恒定的導(dǎo)通或截止。該方式每一位都需要一個8 位輸出口控制。靜態(tài)顯示時較小的電流能獲得較高的亮度,且字符不閃爍。但當所顯示的位數(shù)較多時,靜態(tài)顯示所需的I/O口太多,造成了資源的浪費。</p&g

26、t;<p>  方案二:動態(tài)顯示。所謂動態(tài)顯示就是一位一位的輪流點亮各個位,對于顯示器的每一位來說,每隔一段時間點亮一次。利用人的視覺暫留功能可以看到整個顯示,但必須保證掃描速度足夠快,字符才不閃爍。顯示器的亮度既與導(dǎo)通電流有關(guān),也于點亮?xí)r間與間隔時間的比例有關(guān)。調(diào)整參數(shù)可以實現(xiàn)較高穩(wěn)定度的顯示。動態(tài)顯示節(jié)省了I/O口,降低了能耗。</p><p>  從節(jié)省I/O口和降低能耗出發(fā),本設(shè)計采用方案二

27、。</p><p><b>  第三章 系統(tǒng)設(shè)計</b></p><p><b>  3.1總體設(shè)計</b></p><p><b>  3.1.1系統(tǒng)說明</b></p><p>  利用單片機(AT89S51)制作簡易電子時鐘,由六個LED數(shù)碼管分別顯示小時十位、小時個位

28、、分鐘十位、分鐘個位、秒鐘十位、秒鐘個位。6個PNP管(9012)分別控制六個數(shù)碼管的亮滅,一個按鍵用于時間調(diào)整。</p><p><b>  3.1.2系統(tǒng)框圖</b></p><p><b>  圖3-1</b></p><p><b>  3.2模塊設(shè)計</b></p><p

29、><b>  3.2.1電源部分</b></p><p><b>  圖3-2</b></p><p>  如圖3-2所示,從外部引入4.5V的直流電,為單片機、復(fù)位電路提供電源。</p><p><b>  3.2.2復(fù)位電路</b></p><p><b>

30、  圖3-3</b></p><p>  如圖3-3所示,復(fù)位電路主要由型號為1N4148的二極管,型號為10UF/16V的電解電容,型號為104的瓷片電容,10K的電阻以及按鍵S1構(gòu)成,S1接芯片的相應(yīng)引腳RST,當開關(guān)按下時引腳RST為高電平1,斷開時引腳為低電平0。</p><p>  3.2.3程序下載接口</p><p><b>  

31、圖3-4</b></p><p>  如圖3-4所示,由AT89S ISP構(gòu)成的兩排十針下載口,板圖上有一個小方框,為1號引角;下載線的凸口為正方向,凸口的右側(cè)邊的第一個插孔為1號引角。</p><p><b>  3.2.4位選部分</b></p><p><b>  圖3-5</b></p>

32、<p>  圖3-5為位選電路,三極管的集電極接數(shù)碼管的公共端,當P2口對應(yīng)的引腳輸出高電平時三極管導(dǎo)通,對應(yīng)的數(shù)碼管顯示數(shù)據(jù)。這樣,在同一時刻,6位LED中只有選通的那1位顯示出字符,而其他5位則是熄滅的。同樣,在下一時刻,只讓下一位的位選線處于選通狀態(tài),而其他個位的位選線處于關(guān)閉狀態(tài),在段碼線上輸出將要顯示字符的段碼,則同一時刻,只有選通位顯示出相應(yīng)的字符,而其他各位則是熄滅的。如此循環(huán)下去,就可以使各位顯示出將要顯示的字

33、符。雖然這些字符是在不同時刻出現(xiàn)的,而在同一時刻,只有一位顯示,其他各位熄滅,但由于LED的余輝和人眼的視覺暫留作用,只要每位顯示間隔足夠短,則可以造成多位同時亮的假象,達到同時顯示的效果。</p><p>  3.2.5數(shù)碼管的連接電路</p><p><b>  圖3-6</b></p><p>  圖3-6為數(shù)碼管的引腳圖,每位的段碼線(

34、a,b,c,d,e,f,g,dp)分別與1個8位的鎖存器輸出相連,由AT89S51控制組合0-9十個數(shù)據(jù),如令其顯示1則b,c引腳(即2,3引腳)送高電平,此時數(shù)碼管顯示1。由于各位的段碼線并聯(lián),8位I/O口輸出段碼對各個顯示位來說都是相同的。</p><p><b>  3.2.6控制部分</b></p><p><b>  圖3-7</b>&

35、lt;/p><p>  AT89S51是美國ATMEL公司生產(chǎn)的低功耗,高性能CMOS 8位單片機,片內(nèi)含4K bytes的可系統(tǒng)編程的Flash只讀程序存儲器,器件采用ATMEL公司的高密度,非易失性存儲技術(shù)生產(chǎn),兼容標準8051指令系統(tǒng)及引腳。AT89S51提供以下標準功能:4K字節(jié)Flash閃速存儲器,128字節(jié)內(nèi)部RAM,32I/O口線,看門狗(WDT),兩個數(shù)據(jù)指針,兩個16位定時/計數(shù)器,一個5向量兩級中

36、斷結(jié)構(gòu),一個全雙工串行通信口,片內(nèi)振蕩器及時鐘電路。</p><p>  如圖3-7所示,AT89S51有40引腳,雙列直插(DIP)封裝,所用引腳功能如下:</p><p>  VCC ——運行時加+4.5V</p><p>  GND ——接地</p><p>  XTAL1 ——振蕩器反相放大器及內(nèi)部時鐘發(fā)生器的輸入

37、端</p><p>  XTAL2 ——振蕩器反相放大器的輸出端</p><p>  RST ——復(fù)位輸入,高電平有效,在晶振工作時,在RST引腳上作用2個機器周期以上的高電平,將使單片機復(fù)位。WDT溢出將使該引腳輸出高電平,設(shè)置SFT AUXR的DISRTO位(地址8EH)可打開或關(guān)閉該功能。DISRTO位缺省為RESET輸出高電平打開狀態(tài)。</p><

38、p>  EA/VPP ——片外程序存儲器訪問允許信號。欲使CPU僅訪問外部程序存儲器(地址為0000H-FFFFH),EA端必須保持低電平(接地),如果EA端為高電平(接Vcc端),CPU則執(zhí)行內(nèi)部程序存儲器中的指令。</p><p>  P1口,P2口——P1,P2是一組帶內(nèi)部上拉電阻的8位雙向I/O口。運行時通過P1口控制驅(qū)動電路的工作,將數(shù)據(jù)送到數(shù)碼管,顯示相應(yīng)的段碼,為了達到減少功耗或滿足端口對

39、最大電流的限制,應(yīng)加上一限流電阻。P2.0——P2.5口控制數(shù)碼管的位選,使六個數(shù)碼管輪流顯示數(shù)據(jù),等于1時位選三極管導(dǎo)通,等于0 時位選三極管截止。</p><p>  無自鎖開關(guān)——(S2-P3.7)開關(guān)接相應(yīng)引腳P3.7,當開關(guān)按下時,相應(yīng)引腳為低電平0,斷開時引腳為高電平1。</p><p>  第四章 原理圖與PCB圖</p><p><b> 

40、 圖4-1</b></p><p><b>  第五章 軟件設(shè)計</b></p><p><b>  5.1程序流程圖</b></p><p><b>  5.2源程序</b></p><p>  表5-1 P1口對應(yīng)段碼及數(shù)值:</p><p

41、>  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><p>  ;; 中斷入口程序;;</p><p>  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><p><b>  ;</b></p><p>  ORG

42、0000H;程序執(zhí)行開始地址</p><p>  LJMP START;跳到標號START執(zhí)行</p><p>  ORG 0003H;外中斷0中斷程序入口</p><p>  RETI;外中斷0中斷返回</p><p>  ORG 000BH;定時器T0中斷程序入口</p><p

43、>  LJMP INTT0;跳至INTTO執(zhí)行</p><p>  ORG 0013H;外中斷1中斷程序入口</p><p>  RETI ;外中斷1中斷返回</p><p>  ORG 001BH;定時器T1中斷程序入口</p><p>  LJMP INTT1;跳至INTT

44、1執(zhí)行</p><p>  ORG 0023H;串行中斷程序入口地址</p><p>  RETI;串行中斷程序返回</p><p>  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><p>  ;; 主 程 序 ;;</p><p> 

45、 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><p><b>  ;</b></p><p>  START: MOV R0,#70H ;清70H-7AH共11個內(nèi)存單元</p><p>  MOV R7,#0BH </p><p>  ;clr

46、 P3.7;</p><p>  CLEARDISP: MOV @R0,#00H ;</p><p>  INC R0 ;</p><p>  DJNZ R7,CLEARDISP ;</p><p>  MOV 20H,#00H ;清20H(標志用)<

47、;/p><p>  MOV 7AH,#0AH ;放入"熄滅符"數(shù)據(jù)</p><p>  MOV TMOD,#11H ;設(shè)T0、T1為16位定時器</p><p>  MOV TL0,#0B0H ;50MS定時初值(T0計時用)</p><p>  MOV TH0,#3CH

48、 ;50MS定時初值</p><p>  MOV TL1,#0B0H ;50MS定時初值(T1閃爍定時用)</p><p>  MOV TH1,#3CH ;50MS定時初值</p><p>  SETB EA ;總中斷開放</p><p>  SETB E

49、T0 ;允許T0中斷</p><p>  SETB TR0 ;開啟T0定時器</p><p>  MOV R4,#14H ;1秒定時用初值(50MS×20)</p><p>  START1: LCALL DISPLAY ;調(diào)用顯示子程序</p>&l

50、t;p>  JNB P3.7,SETMM1 ;P3.7口為0時轉(zhuǎn)時間調(diào)整程序 </p><p>  SJMP START1 ;P3.7口為1時跳回START1</p><p>  SETMM1: LJMP SETMM ;轉(zhuǎn)到時間調(diào)整程序SETMM</p><p><b>  ;</

51、b></p><p>  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><p>  ;; 1秒計時程序;;</p><p>  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><p><b>  ;T0中斷服務(wù)程序<

52、/b></p><p>  INTT0: PUSH ACC ;累加器入棧保護</p><p>  PUSH PSW ;狀態(tài)字入棧保護</p><p>  CLR ET0 ;關(guān)T0中斷允許</p><p>  CLR TR0 ;關(guān)閉定

53、時器T0</p><p>  MOV A,#0B7H ;中斷響應(yīng)時間同步修正</p><p>  ADD A,TL0 ;低8位初值修正</p><p>  MOV TL0,A ;重裝初值(低8位修正值)</p><p>  MOV A,#3CH ;高8位初值修

54、正</p><p>  ADDC A,TH0 ;</p><p>  MOV TH0,A ;重裝初值(高8位修正值)</p><p>  SETB TR0 ;開啟定時器T0</p><p>  DJNZ R4, OUTT0 ;20次中斷未到中斷退出<

55、/p><p>  ADDSS: MOV R4,#14H ;20次中斷到(1秒)重賦初值</p><p>  MOV R0,#71H ;指向秒計時單元(71H-72H)</p><p>  ACALL ADD1 ;調(diào)用加1程序(加1秒操作)</p><p>  MOV A,

56、R3 ;秒數(shù)據(jù)放入A(R3為2位十進制數(shù)組合)</p><p>  CLR C ;清進位標志</p><p>  CJNE A,#60H,ADDMM ;</p><p>  ADDMM: JC OUTT0 ;小于60秒時中斷退出</p><p&

57、gt;  ACALL CLR0 ;大于或等于60秒時對秒計時單元清0</p><p>  MOV R0,#77H ;指向分計時單元(76H-77H)</p><p>  ACALL ADD1 ;分計時單元加1分鐘</p><p>  MOV A,R3 ;分數(shù)據(jù)

58、放入A</p><p>  CLR C ;清進位標志</p><p>  CJNE A,#60H,ADDHH ;</p><p>  ADDHH: JC OUTT0 ;小于60分時中斷退出</p><p>  ACALL CLR0 ;大

59、于或等于60分時分計時單元清0</p><p>  MOV R0,#79H ;指向小時計時單(78H-79H)</p><p>  ACALL ADD1 ;小時計時單元加1小時</p><p>  MOV A,R3 ;時數(shù)據(jù)放入A</p><p>  CLR

60、 C ;清進位標志</p><p>  CJNE A,#24H,HOUR ;</p><p>  HOUR: JC OUTT0 ;小于24小時中斷退出</p><p>  ACALL CLR0 ;大于或等于24小時小時計時單元清0</p>&

61、lt;p>  OUTT0: MOV 72H,76H ;中斷退出時將分、時計時單元數(shù)據(jù)移</p><p>  MOV 73H,77H ;入對應(yīng)顯示單元</p><p>  MOV 74H,78H ;</p><p>  MOV 75H,79H ;</p>

62、<p>  POP PSW ;恢復(fù)狀態(tài)字(出棧)</p><p>  POP ACC ;恢復(fù)累加器</p><p>  SETB ET0 ;開放T0中斷</p><p>  RETI ;中斷返回</p>

63、<p><b>  ;</b></p><p>  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><p>  ;; 閃動調(diào)時 程 序 ;;</p><p>  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><p&

64、gt;  ;T1中斷服務(wù)程序,用作時間調(diào)整時調(diào)整單元閃爍指示</p><p>  INTT1: PUSH ACC ;中斷現(xiàn)場保護</p><p>  PUSH PSW ;</p><p>  MOV TL1, #0B0H ;裝定時器T1定時初值</

65、p><p>  MOV TH1, #3CH ;</p><p>  DJNZ R2,INTT1OUT ;0.3秒未到退出中斷(50MS中斷6次)</p><p>  MOV R2,#06H ;重裝0.3秒定時用初值</p><p>  CPL 02H

66、 ;0.3秒定時到對閃爍標志取反</p><p>  JB 02H,FLASH1 ;02H位為1時顯示單元"熄滅"</p><p>  MOV 72H,76H ;02H位為0時正常顯示</p><p>  MOV 73H,77H

67、 ;</p><p>  MOV 74H,78H ;</p><p>  MOV 75H,79H ;</p><p>  INTT1OUT: POP PSW ;恢復(fù)現(xiàn)場</p><p>  POP ACC

68、 ;</p><p>  RETI ;中斷退出</p><p>  FLASH1: JB 01H,FLASH2 ;01H位為1時,轉(zhuǎn)小時熄滅控制</p><p>  MOV 72H,7AH ;01H位為0時,"熄滅符

69、"數(shù)據(jù)放入分</p><p>  MOV 73H,7AH ;顯示單元(72H-73H),將不顯示分數(shù)據(jù)</p><p>  MOV 74H,78H ;</p><p>  MOV 75H,79H ;</p><p>  AJMP IN

70、TT1OUT ;轉(zhuǎn)中斷退出</p><p>  FLASH2: MOV 72H,76H ;01H位為1時,"熄滅符"數(shù)據(jù)放入小時</p><p>  MOV 73H,77H ;顯示單元(74H-75H),小時數(shù)據(jù)將不顯示</p><p>  MOV

71、 74H,7AH ;</p><p>  MOV 75H,7AH ;</p><p>  AJMP INTT1OUT ;轉(zhuǎn)中斷退出</p><p><b>  ;</b></p><p>  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

72、;;;</p><p>  ;; 加1子 程 序 ;;</p><p>  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><p><b>  ;</b></p><p>  ADD1: MOV A,@R0 ;取當前計時單元數(shù)據(jù)到A</p&g

73、t;<p>  DEC R0 ;指向前一地址</p><p>  SWAP A ;A中數(shù)據(jù)高四位與低四位交換</p><p>  ORL A,@R0 ;前一地址中數(shù)據(jù)放入A中低四位</p><p>  ADD A,#01H ;A加1操作</p><p>

74、;  DA A ;十進制調(diào)整</p><p>  MOV R3,A ;移入R3寄存器</p><p>  ANL A,#0FH ;高四位變0</p><p>  MOV @R0,A ;放回前一地址單元</p><p>  MOV A,R3 ;取回R3

75、中暫存數(shù)據(jù)</p><p>  INC R0 ;指向當前地址單元</p><p>  SWAP A ;A中數(shù)據(jù)高四位與低四位交換</p><p>  ANL A,#0FH ;高四位變0</p><p>  MOV @R0,A ;數(shù)據(jù)放入當削地址單元中</p&

76、gt;<p>  RET ;子程序返回</p><p><b>  ;</b></p><p>  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><p>  ;; 清零程序 ;;</p><p>  ;;;;;

77、;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><p><b>  ;對計時單元復(fù)零用</b></p><p>  CLR0: CLR A ;清累加器</p><p>  MOV @R0,A ;清當前地址單元</p><p>  DEC

78、 R0 ;指向前一地址</p><p>  MOV @R0,A ;前一地址單元清0</p><p>  RET ;子程序返回</p><p><b>  ;</b></p><p>  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

79、;;;;;;;;</p><p>  ;; 時鐘調(diào)整程序;;</p><p>  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><p>  ;當調(diào)時按鍵按下時進入此程序</p><p>  SETMM: cLR ET0 ;關(guān)定時器T0中斷</p

80、><p>  CLR TR0 ;關(guān)閉定時器T0</p><p>  LCALL DL1S ;調(diào)用1秒延時程序</p><p>  JB P3.7,CLOSEDIS ;鍵按下時間小于1秒,關(guān)閉顯示(省電)</p><p>  MOV R2,#06H ;進入調(diào)時狀

81、態(tài),賦閃爍定時初值</p><p>  SETB ET1 ;允許T1中斷</p><p>  SETB TR1 ;開啟定時器T1</p><p>  SET2: JNB P3.7,SET1 ;P3.7口為0(鍵未釋放),等待</p><p>  SETB 0

82、0H ;鍵釋放,分調(diào)整閃爍標志置1</p><p>  SET4: JB P3.7,SET3 ;等待鍵按下</p><p>  LCALL DL05S ;有鍵按下,延時0.5秒</p><p>  JNB P3.7,SETHH ;按下時間大于0.5秒轉(zhuǎn)調(diào)小時狀態(tài)</p>

83、;<p>  MOV R0,#77H ;按下時間小于0.5秒加1分鐘操作</p><p>  LCALL ADD1 ;調(diào)用加1子程序</p><p>  MOV A,R3 ;取調(diào)整單元數(shù)據(jù)</p><p>  CLR C ;清進位標志</p&g

84、t;<p>  CJNE A,#60H,HHH ;調(diào)整單元數(shù)據(jù)與60比較</p><p>  HHH: JC SET4 ;調(diào)整單元數(shù)據(jù)小于60轉(zhuǎn)SET4循環(huán)</p><p>  LCALL CLR0 ;調(diào)整單元數(shù)據(jù)大于或等于60時清0</p><p>  CLR C

85、 ;清進位標志</p><p>  AJMP SET4 ;跳轉(zhuǎn)到SET4循環(huán)</p><p>  CLOSEDIS: SETB ET0 ;省電(LED不顯示)狀態(tài)。開T0中斷</p><p>  SETB TR0 ;開啟T0定時器(開時鐘)</p><

86、p>  CLOSE: JB P3.7,CLOSE ;無按鍵按下,等待。</p><p>  LCALL DISPLAY ;有鍵按下,調(diào)顯示子程序延時削抖</p><p>  JB P3.7,CLOSE ;是干擾返回CLOSE等待</p><p>  WAITH: JNB P3.7,W

87、AITH ;等待鍵釋放</p><p>  LJMP START1 ;返回主程序(LED數(shù)據(jù)顯示亮)</p><p>  SETHH: CLR 00H ;分閃爍標志清除(進入調(diào)小時狀態(tài))</p><p>  SETHH1: JNB P3.7,SET5 ;等待鍵釋放</p>

88、<p>  SETB 01H ;小時調(diào)整標志置1</p><p>  SET6: JB P3.7,SET7 ;等待按鍵按下</p><p>  LCALL DL05S ;有鍵按下延時0.5秒</p><p>  JNB P3.7,SETOUT ;按下時間大于0.5秒

89、退出時間調(diào)整</p><p>  MOV R0,#79H ;按下時間小于0.5秒加1小時操作</p><p>  LCALL ADD1 ;調(diào)加1子程序</p><p>  MOV A,R3 ;</p><p>  CLR C ;</

90、p><p>  CJNE A,#24H,HOUU ;計時單元數(shù)據(jù)與24比較</p><p>  HOUU: JC SET6 ;小于24轉(zhuǎn)SET6循環(huán)</p><p>  LCALL CLR0 ;大于或等于24時清0操作</p><p>  AJMP SET6

91、 ;跳轉(zhuǎn)到SET6循環(huán)</p><p>  SETOUT: JNB P3.7,SETOUT1 ;調(diào)時退出程序。等待鍵釋放</p><p>  LCALL DISPLAY ;延時削抖</p><p>  JNB P3.7,SETOUT ;是抖動,返回SETOUT再等待</p><

92、;p>  CLR 01H ;清調(diào)小時標志</p><p>  CLR 00H ;清調(diào)分標志</p><p>  CLR 02H ;清閃爍標志</p><p>  CLR TR1 ;關(guān)閉定時器T1</p><

93、p>  CLR ET1 ;關(guān)定時器T1中斷</p><p>  SETB TR0 ;開啟定時器T0</p><p>  SETB ET0 ;開定時器T0中斷(計時開始)</p><p>  LJMP START1 ;跳回主程序<

94、;/p><p>  SET1: LCALL DISPLAY ;鍵釋放等待時調(diào)用顯示程序(調(diào)分)</p><p>  AJMP SET2 ;防止鍵按下時無時鐘顯示</p><p>  SET3: LCALL DISPLAY ;等待調(diào)分按鍵時時鐘顯示用</p><p> 

95、 AJMP SET4</p><p>  SET5: LCALL DISPLAY ;鍵釋放等待時調(diào)用顯示程序(調(diào)小時)</p><p>  AJMP SETHH1 ;防止鍵按下時無時鐘顯示</p><p>  SET7: LCALL DISPLAY ;等待調(diào)小時按鍵時時鐘顯示用&

96、lt;/p><p>  AJMP SET6</p><p>  SETOUT1: LCALL DISPLAY ;退出時鐘調(diào)整時鍵釋放等待</p><p>  AJMP SETOUT ;防止鍵按下時無時鐘顯示</p><p><b>  ;</b></p>

97、<p>  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><p>  ;; 顯示程序 ;;</p><p>  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><p>  ; 顯示數(shù)據(jù)在70H-75H單元內(nèi),用六位LED共陽數(shù)碼管顯示,P0口輸

98、出段碼數(shù)據(jù),P3口作</p><p>  ; 掃描控制,每個LED數(shù)碼管亮1MS時間再逐位循環(huán)。</p><p>  DISPLAY: MOV R1,#70H ;指向顯示數(shù)據(jù)首址</p><p>  MOV R5,#0FEH ;掃描控制字初值</p><p>  PLAY: MOV

99、A,R5 ;掃描字放入A</p><p>  MOV P2,A ;從P2口輸出</p><p>  MOV A,@R1 ;取顯示數(shù)據(jù)到A</p><p>  MOV DPTR,#TAB ;取段碼表地址</p><p>  MOVC

100、 A,@A+DPTR ;查顯示數(shù)據(jù)對應(yīng)段碼</p><p>  MOV P1,A ;段碼放入P0口</p><p>  LCALL DL1MS ;顯示1MS</p><p>  INC R1 ;指向下一地址</p><p>  M

101、OV A,R5 ;掃描控制字放入A</p><p>  JNB ACC.5,ENDOUT ;ACC.5=0時一次顯示結(jié)束</p><p>  RL A ;A中數(shù)據(jù)循環(huán)左移</p><p>  MOV R5,A ;放回R5內(nèi)</p&g

102、t;<p>  AJMP PLAY ;跳回PLAY循環(huán)</p><p>  ENDOUT: SETB P2.5 ;一次顯示結(jié)束,P2口復(fù)位</p><p>  MOV P1,#0FFH ;P0口復(fù)位</p><p>  RET

103、 ;子程序返回</p><p>  TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH</p><p>  ;1MS延時程序,LED顯示程序用</p><p>  DL1MS: MOV R6,#14H</p><p>  DL1: MOV R7,#19H</p>

104、<p>  DL2: DJNZ R7,DL2</p><p>  DJNZ R6,DL1</p><p><b>  RET</b></p><p>  ;20MS延時程序,采用調(diào)用顯示子程序以改善LED的顯示閃爍現(xiàn)象</p><p>  DS20MS: ACALL DISPLAY&l

105、t;/p><p>  ACALL DISPLAY</p><p>  ACALL DISPLAY</p><p><b>  RET</b></p><p>  ;延時程序,用作按鍵時間的長短判斷</p><p>  DL1S: LCALL DL05S</p>

106、<p>  LCALL DL05S</p><p><b>  RET</b></p><p>  DL05S: MOV R3,#20H ;8毫秒*32=0.196秒</p><p>  DL05S1: LCALL DISPLAY</p>&

107、lt;p>  DJNZ R3,DL05S1</p><p><b>  RET</b></p><p>  END ;程序結(jié)束</p><p><b>  第六章 總結(jié)</b></p><p>  6.1物品清單與元件特性

108、</p><p>  表6-1 物品清單:</p><p>  表6-2 AT89S51功能特性:</p><p><b>  6.2設(shè)計總結(jié)</b></p><p>  本設(shè)計能夠很準確的走時,并能夠通過硬件對時鐘進行時間調(diào)整。</p><p><b>  功能介紹:</b&g

109、t;</p><p>  顯示XX:XX:XX時間</p><p>  時間可調(diào):調(diào)整鍵(S2)按下時間小于1秒(t<1s),關(guān)閉顯示(省電)。調(diào)整鍵(S2)按下(t>0.5s)分鐘位閃亮,此時按下S2鍵(t<0.5s)該個位數(shù)值加1,當加到9時,再按下S2鍵則該個位顯示0,分鐘十位加1。繼續(xù)按下調(diào)整鍵(S2)(t>0.5s)時鐘位閃亮,此時按下S2鍵(t<0

110、.5s)該個位數(shù)值加1,當加到9時再按下加S2鍵則該個位顯示0,時鐘十位加1。繼續(xù)按下調(diào)整鍵(S2)(t>0.5s),返回到正常顯示狀態(tài)。</p><p>  下載線和電源線插接說明:1.下載線插接說明:兩排十針下載口,板圖上都有一個小方框,為1號引角;下載線的凸口為正方向,凸口的右側(cè)邊的第一個插孔為1號引角,這一點一定要切記,不然的話程序下載不進去。2.電源線插接說明:電池盒的紅線為正,黑線為負。板子所留

111、出來的電源插口用VCC(表示電源正)和GND(表示電源負)標明。</p><p><b>  設(shè)計心得與總結(jié)</b></p><p>  (1)通過完成數(shù)字鐘的設(shè)計與制作調(diào)試,掌握單片機應(yīng)用系統(tǒng)的設(shè)計過程。單品機應(yīng)用系統(tǒng)開發(fā)的一般工作流程包括:項目任務(wù)的需求分析,制定系統(tǒng)軟件、硬件方案,系統(tǒng)硬件設(shè)計與制作,系統(tǒng)軟件模塊劃分與設(shè)計,系統(tǒng)軟、硬件聯(lián)調(diào),程序固化,脫機運行等

112、。</p><p> ?。?)學(xué)習(xí)自頂向下的模塊化程序設(shè)計方法,構(gòu)建出程序設(shè)計的整體框架,包括主程序流程和子模塊流程的設(shè)計、各功能模塊之間的調(diào)用關(guān)系。在細化流程圖的基礎(chǔ)上,合理分配系統(tǒng)變量資源,即可輕松編寫程序代碼。</p><p> ?。?)在調(diào)試程序之前,一定要預(yù)先將源程序分析透徹,這有助于在系統(tǒng)調(diào)試過程中,通過現(xiàn)象分析判斷產(chǎn)生故障的原因及故障可能存在的大致范圍,快速有效地排查和縮小故

113、障范圍。</p><p><b>  參考文獻</b></p><p>  [1] 于海生.微型計算機控制技術(shù)[M] .清華大學(xué)出版社</p><p>  [2] 孫涵芳.MCS-51 系列單片機原理及應(yīng)用[M] .北京航空航天大學(xué)出版社</p><p>  [3] 黃正謹.綜合電子設(shè)計與實踐[M] .東南大學(xué)出版社&l

114、t;/p><p>  [4] 楊欣等.電子設(shè)計從零開始[M] .清華大學(xué)出版社</p><p>  [5] 謝嘉奎.電子線路[M] .高等教育出版社</p><p>  [6] 王毓銀.數(shù)字電路邏輯設(shè)計[M] .高等教育出版社</p><p>  [7] 邱關(guān)源.電路[M] .高等教育出版社</p><p>  [9] 譚

115、浩強. C 語音程序設(shè)計. 北京航空航天出版社</p><p>  [10] 劉華東. 單片機原理與應(yīng)用. 北京電子工業(yè)出版社</p><p>  [11] 焦輜厚. 子工藝實習(xí)教程.哈爾濱:哈爾濱工業(yè)大學(xué)出版社</p><p>  [12] 謝自美. 電子系統(tǒng)設(shè)計. 武漢華中科技大學(xué)出版社</p><p>  [13] 李 軍. 51 系列

116、單片機高級實例開發(fā)指南. 北京航空航天大學(xué)出版社</p><p>  [14] 李光飛. 單片機設(shè)計實例指導(dǎo).北京航空航天大學(xué)出版社</p><p>  [15] 林晶.Protel DXP 設(shè)計與實踐 .電子工業(yè)出版社</p><p>  [16] The Mathworks,Inc.MATLAB user’S guide</p><p>

117、  [17] The Mathworks,Inc.MATLAB Referrence guide</p><p>  [18] The Mathworks,Inc.Signal Processing Toolbox Referrence guide</p><p>  [19] TMS320C54x DSP Assembly Language Tools User’S Guide Texa

118、s Instruments</p><p>  [20] [美]M.Morris Mano.Digital Design.北京:高等教育出版社</p><p><b>  致 謝</b></p><p>  本設(shè)計的完成是在我們的導(dǎo)師xx老師的細心指導(dǎo)下進行的。在每次設(shè)計遇到問題時xx老師都會不辭辛苦幫助我們才使得我的設(shè)計順利的進行。從設(shè)計

119、的選題到資料的搜集直至最后設(shè)計的修改的整個過程中,花費了xx老師很多的寶貴時間和精力,在此向?qū)煴硎局孕牡馗兄x!導(dǎo)師嚴謹?shù)闹螌W(xué)態(tài)度,開拓進取的精神和高度的責(zé)任心都將使學(xué)生受益終生!</p><p>  還要感謝和我同一設(shè)計小組的幾位同學(xué),是你們在我平時設(shè)計中和我一起探討問題,并指出我設(shè)計上的誤區(qū),使我能及時的發(fā)現(xiàn)問題把設(shè)計順利的進行下去,沒有你們的幫助我不可能這樣順利地結(jié)稿,在此表示深深的謝意。 </p&g

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論