畢業(yè)論文-基于at89s52的數(shù)字電子鐘的設(shè)計(jì)【精校排版】_第1頁(yè)
已閱讀1頁(yè),還剩47頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  本科畢業(yè)設(shè)計(jì)(論文)</p><p><b>  (20 屆)</b></p><p>  基于AT89S52的數(shù)字電子鐘的設(shè)計(jì)</p><p><b>  目 錄</b></p><p><b>  摘要III</b></p><

2、;p>  AbstractIV</p><p><b>  第一章 引言1</b></p><p>  第二章 芯片的選擇與簡(jiǎn)介2</p><p>  2.1 AT89S52簡(jiǎn)介2</p><p>  2.2 74HC164簡(jiǎn)介3</p><p>  2.3 DS1302

3、簡(jiǎn)介4</p><p>  第三章 硬件設(shè)計(jì)6</p><p>  3.1 電路設(shè)計(jì)方案圖6</p><p>  3.2 系統(tǒng)硬件設(shè)計(jì)概述6</p><p>  3.3 系統(tǒng)主要單元電路的設(shè)計(jì)6</p><p>  3.3.1 系統(tǒng)主控制電路的設(shè)計(jì)6</p><p>  3

4、.3.2 時(shí)鐘電路的設(shè)計(jì)7</p><p>  3.3.3 顯示系統(tǒng)電路的設(shè)計(jì)8</p><p>  3.4 系統(tǒng)電路原理及說(shuō)明9</p><p>  3.4.1 單片機(jī)AT89S52的工作原理9</p><p>  3.4.2 時(shí)鐘芯片DS1302的工作原理11</p><p>  第四章 軟件

5、設(shè)計(jì)14</p><p>  4 . 1 主程序流程框圖14</p><p>  4.2 計(jì)算陽(yáng)歷程序流14</p><p>  4.3 時(shí)間調(diào)整程序流程圖16</p><p>  4.4 日歷程序流程圖17</p><p>  4.5 子程序的設(shè)計(jì)17</p><p

6、>  第五章 硬件、軟件調(diào)試19</p><p>  5.1 硬件調(diào)試19</p><p>  5.2 軟件調(diào)試19</p><p>  5.3 調(diào)試結(jié)果分析與結(jié)論20</p><p>  第六章 論文總結(jié)21</p><p><b>  參考文獻(xiàn)22</b></

7、p><p><b>  附錄23</b></p><p><b>  致謝43</b></p><p>  基于AT89S52的數(shù)字電子鐘的設(shè)計(jì)</p><p><b>  摘要</b></p><p>  本文介紹了一款基于AT89S52單片機(jī)數(shù)字鐘的

8、設(shè)計(jì),通過(guò)多功能數(shù)字鐘的設(shè)計(jì)思路,詳細(xì)敘述了系統(tǒng)硬件、軟件的具體實(shí)現(xiàn)過(guò)程。論文重點(diǎn)闡述了數(shù)字鐘硬件中主控制模塊、時(shí)鐘模塊、顯示模塊和相關(guān)控制模塊等的模塊化設(shè)計(jì)與制作;軟件同樣采用模塊化的設(shè)計(jì),本設(shè)計(jì)實(shí)現(xiàn)了時(shí)間與鬧鐘的修改功能、年、月、日和星期等的顯示功能。并且通過(guò)對(duì)比實(shí)際的時(shí)鐘,查找出了誤差的來(lái)源,確定了調(diào)整誤差的方法,盡可能的減少誤差,使得系統(tǒng)可以達(dá)到實(shí)際數(shù)字鐘的允許誤差范圍內(nèi)。</p><p>  本次設(shè)計(jì)過(guò)

9、程在硬件與軟件方面是進(jìn)行同步設(shè)計(jì)。硬件部分主要由AT89S52單片機(jī),LED顯示電路,以及調(diào)時(shí)按鍵電路等組成。在單片機(jī)的選擇上本人使用了AT89S52單片機(jī),該單片機(jī)適合于許多較為復(fù)雜控制應(yīng)用場(chǎng)合。顯示器使用2片7SEG-MPX8-CA和一片7SEG-MPX4-CA。7SEG-MPX8-CA是一種八個(gè)共陽(yáng)二極管顯示器,7SEG-MPX4-CA是一種四個(gè)共陽(yáng)二極管顯示器。為了能更輕松的控制這三片顯示器,本人使用了3片74HC164來(lái)驅(qū)動(dòng)。

10、74HC164是8位邊沿觸發(fā)式移位寄存器,串行輸入數(shù)據(jù),然后并行輸出。軟件方面主要包括日歷程序、時(shí)間調(diào)整程序,公歷轉(zhuǎn)陰歷程序,顯示程序等。程序采用匯編語(yǔ)言編寫(xiě),以便更簡(jiǎn)單地實(shí)現(xiàn)調(diào)整時(shí)間及陰歷顯示功能。 </p><p>  關(guān)鍵詞:時(shí)鐘電鐘;DS1302;DS18B20;動(dòng)態(tài)掃描;單片機(jī) </p><p>  Based On The Design of AT89S52 Digital

11、Electric Clock</p><p><b>  Abstract</b></p><p>  This article describes an AT89S52 microcontroller based digital clock design, through multi-functional digital clock design ideas, de

12、tailed description of the system hardware and software realization process. Paper focuses on the digital clock in the main control module hardware, the clock modules, display modules and associated control modules, modul

13、ar design and production; software as modular design, the design and implementation of the changes of time and alarm functions, voice broadcast fun</p><p>  Hardware mainly by the AT89S52 microcontroller, LE

14、D display circuit, and the tune composed of the circuit when the button. In the SCM choice I used the AT89C51 microcontroller, which is suitable for many of the more complex control applications. Monitor the use of two 7

15、SEG--MPX8--CA and a 7SEG--MPX4--CA. 7SEG-MPX8-CA is a total of eight-yang display 7SEG-MPX4-CA is a total of four-yang diode display. In order to more easily control the three monitors, I use three 74HC164 to drive.74HC1

16、64 is an 8</p><p>  Key words: Clock Electric Clock,DS1302,DS18B20,Dynamic,Scanscm</p><p><b>  第一章 引言</b></p><p>  隨著科學(xué)技術(shù)的飛速發(fā)展,電子技術(shù)的產(chǎn)業(yè)結(jié)構(gòu)調(diào)整,人們生活水平的提高,他們對(duì)時(shí)間的要求越來(lái)越高,精準(zhǔn)數(shù)字計(jì)時(shí)

17、的消費(fèi)需求也是越來(lái)越多[1]。</p><p>  二十一世紀(jì)的今天,最具代表性的計(jì)時(shí)產(chǎn)品就是電子數(shù)字鐘—電子萬(wàn)年歷,它是近代世界鐘表業(yè)界的第三次革命。第一次是擺和擺輪游絲的發(fā)明,相對(duì)穩(wěn)定的機(jī)械振蕩頻率源使鐘表的走時(shí)差從分級(jí)縮小到秒級(jí),代表性的產(chǎn)品就是帶有擺或擺輪游絲的機(jī)械鐘或表。第二次革命是石英晶體振蕩器的應(yīng)用,發(fā)明了走時(shí)精度更高的石英電子鐘表,使鐘表的走時(shí)月差從分級(jí)縮小到秒級(jí)。第三次革命就是單片機(jī)數(shù)碼計(jì)時(shí)技術(shù)

18、的應(yīng)用(電子萬(wàn)年歷),使計(jì)時(shí)產(chǎn)品的走時(shí)日差從分級(jí)縮小到1/600萬(wàn)秒,從原有傳統(tǒng)指針計(jì)時(shí)的方式發(fā)展為人們?nèi)粘8鼮槭煜さ囊构鈹?shù)字顯示方式,直觀(guān)明了,并增加了全自動(dòng)日期、星期、溫度以及其他日常附屬信息的顯示功能,它更符合消費(fèi)者的生活需求!因此,這種數(shù)字鐘的出現(xiàn)帶來(lái)了鐘表計(jì)時(shí)業(yè)界跨躍性的進(jìn)步。 </p><p>  本文通過(guò)對(duì)一個(gè)能實(shí)現(xiàn)按鍵開(kāi)關(guān)可調(diào)整年、月、日、周、時(shí)、分、秒,且具有測(cè)溫功能、定點(diǎn)報(bào)時(shí)的24小時(shí)制的時(shí)間

19、系統(tǒng)的設(shè)計(jì)學(xué)習(xí),詳細(xì)介紹了單片機(jī)應(yīng)用中的定時(shí)中斷原理、數(shù)碼管顯示原理、動(dòng)態(tài)掃描顯示原理等,進(jìn)一步學(xué)習(xí)、應(yīng)用單片機(jī)匯編語(yǔ)言系統(tǒng)的實(shí)現(xiàn)了各種功能。從而使自身明白使用單片機(jī)匯編語(yǔ)言和C語(yǔ)言之間的效率、整體性問(wèn)題。系統(tǒng)由單片機(jī)、獨(dú)立式按鍵、時(shí)鐘芯片、LED數(shù)碼管、等部分構(gòu)成,能實(shí)現(xiàn)24小時(shí)制年、月、日、周、時(shí)、分、秒等時(shí)鐘顯示。同時(shí)也可進(jìn)行年、月、日、周、時(shí)、分、秒的校準(zhǔn)、定點(diǎn)報(bào)時(shí)和LED數(shù)碼管顯示。</p><p> 

20、 第二章 芯片的選擇與簡(jiǎn)介</p><p>  采用AT89S52,片內(nèi)ROM全都采用Flash ROM;能以3V的超底壓工作;同時(shí)也與MCS-51系列單片機(jī)完全該芯片內(nèi)部存儲(chǔ)器為8KB ROM 存儲(chǔ)空間,具有3個(gè)16位定時(shí)器/計(jì)數(shù)器,8個(gè)中斷源,同樣具有AT89C51的功能,且具有ISP在線(xiàn)編程可擦除技術(shù),當(dāng)在對(duì)電路進(jìn)行調(diào)試時(shí),由于程序的錯(cuò)誤修改或?qū)Τ绦虻男略龉δ苄枰獰氤绦驎r(shí),不需要對(duì)芯片多次拔插,所以不會(huì)

21、對(duì)芯片造成損壞。使得AT89S52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。</p><p>  可見(jiàn)AT89S52更能滿(mǎn)足各方面的設(shè)計(jì)要求,減少不必要的麻煩,所以選擇采用AT89S52作為主控制系統(tǒng)。</p><p>  2.1 AT89S52簡(jiǎn)介 </p><p>  與MCS-51單片機(jī)產(chǎn)品兼容 、8K字節(jié)在系統(tǒng)可編程Flash存儲(chǔ)器、1000次

22、擦寫(xiě)周期、全靜態(tài)操作:0Hz~33Hz、三級(jí)加密程序存儲(chǔ)器、32個(gè)可編程I/O口線(xiàn)、三個(gè)16位定時(shí)器/計(jì)數(shù)器 八個(gè)中斷源、全雙工UART串行通道、低功耗空閑和掉電模式、掉電后中斷可喚醒、看門(mén)狗定時(shí)器、雙數(shù)據(jù)指針、掉電標(biāo)識(shí)符。   AT89S52是一種低功耗、高性能CMOS8位微控制器,具有 8K 在系統(tǒng)可編程Flash 存儲(chǔ)器[2]。使用Atmel 公司高密度非 易失性存儲(chǔ)器技術(shù)制造,與工業(yè)80C51 產(chǎn)品指令和引

23、腳完 全兼容。片上Flash允許程序存儲(chǔ)器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng) 可編程Flash,使得AT89S52為眾多嵌入式控制應(yīng)用系統(tǒng)提 供高靈活、超有效的解決方案。 AT89S52具有以下標(biāo)準(zhǔn)功能:8k字節(jié)Flash,256字節(jié)RAM,32 位I/O 口線(xiàn),看門(mén)狗定時(shí)器,2個(gè)數(shù)據(jù)指針,三個(gè)16 位 定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級(jí)中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時(shí)鐘電路。另外,AT89S5

24、2 可降至0Hz 靜態(tài)邏 輯操作,支持2種軟件可選擇節(jié)電模式</p><p>  2.2 74HC164簡(jiǎn)介</p><p>  74HC164是高速硅門(mén)CMOS器件,與低功耗肖特基型TTL (LSTTL) 器件的引腳兼容。74HC164是8位邊沿觸發(fā)式移位寄存器,串行輸入數(shù)據(jù),然后并行輸出[3]。數(shù)據(jù)通過(guò)兩個(gè)輸入端(DSA 或 DSB)之一串行輸入;任一輸入端可以用作高電平使能端,控制

25、另一輸入端的數(shù)據(jù)輸入。兩個(gè)輸入端或者連接在一起,或者把不用的輸入端接高電平,一定不要懸空。</p><p>  時(shí)鐘 (CP) 每次由低變高時(shí),數(shù)據(jù)右移一位,輸入到Q0,Q0 是兩個(gè)數(shù)據(jù)輸入端(DSA 和 DSB)的邏輯與,它將上升時(shí)鐘沿之前保持一個(gè)建立時(shí)間的長(zhǎng)度。主復(fù)位 (MR) 輸入端上的一個(gè)低電平將使其它所有輸入端都無(wú)效,同時(shí)非同步地清除寄存器,強(qiáng)制所有的輸出為低電平。</p><p&g

26、t;  74HC164的特性:</p><p><b>  門(mén)控串行數(shù)據(jù)輸入;</b></p><p><b>  異步中央復(fù)位;</b></p><p>  符合JEDEC標(biāo)準(zhǔn)no.7A;</p><p>  靜電放電 (ESD) 保護(hù);</p><p>  HBM EIA

27、/JESD22-A114-B超過(guò)2000V;</p><p>  MMEIA/JESD22-A115-A超過(guò)200V;</p><p><b>  多種封裝形式;</b></p><p>  額定從-40°C至+85°C和-40°C至+125°C。</p><p>  74HC16

28、4的功能圖如下圖2.1:</p><p><b>  圖2.1 功能圖</b></p><p>  74HC164的引腳信息為下圖2.2:</p><p>  圖2.2 DIP14、SO14、SSOP14和TSSOP14 封裝的引腳配置</p><p>  74HC164的各個(gè)引腳說(shuō)明為下表2.1:</p>

29、;<p>  表2.1 引腳說(shuō)明</p><p>  2.3 DS1302簡(jiǎn)介</p><p>  DS1302是DALLAS公司推出的串行接口實(shí)時(shí)時(shí)鐘芯片。它既提供實(shí)時(shí)時(shí)鐘,又把關(guān)鍵的數(shù)據(jù)位存儲(chǔ)于RAM。芯片使用簡(jiǎn)單,外部連線(xiàn)少,在智能化儀表及自動(dòng)控制領(lǐng)域具有廣泛用途。其主要特點(diǎn)是:</p><p>  簡(jiǎn)單的三線(xiàn)串行I/O接口;</p&g

30、t;<p>  2.5~5.5V的電壓工作范圍(在2.5V工作時(shí)耗電小于300nA);</p><p>  與TTL兼容(Vcc=5V)時(shí);</p><p>  實(shí)時(shí)時(shí)鐘包括秒、分、小時(shí)、日、月、星期和年(閏年)等信息;</p><p>  31*8靜態(tài)RAM可供用戶(hù)使用;</p><p>  可選的涓流充電方式;</p&

31、gt;<p>  工作電源和備份電源雙引腳輸入;</p><p>  備份電源可由大容量電容來(lái)替代[4]。</p><p>  引腳功能表及內(nèi)部結(jié)構(gòu)圖如下圖2.3:</p><p>  圖2.3 DS1302引腳及內(nèi)部結(jié)構(gòu)</p><p><b>  第三章 硬件設(shè)計(jì)</b></p>&l

32、t;p>  3.1 電路設(shè)計(jì)方案圖</p><p>  系統(tǒng)由主控制模塊、時(shí)鐘芯片、顯示電路、鍵盤(pán)系統(tǒng)四部分組成,電路構(gòu)成框圖如下圖3.1[5]:</p><p>  圖3.1 電路設(shè)計(jì)方案圖</p><p>  3.2 系統(tǒng)硬件設(shè)計(jì)概述</p><p>  本電路是由AT89S52單片機(jī)為控制核心,具有在線(xiàn)編程功能,低功耗,能在

33、3V超低壓工作;時(shí)鐘電路由時(shí)鐘芯片DS1302提供,它是一種高性能、低功耗、可靠穩(wěn)定,帶RAM的實(shí)時(shí)時(shí)鐘電路,它可以對(duì)年、月、日、周日、時(shí)、分、秒進(jìn)行計(jì)時(shí),具有閏年補(bǔ)償功能,工作電壓為2.5V~5.5V。采用三線(xiàn)接口與CPU進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多個(gè)字節(jié)的時(shí)鐘信號(hào)或RAM數(shù)據(jù)。DS1302內(nèi)部有一個(gè)31*8的用于臨時(shí)性存放數(shù)據(jù)的RAM寄存器。可產(chǎn)生年、月、日、周日、時(shí)、分、秒,具有使用壽命長(zhǎng),精度高和低功耗等特點(diǎn),同時(shí)具

34、有掉電自動(dòng)保存功能;溫度的采集由DS18B20構(gòu)成;顯示部份由21個(gè)數(shù)碼管,74ls138、74ls47譯碼器等構(gòu)成。使用LED數(shù)碼管動(dòng)態(tài)掃描顯示方式對(duì)數(shù)字的顯示。</p><p>  3.3 系統(tǒng)主要單元電路的設(shè)計(jì)</p><p>  3.3.1 系統(tǒng)主控制電路的設(shè)計(jì)</p><p>  本設(shè)計(jì)系統(tǒng)設(shè)計(jì)為,18引腳和19引腳接時(shí)鐘電路,XTAL1接外部晶振和微

35、調(diào)電容的一端,在片內(nèi)它是振蕩器倒相放大器的輸入,XTAL2接外部晶振和微調(diào)電容的另一端,在片內(nèi)它是振蕩器倒相放大器的輸出。第9引腳為復(fù)位輸入端,接上電容,電阻及開(kāi)關(guān)后夠上電復(fù)位電路,20引腳為接地端,40引腳為電源端。 如圖3.2 所示:</p><p>  圖3.2 主控制系統(tǒng)電路 </p><p>  3.3.2 時(shí)鐘電路的設(shè)計(jì)  </p><p>

36、  為了實(shí)現(xiàn)系統(tǒng)報(bào)警計(jì)時(shí)等功能,此設(shè)計(jì)采用了DS1302實(shí)時(shí)時(shí)鐘芯片 。DS1302 是美國(guó)DALLAS公司推出的一種高性能、低功耗、帶RAM的實(shí)時(shí)時(shí)鐘電路,它可以對(duì)年、月、日、周日、時(shí)、分、秒進(jìn)行計(jì)時(shí),具有閏年補(bǔ)償功能,工作電壓為2.5V~5.5V。采用三線(xiàn)接口與CPU進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多個(gè)字節(jié)的時(shí)鐘信號(hào)或RAM數(shù)據(jù)。DS1302內(nèi)部有一個(gè)31×8的用于臨時(shí)性存放數(shù)據(jù)的RAM寄存器。DS1302是DS12

37、02的升級(jí)產(chǎn)品,與DS1202兼容,但增加了主電源/后備電源雙電源引腳,同時(shí)提供了對(duì)后備電源進(jìn)行涓細(xì)電流充電的能力。</p><p>  DS1302的引腳排列,其中Vcc1為后備電源,Vcc2為主電源。在主電源關(guān)閉的情況下,也能保持時(shí)鐘的連續(xù)運(yùn)行。DS1302由Vcc1或Vcc2兩者中的較大者供電。當(dāng)Vcc2大于Vcc1+0.2V時(shí),Vcc2給DS1302供電。當(dāng)Vcc2小于Vcc1時(shí),DS1302由Vcc1供

38、電。X1和X2是振蕩源,外接32.768KHz晶振。RST是復(fù)位/片選線(xiàn),通過(guò)把RST輸入驅(qū)動(dòng)置高電平來(lái)啟動(dòng)所有的數(shù)據(jù)傳送。RST輸入有兩種功能:首先,RST接通控制邏輯,允許地址/命令序列送入移位寄存器;其次,RST提供終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。當(dāng)RST為高電平時(shí),所有的數(shù)據(jù)傳送被初始化,允許對(duì)DS1302進(jìn)行操作。如果在傳送過(guò)程中RSTS置為低電平,則會(huì)終止此次數(shù)據(jù)傳送,I/O引腳變?yōu)楦咦钁B(tài)。上電動(dòng)行時(shí),在VSS大于等于2.

39、5V之前,RST必須保持低電平。中有在SCLK 為低電平時(shí),才能將RST置為高電平,I/O為串行數(shù)據(jù)輸入端(雙向)。SCLK始終是輸入端。</p><p>  DS1302與CPU的連接需要三條線(xiàn),即SCLK(7)、I/O(6)、RST(5)。下圖DS1302與89S52的連接圖,其中,時(shí)鐘的顯示用LCD。DS1302與主控制器系統(tǒng)連接電路如下圖3.3:</p><p>  圖3.3 D

40、S1302與主控制系統(tǒng)連接電路</p><p>  3.3.3 顯示系統(tǒng)電路的設(shè)計(jì)</p><p>  顯示部分采用LED數(shù)碼管動(dòng)態(tài)掃描顯示,由21個(gè)數(shù)碼管[6],3-8譯碼器74LS138接1K限流電阻,再接8550三極管接到共陽(yáng)數(shù)碼管的輸出端作為選通位碼,每位選擇相應(yīng)的列。74ls47接240Ω限流電阻,再接共行的LED數(shù)碼管的斷碼。電路圖為下圖3.4:</p><

41、;p>  圖3.4 LED動(dòng)態(tài)掃描顯示電路</p><p>  3.4 系統(tǒng)電路原理及說(shuō)明</p><p>  3.4.1 單片機(jī)AT89S52的工作原理 </p><p>  具有8K字節(jié)在系統(tǒng)可編程Flash存儲(chǔ)器、1000次擦寫(xiě)周期、全靜態(tài)操作:0Hz~33Hz、三級(jí)加密程序存儲(chǔ)器 、32個(gè)可編程I/O口線(xiàn)、三個(gè)16位定時(shí)器/計(jì)數(shù)器八個(gè)中斷源、全雙

42、工UART串行通道、低功耗空閑和掉電模式、掉電后中斷可喚醒、看門(mén)狗定時(shí)器、雙數(shù)據(jù)指針、掉電標(biāo)識(shí)符等結(jié)構(gòu)與功能。 </p><p>  P0口:P0口是一個(gè)8位漏極開(kāi)路的雙向I/O口。作為輸出口,每位能驅(qū)動(dòng)8個(gè)TTL邏輯電平。對(duì)P0端口寫(xiě)“1”時(shí),引腳用作高阻抗輸入。當(dāng)訪(fǎng)問(wèn)外部程序和數(shù)據(jù)存儲(chǔ)器時(shí),P0口也被作為低8位地址/數(shù)據(jù)復(fù)用。在這種模式下,P0具有內(nèi)部上拉電阻。在flash編程時(shí),P0口也用來(lái)接收指令字節(jié);在

43、程序校驗(yàn)時(shí),輸出指令字節(jié)。程序校驗(yàn)時(shí),需要外部上拉電阻。 </p><p>  P1口:P1口是一個(gè)具有內(nèi)部上拉電阻的8 位雙向I/O 口,P1輸出緩沖器能驅(qū)動(dòng)4個(gè)TTL邏輯電平。對(duì)P1 端口寫(xiě)“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。 </p><p>  此外,P1.0和P1.2分別作定時(shí)器/計(jì)數(shù)

44、器2的外部計(jì)數(shù)輸入(P1.0/T2)和時(shí)器/計(jì)數(shù)器2的觸發(fā)輸入(P1.1/T2EX),具體如下表所示。 </p><p>  在flash編程和校驗(yàn)時(shí),P1口接收低8位地址字節(jié)。 </p><p><b>  引腳號(hào)第二功能 </b></p><p>  P1.0 T2(定時(shí)器/計(jì)數(shù)器T2的外部計(jì)數(shù)輸入),時(shí)鐘輸出 </p>&l

45、t;p>  P1.1 T2EX(定時(shí)器/計(jì)數(shù)器T2的捕捉/重載觸發(fā)信號(hào)和方向控制) </p><p>  P1.5 MOSI(在系統(tǒng)編程用) </p><p>  P1.6 MISO(在系統(tǒng)編程用) </p><p>  P1.7 SCK(在系統(tǒng)編程用) </p><p>  P2 口:P2 口是一個(gè)具有內(nèi)部上拉電阻的8 位雙向I/O

46、口,P2 輸出緩沖器能驅(qū)動(dòng)4個(gè)TTL 邏輯電平。對(duì)P2 端口寫(xiě)“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。在訪(fǎng)問(wèn)外部程序存儲(chǔ)器或用16位地址讀取外部數(shù)據(jù)存儲(chǔ)器(例如執(zhí)行MOVX @DPTR)時(shí),P2口送出高八位地址。在這種應(yīng)用中,P2 口使用很強(qiáng)的內(nèi)部上拉發(fā)送1。在使用8位地址(如MOVX @RI)訪(fǎng)問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),P2口輸出P2鎖存器的內(nèi)容。在

47、flash編程和校驗(yàn)時(shí),P2口也接收高8位地址字節(jié)和一些控制信號(hào)[8]。   </p><p>  P3 口:P3 口是一個(gè)具有內(nèi)部上拉電阻的8 位雙向I/O 口,p2 輸出緩沖器能驅(qū)動(dòng)4個(gè)TTL 邏輯電平。對(duì)P3 端口寫(xiě)“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。P3口亦作為AT89S52特殊功能(第二功能)使用。 <

48、/p><p>  在flash編程和校驗(yàn)時(shí),P3口也接收一些控制信號(hào)。 </p><p><b>  端口引腳 第二功能</b></p><p>  P3.0 RXD(串行輸入口)</p><p>  P3.1 TXD(串行輸出口)</p><p>  P3.2 INTO(外中斷0)</p>

49、;<p>  P3.3 INT1(外中斷1)</p><p>  P3.4 TO(定時(shí)/計(jì)數(shù)器0)</p><p>  P3.5 T1(定時(shí)/計(jì)數(shù)器1)</p><p>  P3.6 WR(外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通)</p><p>  P3.7 RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)</p><p>  此外,P3口

50、還接收一些用于FLASH閃存編程和程序校驗(yàn)的控制信號(hào)。</p><p>  RST——復(fù)位輸入。當(dāng)振蕩器工作時(shí),RST引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平將是單片機(jī)復(fù)位。</p><p>  ALE/PROG——當(dāng)訪(fǎng)問(wèn)外部程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。一般情況下,ALE仍以時(shí)鐘振蕩頻率的1/6輸出固定的脈沖信號(hào),因此它可對(duì)外輸出時(shí)鐘或用于定時(shí)目

51、的。要注意的是:每當(dāng)訪(fǎng)問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí)將跳過(guò)一個(gè)ALE脈沖。</p><p>  對(duì)FLASH存儲(chǔ)器編程期間,該引腳還用于輸入編程脈沖(PROG)。</p><p>  如有必要,可通過(guò)對(duì)特殊功能寄存器(SFR)區(qū)中的8EH單元的D0位置位,可禁止ALE操作。該位置位后,只有一條MOVX和MOVC指令才能將ALE激活。此外,該引腳會(huì)被微弱拉高,單片機(jī)執(zhí)行外部程序時(shí),應(yīng)設(shè)置ALE禁止位無(wú)效

52、。</p><p>  PSEN——程序儲(chǔ)存允許(PSEN)輸出是外部程序存儲(chǔ)器的讀選通信號(hào),當(dāng)AT89C52由外部程序存儲(chǔ)器取指令(或數(shù)據(jù))時(shí),每個(gè)機(jī)器周期兩次PSEN有效,即輸出兩個(gè)脈沖,在此期間,當(dāng)訪(fǎng)問(wèn)外部數(shù)據(jù)存儲(chǔ)器,將跳過(guò)兩次PSEN信號(hào)。</p><p>  EA/VPP——外部訪(fǎng)問(wèn)允許,欲使CPU僅訪(fǎng)問(wèn)外部程序存儲(chǔ)器(地址為0000H-FFFFH),EA端必須保持低電平(接地)

53、。需注意的是:如果加密位LB1被編程,復(fù)位時(shí)內(nèi)部會(huì)鎖存EA端狀態(tài)。</p><p>  如EA端為高電平,CPU則執(zhí)行內(nèi)部程序存儲(chǔ)器的指令。</p><p>  3.4.2 時(shí)鐘芯片DS1302的工作原理 </p><p>  DS1302的引腳排列,其中Vcc1為后備電源,Vcc2為主電源。在主電源關(guān)閉的情況下,也能保持時(shí)鐘的連續(xù)運(yùn)行[7]。DS1302由Vcc

54、1或Vcc2兩者中的較大者供電。當(dāng)Vcc2大于Vcc1+0.2V時(shí),Vcc2給DS1302供電。當(dāng)Vcc2小于Vcc1時(shí),DS1302由Vcc1供電。X1和X2是振蕩源,外接32.768kHz晶振。RST是復(fù)位/片選線(xiàn),通過(guò)把RST輸入驅(qū)動(dòng)置高電平來(lái)啟動(dòng)所有的數(shù)據(jù)傳送。RST輸入有兩種功能:首先,RST接通控制邏輯,允許地址/命令序列送入移位寄存器;其次,RST提供終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。當(dāng)RST為高電平時(shí),所有的數(shù)據(jù)傳送被初

55、始化,允許對(duì)DS1302進(jìn)行操作。如果在傳送過(guò)程中RST置為低電平,則會(huì)終止此次數(shù)據(jù)傳送,I/O引腳變?yōu)楦咦钁B(tài)。上電運(yùn)行時(shí),在VCC>2.0V之前,RST必須保持低電平。只有在SCLK為低電平時(shí),才能將RST置為高電平。I/O為串行數(shù)據(jù)輸入輸出端(雙向)。SCLK為時(shí)鐘輸入端。 下圖為DS1302的引腳功能圖見(jiàn)圖3.5:</p><p>  圖3.5 DS1302封裝圖</p><p&

56、gt;  DS1302的控制字節(jié)的高有效位(位7)必須是邏輯1,如果它為0,則不能把數(shù)據(jù)寫(xiě)入DS1302中,位6如果0,則表示存取日歷時(shí)鐘數(shù)據(jù),為1表示存取RAM數(shù)據(jù);位5至位1指示操作單元的地址;最低有效位(位0)如為0表示要進(jìn)行寫(xiě)操作,為1表示進(jìn)行讀操作,控制字節(jié)總是從最低位開(kāi)始輸出。 </p><p>  在控制指令字輸入后的下一個(gè)SCLK時(shí)鐘的上升沿時(shí),數(shù)據(jù)被寫(xiě)入DS1302,數(shù)據(jù)輸入從低位即位0開(kāi)始。同

57、樣,在緊跟8位的控制指令字后的下一個(gè)SCLK脈沖的下降沿讀出DS1302的數(shù)據(jù),讀出數(shù)據(jù)時(shí)從低位0位到高位7。 </p><p>  DS1302有12個(gè)寄存器,其中有7個(gè)寄存器與日歷、時(shí)鐘相關(guān),存放的數(shù)據(jù)位為BCD碼形式。 </p><p>  此外,DS1302 還有年份寄存器、控制寄存器、充電寄存器、時(shí)鐘突發(fā)寄存器及與RAM相關(guān)的寄存器等。時(shí)鐘突發(fā)寄存器可一次性順序讀寫(xiě)除充電寄存器外

58、的所有寄存器內(nèi)容。 DS1302與RAM相關(guān)的寄存器分為兩類(lèi):一類(lèi)是單個(gè)RAM單元,共31個(gè),每個(gè)單元組態(tài)為一個(gè)8位的字節(jié),其命令控制字為C0H~FDH,其中奇數(shù)為讀操作,偶數(shù)為寫(xiě)操作;另一類(lèi)為突發(fā)方式下的RAM寄存器,此方式下可一次性讀寫(xiě)所有的RAM的31個(gè)字節(jié),命令控制字為FEH(寫(xiě))、FFH(讀)。 </p><p>  為了實(shí)現(xiàn)系統(tǒng)報(bào)警計(jì)時(shí)等功能,此設(shè)計(jì)采用了DS1302實(shí)時(shí)時(shí)鐘芯片。DS1302 是美國(guó)

59、DALLAS公司推出的一種高性能、低功耗、帶RAM的實(shí)時(shí)時(shí)鐘電路,它可以對(duì)年、月、日、周日、時(shí)、分、秒進(jìn)行計(jì)時(shí),具有閏年補(bǔ)償功能,工作電壓為2.5V~5.5V。采用三線(xiàn)接口與CPU進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多個(gè)字節(jié)的時(shí)鐘信號(hào)或RAM數(shù)據(jù)。DS1302內(nèi)部有一個(gè)31×8的用于臨時(shí)性存放數(shù)據(jù)的RAM寄存器。DS1302是DS1202的升級(jí)產(chǎn)品,與DS1202兼容,但增加了主電源/后備電源雙電源引腳,同時(shí)提供了對(duì)后備電源

60、進(jìn)行涓細(xì)電流充電的能力。DS1302的引腳排列,其中Vcc1為后備電源,VCC2為主電源。在主電源關(guān)閉的情況下,也能保持時(shí)鐘的連續(xù)運(yùn)行。DS1302由Vcc1或Vcc2兩者中的較大者供電。當(dāng)Vcc2大于Vcc1+0.2V時(shí),Vcc2給DS1302供電。當(dāng)Vcc2小于Vcc1時(shí),DS1302由Vcc1供電。X1和X2是振蕩源,外接32.768kHz晶振。RST是復(fù)位/片選線(xiàn),通過(guò)把RST輸入驅(qū)動(dòng)置高電平來(lái)啟動(dòng)所有的數(shù)據(jù)傳送。RST輸入有兩

61、種功能:首先,RST接通控制邏輯,允許地址/</p><p><b>  第四章 軟件設(shè)計(jì)</b></p><p>  4 . 1 主程序流程框圖</p><p>  數(shù)字電子鐘主程序主要用于實(shí)現(xiàn)程序各參數(shù)信號(hào)及顯示的初始化和鍵盤(pán)監(jiān)控功能[9],其實(shí)現(xiàn)流程如下圖4.1所示:</p><p>  圖4.1

62、主程序流程圖</p><p>  4.2 計(jì)算陽(yáng)歷程序流</p><p>  圖4.2 計(jì)算陽(yáng)歷程序流程圖</p><p>  4.3 時(shí)間調(diào)整程序流程圖</p><p>  圖4.3 時(shí)間調(diào)整程序流程圖</p><p>  4.4 日歷程序流程圖</p><p>  圖4.4 陰歷

63、程序流程圖</p><p>  4.5 子程序的設(shè)計(jì)</p><p>  讀、寫(xiě)DS1302子程序:</p><p>  寫(xiě)1302程序WRITE:</p><p><b>  CLR SCLK</b></p><p><b>  NOP</b></p>&l

64、t;p><b>  SETB RST</b></p><p><b>  NOP</b></p><p>  MOV A, 32H</p><p>  MOV R4, #8</p><p><b>  WRITE1:</b></p><p&

65、gt;  RRC A ;送地址給1302</p><p><b>  NOP</b></p><p><b>  NOP</b></p><p><b>  CLR SCLK</b></p><p><b>  NOP</b></p>&

66、lt;p><b>  NOP</b></p><p><b>  NOP</b></p><p>  MOV IO, C</p><p><b>  NOP</b></p><p><b>  NOP</b></p><p&g

67、t;<b>  NOP</b></p><p><b>  SETB SCLK</b></p><p><b>  NOP</b></p><p><b>  NOP</b></p><p>  DJNZ R4, WRITE1</p>&

68、lt;p><b>  CLR SCLK</b></p><p><b>  NOP</b></p><p>  MOV A, 31H</p><p>  MOV R4, #8</p><p><b>  WRITE2:</b></p><p&

69、gt;<b>  RRC A</b></p><p>  NOP ;送數(shù)據(jù)給1302</p><p><b>  CLR SCLK</b></p><p><b>  NOP</b></p><p><b>  NOP</b></p>

70、<p>  MOV IO, C</p><p><b>  NOP</b></p><p><b>  NOP</b></p><p><b>  NOP</b></p><p><b>  SETB SCLK</b></p>

71、<p><b>  NOP</b></p><p><b>  NOP</b></p><p>  DJNZ R4, WRITE2</p><p><b>  CLR RST</b></p><p><b>  RET</b></p&

72、gt;<p><b>  ;讀1302程序</b></p><p><b>  READ:</b></p><p><b>  CLR SCLK</b></p><p><b>  NOP</b></p><p><b>  NOP

73、</b></p><p><b>  SETB RST</b></p><p><b>  NOP</b></p><p>  MOV A, 32H</p><p>  MOV R4, #8</p><p><b>  READ1:</

74、b></p><p>  RRC A ;送地址給1302</p><p><b>  NOP</b></p><p>  MOV IO, C</p><p><b>  NOP</b></p><p><b>  NOP</b></

75、p><p><b>  NOP</b></p><p><b>  SETB SCLK</b></p><p><b>  NOP</b></p><p><b>  NOP</b></p><p><b>  NOP<

76、/b></p><p><b>  CLR SCLK</b></p><p><b>  NOP</b></p><p><b>  NOP</b></p><p>  DJNZ R4, READ1</p><p>  MOV R4, #

77、8</p><p><b>  READ2:</b></p><p><b>  CLR SCLK</b></p><p>  NOP ;從1302中讀出數(shù)據(jù)</p><p><b>  NOP</b></p><p><b>  NOP<

78、;/b></p><p>  MOV C, IO</p><p><b>  NOP</b></p><p><b>  NOP</b></p><p><b>  NOP</b></p><p><b>  NOP</b>

79、;</p><p><b>  NOP</b></p><p><b>  RRC A</b></p><p><b>  NOP</b></p><p><b>  NOP</b></p><p><b>  NOP&l

80、t;/b></p><p><b>  NOP</b></p><p><b>  SETB SCLK</b></p><p><b>  NOP</b></p><p>  DJNZ R4, READ2</p><p>  MOV 31H,

81、 A</p><p><b>  CLR RST</b></p><p><b>  RET</b></p><p>  第五章 硬件、軟件調(diào)試</p><p><b>  5.1 硬件調(diào)試</b></p><p>  本系統(tǒng)已符合設(shè)計(jì)基本要求,即

82、可以實(shí)現(xiàn)24小時(shí)方式;可使用按鍵開(kāi)關(guān)可</p><p><b>  現(xiàn)時(shí)、分調(diào)整。</b></p><p>  除了滿(mǎn)足這些基本要求外,本系統(tǒng)還做了一些創(chuàng)新:</p><p>  通過(guò)功能按鍵開(kāi)關(guān)KEY1進(jìn)入可進(jìn)入時(shí)間校準(zhǔn)系統(tǒng)。KEY2控制秒的校準(zhǔn),KEY3控制分的校準(zhǔn),KEY4控制時(shí)的校準(zhǔn)。每次一有校準(zhǔn)按鍵按下時(shí),系統(tǒng)會(huì)發(fā)出不同的聲響,以提示

83、用戶(hù)目前正在校準(zhǔn)的是時(shí)、分、秒的哪一種。校準(zhǔn)完成后仍然是通過(guò)功能按鍵KEY1返回時(shí)鐘顯示。</p><p>  通過(guò)更改主程序中定時(shí)器的定時(shí)初值,可實(shí)現(xiàn)不同樣式的數(shù)字鐘顯示方式。</p><p>  最后電子數(shù)字鐘的電路系統(tǒng)較大,對(duì)整個(gè)電路線(xiàn)路檢查一次,逐步去檢查每個(gè)線(xiàn)路端點(diǎn),看接線(xiàn)牢固不牢固,可見(jiàn)對(duì)于焊接方面更是不可輕視,龐大的電路系統(tǒng)中只要出于一處的錯(cuò)誤,則會(huì)對(duì)檢測(cè)造成很大的不便,而且

84、電路的交線(xiàn)較多,對(duì)于各種鋒利的引腳要注意處理,否則會(huì)刺被帶有包皮的導(dǎo)線(xiàn),則會(huì)對(duì)電路造成短路現(xiàn)象。</p><p>  在本成電子萬(wàn)年歷的設(shè)計(jì)調(diào)試中遇到了很多的問(wèn)題?;叵脒@些問(wèn)題只要認(rèn)真多思考都是可以避免的,</p><p>  涉及DS1302與CPU的連接時(shí)要注意,DS1302與CPU的連接時(shí),在硬件調(diào)試程序時(shí)可以不加電容器,只加一個(gè)32.768kHz 的晶振即可。只是選擇晶振時(shí),不同的

85、晶振,誤差也較大。另外,還可以在上面的電路中加入DS18B20,同時(shí)顯示實(shí)時(shí)溫度。只要占用CPU一個(gè)口線(xiàn)即可。具有3-4線(xiàn)串行接口,可與任何單片機(jī)、IC接口。功耗低,顯示狀態(tài)時(shí)電流為2μA (典型值),省電模式時(shí)小于1μA,工作電壓為2.4V~3.3V,顯示清晰。 </p><p><b>  5.2 軟件調(diào)試</b></p><p>  電子成年歷是多功能的數(shù)字鐘

86、,可以看當(dāng)前日期(陰、陽(yáng)歷),時(shí)間,還有溫度的儀器。電子成年歷功能很多,所以對(duì)于它的程序也較為復(fù)雜,所以在編寫(xiě)程序和調(diào)試時(shí)出現(xiàn)了相對(duì)較多的問(wèn)題。最后經(jīng)過(guò)多次的系統(tǒng)子程序的修改,一步一步的完成,最終解決了軟件。</p><p>  燒入程序后,看LED數(shù)碼管能否穩(wěn)定顯示,而且亮度均勻。再通過(guò)按鍵來(lái)更改時(shí)間是否成功,就是能否修改時(shí)間,能就成功。</p><p>  修改時(shí)間、日期時(shí)沒(méi)有農(nóng)歷沒(méi)有

87、自動(dòng)對(duì)應(yīng)上。把不相關(guān)的程序暫時(shí)屏蔽,地農(nóng)歷的子程序獨(dú)立調(diào)試,如發(fā)現(xiàn)在調(diào)用農(nóng)歷自動(dòng)更新時(shí),對(duì)十進(jìn)制和十六進(jìn)制處理不好,所以會(huì)造成錯(cuò)亂。最后把相應(yīng)的十進(jìn)制進(jìn)行修改,使得可以與十六進(jìn)制對(duì)應(yīng),這樣就行了[10]。</p><p>  5.3 調(diào)試結(jié)果分析與結(jié)論</p><p>  在調(diào)試中遇到發(fā)光二極管、LED數(shù)碼管為不顯示時(shí),首先使用試測(cè)儀對(duì)電路進(jìn)行調(diào)試,觀(guān)察是否存在漏焊,虛焊,或者元件損壞;

88、或是軟件上有什么問(wèn)題,有什么錯(cuò)誤等。</p><p>  LED 數(shù)碼管顯示不正常,還有亮度不夠,首先使用試測(cè)儀對(duì)電路進(jìn)行調(diào)試,觀(guān)察電路是否存在短路現(xiàn)象。查看燒寫(xiě)的程序是否正確無(wú)誤,對(duì)程序進(jìn)行認(rèn)真修改。</p><p><b>  調(diào)試結(jié)論</b></p><p>  在本設(shè)計(jì)中,為了設(shè)計(jì)的順利進(jìn)行,我在實(shí)驗(yàn)箱上進(jìn)行了部分調(diào)試,因?yàn)殡娐诽珡?fù)雜,

89、在實(shí)驗(yàn)箱上不可能整體電路進(jìn)行調(diào)試。 </p><p>  最后經(jīng)過(guò)多次的反復(fù)調(diào)試與分析,可以對(duì)電路的原理及功能更加熟悉,同時(shí)提高了設(shè)計(jì)能力與及對(duì)電路的分析能力。同時(shí)在軟件的編程方面得到更到的提高,對(duì)編程能力得到加強(qiáng)。同時(shí)對(duì)所學(xué)的知識(shí)得到很大的提高與鞏固。</p><p><b>  第六章 論文總結(jié)</b></p><p>  隨著電子技術(shù)在

90、不斷進(jìn)步,機(jī)械式時(shí)鐘已經(jīng)被淘汰,取而代之的是具有高度精確性和直觀(guān)性且無(wú)機(jī)械裝置,具有更長(zhǎng)的使用壽命等優(yōu)點(diǎn)的數(shù)字時(shí)鐘。作為新時(shí)代的我們,更應(yīng)該提高自身能力,適應(yīng)新時(shí)代的發(fā)展[11]。</p><p>  在整個(gè)設(shè)計(jì)過(guò)程中,充分發(fā)揮人的主觀(guān)能動(dòng)性,自主學(xué)習(xí),學(xué)到了許多沒(méi)學(xué)到的知識(shí)。這次畢業(yè)論文的制作過(guò)程是我的一次再學(xué)習(xí),再提高的過(guò)程。在論文中我充分地運(yùn)用了大學(xué)期間所學(xué)到的知識(shí)。我從資料的收集中,掌握了很多單片機(jī)、LE

91、D顯示屏的知識(shí),讓我對(duì)我所學(xué)過(guò)的知識(shí)有所鞏固和提高,并且讓我對(duì)當(dāng)今單片機(jī)、LED顯示屏的最新發(fā)展技術(shù)有所了解。在整個(gè)過(guò)程中,我學(xué)到了新知識(shí),增長(zhǎng)了見(jiàn)識(shí)。在今后的日子里,我仍然要不斷地充實(shí)自己,爭(zhēng)取在所學(xué)領(lǐng)域有所作為。 </p><p>  腳踏實(shí)地,認(rèn)真嚴(yán)謹(jǐn),實(shí)事求是的學(xué)習(xí)態(tài)度,不怕困難、堅(jiān)持不懈、吃苦耐勞的精神是我在這次設(shè)計(jì)中最大的收益。我想這是一次意志的磨練,是對(duì)我實(shí)際能力的一次提升,也會(huì)對(duì)我未來(lái)的學(xué)習(xí)和工作

92、有很大的幫助。在此次設(shè)計(jì)中,知道了做凡事要有一顆平常的心,不要想著走捷徑,一步一腳印。也練就了我們的耐心,做什么事都在有耐心。此次論文中學(xué)了很多很多東西,這是最重要的。 </p><p><b>  參考文獻(xiàn)</b></p><p>  [1]樊海濤、劉培培、耿娟平.基于單片機(jī)的數(shù)字時(shí)鐘C語(yǔ)言設(shè)計(jì)[J].北

93、京:北京航天工業(yè)學(xué)院學(xué)報(bào),2010.4~4.</p><p>  [2]趙德生、李德倉(cāng).基于AT89S52的數(shù)字式電子鐘系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].鐵路計(jì)算機(jī)應(yīng)用,2010.43~43.</p><p>  [3]包敬平、陸安山、張大平、周小珠.基于74HC164擴(kuò)展單片機(jī)系統(tǒng)I/0端口的研究[J].欽州學(xué)院學(xué)報(bào),2009.18~19.</p><p>  [4]姚德法

94、、張洪林.串行時(shí)鐘芯片DS1302的原理和使用[J].開(kāi)發(fā)與應(yīng)用信息技術(shù)與信息化,2006.92~92. </p><p>  [5]劉彥華、邢鵬康.基于AT89S51單片機(jī)的萬(wàn)年歷設(shè)計(jì)與實(shí)現(xiàn)[J].理論探索,2010.116~116.[6]何宏森.多功能智能電子鐘的設(shè)計(jì)[J].測(cè)控技術(shù),2005.83~83.[7]張兆朋、鄒應(yīng)全、施海風(fēng).基于AT89S52單片機(jī)的學(xué)校電鈴自動(dòng)控制[J].電子技術(shù)設(shè)計(jì)與運(yùn)用,

95、2002.41~41.[8]黃明強(qiáng).DS1302在單片機(jī)系統(tǒng)中的應(yīng)用[J].保定師范專(zhuān)科學(xué)校學(xué)報(bào),2004.30~31.[9]樊海濤、劉培培、耿娟平.基于單片機(jī)的數(shù)字時(shí)鐘C語(yǔ)言設(shè)計(jì)[J].北京:北京航天工業(yè)學(xué)院學(xué)報(bào),2010.5~5.[10]盛蒙蒙、葛亦斌、邱燁、馬棟.基于單片機(jī)實(shí)現(xiàn)多功能數(shù)字鐘的系統(tǒng)設(shè)計(jì)[J].電子科學(xué),2009.35~35.</p><p>  [11]徐紅霞.數(shù)字鐘電路的設(shè)計(jì)[J].廣

96、東技術(shù)師范學(xué)院學(xué)報(bào),2004.25~25.</p><p><b>  附錄</b></p><p> ?。ㄒ唬?系統(tǒng)電路圖</p><p><b>  (二) 程序清單</b></p><p><b>  程序如下:</b></p><p>  

97、CONFIG12 EQU 7FH</p><p>  TEMPH EQU 21H</p><p>  TEMPL EQU 20H</p><p>  REG2 EQU 22H</p><p>  REG3 EQU 23H</p><p>  REG4 EQU 24H</p><p>  DAT

98、EQU P0.7</p><p>  SCLK EQU P3.2</p><p>  IO EQU P3.3</p><p>  RST EQU P3.4</p><p>  Year DATA 66H</p><p>  Month DATA 65H</p><p>  Week DATA 6

99、4H</p><p>  Day DATA 63H </p><p>  Hour DATA 62H</p><p>  Mintue DATA 61H</p><p>  Second DATA 60H</p><p><b>  ORG 0000H</b></p><p&g

100、t;  LJMP START</p><p><b>  ORG 001BH</b></p><p>  LJMP INTT1</p><p>  START: ;初值</p><p><b>  LCALL ZJ</b></p><p><b&

101、gt;  SETB EA</b></p><p>  MOV SCON, #00H ; 串行輸出,方式0</p><p>  MOV TMOD, #10H ;計(jì)數(shù)器1,方式1</p><p>  MOV TL1, #00H</p><p>  MOV TH1, #00H</p><p>  MOV

102、 32H, #8EH</p><p>  MOV 31H,#00H ;允許寫(xiě)1302</p><p>  LCALL WRITE</p><p>  MOV 32H, #90H</p><p>  MOV 31H, #0A6H ;1302充電,充電電流1.1MA</p><p>  LCALL WRITE&

103、lt;/p><p>  ;主程序~~~~~~~~~~~~~~~~~~~~~</p><p><b>  MAIN1:</b></p><p>  MOV 32H,#8DH ;讀出年</p><p>  LCALL READ</p><p>  MOV year, 31H</p>&l

104、t;p>  MOV 32H,#8BH ;讀出星期</p><p>  LCALL READ</p><p>  MOV week, 31H</p><p>  MOV 32H,#89H ;讀出月</p><p>  LCALL READ</p><p>  MOV month, 31H</p>

105、<p>  MOV 32H,#87H ;讀出日</p><p>  LCALL READ</p><p>  MOV day, 31H</p><p>  MOV 32H, #85H ;讀出小時(shí)</p><p>  LCALL READ</p><p>  MOV hour, 31H</p&g

106、t;<p>  MOV 32H,#83H ;讀出分鐘</p><p>  LCALL READ</p><p>  MOV MINTUE, 31H</p><p>  MOV 32H,#81H ;讀出秒</p><p>  LCALL READ</p><p>  MOV second, 31H

107、</p><p>  ;~~~~~~~~~~~~分離緩存~~~~~~~~</p><p>  MOV R0,year ;年分離,送顯示緩存</p><p>  LCALL DIVIDE</p><p>  MOV 7BH, R1</p><p>  MOV 4BH, R1</p><p>

108、  MOV 7CH, R2</p><p>  MOV 4CH, R2</p><p>  MOV 78H, week</p><p>  MOV 48H, week</p><p>  MOV R0,month ;月分離,送顯示緩存</p><p>  LCALL DIVIDE</p><p&g

109、t;  MOV 79H, R1</p><p>  MOV 49H, R1</p><p>  MOV 7AH, R2</p><p>  MOV 4AH, R2</p><p>  MOV R0,day ;日分離,送顯示緩存</p><p>  LCALL DIVIDE</p><p> 

110、 MOV 76H, R1</p><p>  MOV 46H, R1</p><p>  MOV 77H, R2</p><p>  MOV 47H, R2</p><p>  MOV R0,hour ;小時(shí)分離,送顯示緩存</p><p>  LCALL DIVIDE</p><p>  MO

111、V 74H, R1</p><p>  MOV 44H, R1</p><p>  MOV 75H, R2</p><p>  MOV 45H, R2</p><p>  MOV R0,mintue ;分鐘分離,送顯示緩存</p><p>  LCALL DIVIDE</p><p>  MOV

112、 72H, R1</p><p>  MOV 42H, R1</p><p>  MOV 73H, R2</p><p>  MOV 43H, R2</p><p>  MOV R0,second ;秒分離,送顯示緩存</p><p>  LCALL DIVIDE</p><p>  MO

113、V 70H, R1</p><p>  MOV 40H, R1</p><p>  MOV 71H, R2</p><p>  MOV 41H, R2</p><p><b>  CLR EA</b></p><p>  LCALL TOUTOU</p><p><b

114、>  SETB EA</b></p><p>  LCALL DISPLAY</p><p>  LCALL GENGXIAN ;更新農(nóng)歷程序</p><p>  JNB P0.1, SETG111</p><p>  JNB F0, SSS</p><p>  SETB P0.4

115、 ;非閏月,則p0.4清零,指示燈亮</p><p>  LJMP MAIN1</p><p><b>  SETG111:</b></p><p><b>  LJMP SETG</b></p><p><b>  SSS:</b></p><p>

116、;  CLR P0.4 ;閏月,則p0.4置位,指示燈不亮</p><p>  LJMP MAIN1</p><p>  ;~~~~~~~~~~~~~~ 溫度</p><p><b>  TOUTOU:</b></p><p>  LCALL CHUSHI</p><p>  LCALL R

117、DTEMP</p><p>  MOV A, TEMPL</p><p>  ANL A, #11110000B</p><p>  MOV TEMPL, A</p><p>  MOV A, TEMPH</p><p>  ANL A, #00000111B</p><p>  ORL

118、 A, TEMPL</p><p><b>  SWAP A</b></p><p>  MOV 25H, A</p><p>  MOV A, 25H</p><p>  MOV B, #64H</p><p><b>  DIV AB</b></p><

119、;p><b>  MOV A, B</b></p><p>  MOV B, #0AH</p><p><b>  DIV AB</b></p><p><b>  SWAP A</b></p><p><b>  ORL A, B</b></

120、p><p>  MOV 10H, A</p><p><b>  RET</b></p><p><b>  CHUSHI:</b></p><p>  LCALL RESET</p><p>  MOV A, #0CCH</p><p>  LCALL

121、WRITE111</p><p>  MOV A, #4EH</p><p>  LCALL WRITE111</p><p>  MOV A, #CONFIG12</p><p>  LCALL WRITE111</p><p><b>  RET</b></p><p>

122、;<b>  RDTEMP:</b></p><p>  LCALL RESET</p><p>  MOV A, #0CCH</p><p>  LCALL WRITE111</p><p>  MOV A, #44H</p><p>  LCALL WRITE111</p>&l

123、t;p>  LCALL DL1MS</p><p>  LCALL RESET</p><p>  MOV A, #0CCH</p><p>  LCALL WRITE111</p><p>  MOV A, #0BEH</p><p>  LCALL WRITE111</p><p> 

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論