版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(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> ?。ǘ?屆)</b></p><p> 基于單片機(jī)的萬(wàn)年歷時(shí)鐘設(shè)計(jì)</p><p> 所在學(xué)院 </p><p> 專業(yè)班級(jí) 測(cè)控技術(shù)與儀器 </p>
2、;<p> 學(xué)生姓名 學(xué)號(hào) </p><p> 指導(dǎo)教師 職稱 </p><p> 完成日期 年 月 </p><p><b> 摘 要</b></p><p> 電
3、子萬(wàn)年歷是一種非常廣泛日常計(jì)時(shí)工具,對(duì)現(xiàn)代社會(huì)越來(lái)越流行。它可以對(duì)年、月、日、時(shí)、分、秒進(jìn)行計(jì)時(shí),還具有閏年補(bǔ)償?shù)榷喾N功能。對(duì)于數(shù)字電子萬(wàn)年歷采用直觀的數(shù)字顯示,可以同時(shí)顯示年、月、日、時(shí)、分、秒等信息,還具有時(shí)間校準(zhǔn)等功能。</p><p> 電子萬(wàn)年歷的設(shè)計(jì)可以通過(guò)單片機(jī)制作來(lái)完成,其功能的實(shí)現(xiàn)主要通過(guò)軟件編程來(lái)完成,這樣可以降低電路的復(fù)雜性,降低成本。</p><p> 本文通過(guò)
4、對(duì)一個(gè)基于單片機(jī)的通過(guò)匯編語(yǔ)言編寫(xiě)軟件來(lái)實(shí)現(xiàn)萬(wàn)年歷功能電子時(shí)鐘的設(shè)計(jì),從而達(dá)到學(xué)習(xí)、了解單片機(jī)相關(guān)指令在各方面的應(yīng)用。系統(tǒng)由主控制器AT89C51、時(shí)鐘電路DS1302、顯示電路、按鍵電路、和復(fù)位電路等部分構(gòu)成,能實(shí)現(xiàn)時(shí)鐘日歷顯示的功能,能進(jìn)行時(shí)、分、秒的顯示。AT89C51單片機(jī)作為核心,功耗小,能在3V的低壓工作,電壓可選用3~5V電壓供電。而且DS1302的使用壽命長(zhǎng),誤差小。再通過(guò)八位數(shù)碼管動(dòng)態(tài)掃描方式來(lái)顯示年、月、日、時(shí)、分、
5、秒等信息。</p><p> 因此,采用單片機(jī)AT89C51原理制作的電子萬(wàn)年歷,不僅僅在原理上能夠成功的實(shí)現(xiàn)計(jì)時(shí)等功能,更符合我們實(shí)際生活的需要。</p><p> 綜上所述,本文設(shè)計(jì)的萬(wàn)年歷具有讀取方便、顯示直觀、電路簡(jiǎn)潔、成本低廉等優(yōu)點(diǎn),符合設(shè)計(jì)目的與要求。</p><p> 關(guān)鍵詞:數(shù)字顯示,匯編語(yǔ)言,AT89C51單片機(jī),DS1302時(shí)鐘芯片,動(dòng)態(tài)掃
6、描</p><p> Calendar Clock Design Based On Single Chip</p><p><b> Abstract</b></p><p> E-calendar day time is a very wide range of tools, increasingly popular in modern
7、 society. It can be year, month, day, hours, minutes, seconds for time, but also has leap year compensation to a variety of functions. For the digital electronic calendar using an intuitive digital display can simultaneo
8、usly display year, month, day, hours, minutes, seconds and other information, but also a time-calibration and other functions. </p><p> The design of electronic calendar produced by MCU to complete the impl
9、ementation of its functions mainly through software programming to complete, this can reduce the circuit complexity and reduce costs.</p><p> Through the adoption of a microcontroller-based
10、160;software written in assembly language to implement the design of electronic clock calendar function to achieve the learning, understanding all aspects of SCM-related
11、instruction in the application. By main control AT89C51, clock circuit DS1302, display circuit, keystroke circuit and restore circuit component, to achieve clock calendar display function can be carried out, hours s
12、econds of the show and real-time temperature display. AT89C51 microcont</p><p> Therefore, the principle of making use of SCM AT89C51 electronic calendar, not just in principle to the successful realization
13、 of timing and other functions, more in line with the needs of our real life.</p><p> In summary, the paper design of the calendar with easy to read, intuitive display, circuit simplicity, low cost, etc., m
14、eet the design objectives and requirements.</p><p> Keywords: Digital Display, Assembly Language, AT89C51 Microcontroller, DS1302 Clock Chip, Dynamic Scanning</p><p><b> 目錄</b><
15、/p><p><b> 摘 要I</b></p><p> AbstractII</p><p><b> 1 緒論1</b></p><p> 1.1課題的背景與意義1</p><p> 1.2萬(wàn)年歷發(fā)展動(dòng)態(tài)2</p><p>
16、2設(shè)計(jì)要求與方案論證4</p><p> 2.1設(shè)計(jì)要求與功能4</p><p> 2.2設(shè)計(jì)的方案論證與確定4</p><p> 2.2.1顯示模塊的論證4</p><p> 2.2.2時(shí)鐘芯片的論證5</p><p> 2.3最終方案的確定5</p><p><b
17、> 3系統(tǒng)硬件設(shè)計(jì)6</b></p><p> 3.1單片機(jī)系統(tǒng)6</p><p> 3.2 AT89C51單片機(jī)7</p><p> 3.2.1 AT89C51描述7</p><p> 3.2.2 AT89C51引腳圖及介紹7</p><p> 3.2.3 AT89C51功能特
18、性9</p><p> 3.2.4復(fù)位電路9</p><p> 3.3 DS1302時(shí)鐘芯片10</p><p> 3.3.1 DS1302引腳功能及結(jié)構(gòu)10</p><p> 3.3.2 DS1302的控制字11</p><p> 3.3.3數(shù)據(jù)輸入輸出11</p><p&g
19、t; 3.3.4 DS1302的寄存器11</p><p> 3.3.5 DS1302實(shí)時(shí)時(shí)間流程11</p><p> 3.4顯示和鍵盤(pán)模塊12</p><p> 3.4.1陽(yáng)歷算法12</p><p> 3.4.2按鍵消抖13</p><p><b> 4軟件設(shè)計(jì)14</b&
20、gt;</p><p> 4.1程序流程框圖14</p><p> 4.2陽(yáng)歷計(jì)算流程圖15</p><p> 4.3時(shí)間調(diào)整流程圖16</p><p> 4.3.1日期調(diào)整16</p><p> 4.3.2時(shí)間調(diào)整17</p><p><b> 5測(cè)試結(jié)果18
21、</b></p><p><b> 6結(jié)論20</b></p><p><b> 7參考文獻(xiàn)21</b></p><p> 8致謝錯(cuò)誤!未定義書(shū)簽。</p><p><b> 附錄22</b></p><p> 附錄1 原理
22、圖22</p><p><b> 附錄2 程序23</b></p><p><b> 1 緒論</b></p><p> 1.1課題的背景與意義</p><p> 在當(dāng)代繁忙的工作與生活中,時(shí)間與我們每一個(gè)人都有非常密切的關(guān)系,每個(gè)人都受到時(shí)間的影響。為了更好的利用我們自己的時(shí)間,需要一
23、款靈活、穩(wěn)定而又功能強(qiáng)大的自動(dòng)定時(shí)控制系統(tǒng),以規(guī)范本單位的作息時(shí)間或定時(shí)控制一些設(shè)備。目前,市面上出現(xiàn)的一些時(shí)控設(shè)備或功能單一,或使用煩瑣,或價(jià)格昂貴,總有一些不盡如人意的地方[1]。我們必須對(duì)時(shí)間有一個(gè)度量,因此產(chǎn)生了鐘表。鐘表的發(fā)展是非常迅速的,17 世紀(jì)中葉, 由荷蘭人C. Huygens來(lái)發(fā)明的第一個(gè)鐘擺與以前任何計(jì)時(shí)裝置相比, 擺鐘的精確度提高了上百倍,而他隨后發(fā)明的螺旋平衡彈簧,又進(jìn)一步提高精度、減小體積, 導(dǎo)致了懷表的出現(xiàn)
24、。然而再好的擺鐘,其精度也只能達(dá)到每年誤差不超過(guò)一秒[2]。1939年出現(xiàn)了利用石英晶體振動(dòng)計(jì)時(shí)的石英鐘, 每天誤差只有千分之二秒, 到二次大戰(zhàn)后精度提高到30 年才差一秒。很快, 測(cè)年的技術(shù)又推進(jìn)到原子層面, 1948 年出現(xiàn)第一臺(tái)原子鐘, 1955年又發(fā)明了銫原子鐘, 利用Cs133原子的共振頻率計(jì)時(shí),現(xiàn)在精度已經(jīng)高達(dá)每天只差十億分之一秒[2]。</p><p> 從剛開(kāi)始的機(jī)械式鐘表到現(xiàn)在普遍用到的數(shù)字式
25、鐘表,即使現(xiàn)在鐘表千奇百怪,但是它們都只是完成一種功能——計(jì)時(shí)功能,只是工作原理不同而已,在人們的使用過(guò)程中,逐漸發(fā)現(xiàn)了鐘表的功能太單一,無(wú)法更大程度上的滿足人們的需求。發(fā)展到現(xiàn)在人們廣泛使用的萬(wàn)年歷。萬(wàn)年歷在家庭居室、學(xué)校、車站和廣場(chǎng)使用越來(lái)越廣泛,給人們的生活、學(xué)習(xí)、工作帶來(lái)極大的方便[3]。電子萬(wàn)年歷具有信息量大、直觀清晰、經(jīng)濟(jì)實(shí)用等優(yōu)點(diǎn),正成為家庭、商場(chǎng)、公共場(chǎng)所等新的消費(fèi)熱點(diǎn),具有重要的開(kāi)發(fā)價(jià)值[4]。隨著科技的不斷發(fā)展,家用
26、電子產(chǎn)品不但種類日益豐富,而且變得更加經(jīng)濟(jì)實(shí)用,,功能也越來(lái)越齊全,除了公歷年月、日、時(shí)分秒、星期顯示及鬧鈴?fù)?,又增加了農(nóng)歷、溫度、24節(jié)氣及l(fā)2生肖等顯示。甚至還有語(yǔ)音報(bào)時(shí)等獨(dú)特功能。再加上造型新穎別致,附帶立體動(dòng)感畫(huà)面,配合鬻潺流水、悅耳鳥(niǎo)嗚的背景音樂(lè),確實(shí)是現(xiàn)代家庭、辦公室、工廠、車站等查看時(shí)問(wèn)或饋贈(zèng)親朋的理想用品,滿足了當(dāng)前人們追求個(gè)性化生活的需要。</p><p> 萬(wàn)年歷是我國(guó)古代傳說(shuō)中最古老的一部
27、太陽(yáng)歷。為紀(jì)念歷法編撰者萬(wàn)年功績(jī),便將這部歷法命名為“萬(wàn)年歷”[5]。而現(xiàn)在所使用的萬(wàn)年歷,實(shí)際上就是記錄一定時(shí)間范圍內(nèi)(比如100年或更多)的具體陽(yáng)歷或陰歷的日期的年歷,方便有需要的人查詢使用,與原始?xì)v法并無(wú)直接聯(lián)系。隨著電子技術(shù)的發(fā)展,我們用于計(jì)時(shí)的工具也在不斷地發(fā)展,而單片機(jī)技術(shù)的出現(xiàn)使得萬(wàn)年歷有了的心得發(fā)展方向。單片機(jī)具有體積小、功能全、性價(jià)比高等優(yōu)點(diǎn),在工業(yè)控制、家用電器、通信、信息處理、尖端武器等各類控制領(lǐng)域中發(fā)揮極大地作用
28、。單片機(jī)技術(shù)已然成為現(xiàn)在電子信息、電氣、通信、自動(dòng)化、機(jī)電一體化等行業(yè)的技術(shù)人員必須掌握的技術(shù)[6]。用最少的芯片就能實(shí)現(xiàn)強(qiáng)大的功能,這是將來(lái)電子產(chǎn)品的主流方向,它將一步步取代替他同類產(chǎn)品。</p><p> 二十一世紀(jì)的今天,最具代表性的計(jì)時(shí)產(chǎn)品就是電子萬(wàn)年歷。近代世界鐘表業(yè)界有三次革命:1.擺和擺輪游絲的發(fā)明,相對(duì)穩(wěn)定的機(jī)械振蕩頻率源使鐘表的走時(shí)差從分級(jí)縮小到秒級(jí),代表性的產(chǎn)品就是帶有擺或擺輪游絲的機(jī)械鐘或
29、表。2.是石英晶體振蕩器的應(yīng)用,發(fā)明了走時(shí)精度更高的石英電子鐘表,使鐘表的走時(shí)月差從分級(jí)縮小到秒級(jí)。3.萬(wàn)年歷的發(fā)明使計(jì)時(shí)產(chǎn)品的走時(shí)日差從分級(jí)縮小到1/600萬(wàn)秒,從原有傳統(tǒng)指針計(jì)時(shí)的方式發(fā)展為人們?nèi)粘8鼮槭煜さ囊构鈹?shù)字顯示方式,直觀明了,并增加了全自動(dòng)日期、星期、溫度以及其他日常附屬信息的顯示功能,它更符合消費(fèi)者的生活需求!因此,電子萬(wàn)年歷的出現(xiàn)帶來(lái)了鐘表計(jì)時(shí)業(yè)界跨躍性的進(jìn)步。</p><p> 1.2萬(wàn)年歷
30、發(fā)展動(dòng)態(tài)</p><p> 測(cè)時(shí)的原理是運(yùn)用時(shí)間上穩(wěn)定的周期性過(guò)程, 其實(shí)物理學(xué)上周期性過(guò)程的時(shí)間范圍極大, 短到普朗克時(shí)間的10-43s, 長(zhǎng)到天文上的1017~1018s, 為測(cè)時(shí)提供了廣闊的空間[7]。</p><p> 但是話又得說(shuō)回來(lái), 盡管有精確物理定義的“秒”,我們?nèi)粘J褂萌匀皇翘煳挠?jì)時(shí), 仍然是按晝夜作息、按年度預(yù)算。因?yàn)樘煳闹芷趯?shí)際上也是人類生活環(huán)境的周期,其精度一般
31、講也足夠我們?nèi)粘J褂?。即使有了原子?仍然需要有歷法的天文計(jì)時(shí)[8]。</p><p> 歸納起來(lái),人類計(jì)時(shí)有兩種系統(tǒng): 一種是天文計(jì)時(shí),一種是物理計(jì)時(shí)。前面說(shuō)到, 計(jì)時(shí)是從天文方法開(kāi)始的,然而天文上的周期性并不像我們外行人想象的那樣規(guī)則。以太陽(yáng)為標(biāo)準(zhǔn)的天文“日”長(zhǎng)度并不相等,現(xiàn)在一年之中就可以差51 秒; 更不用說(shuō)根據(jù)珊瑚化石生長(zhǎng)紋判斷, 四億年前一年有四百多天, 在地質(zhì)尺度上來(lái)講地球自轉(zhuǎn)速度是在減慢的。如此
32、看來(lái), 用獨(dú)立的物理方法計(jì)時(shí),避免天文計(jì)時(shí)中的不穩(wěn)定因素,是極為重要的[9]。</p><p> 隨著科技的不斷發(fā)展,萬(wàn)年歷的出現(xiàn)解決了我們的這些問(wèn)題。對(duì)手表稍有了解的人, 都應(yīng)該聽(tīng)說(shuō)過(guò)手表三大復(fù)雜技術(shù)之一的萬(wàn)年歷。它的英文“Perpetual calendar” 應(yīng)直譯為“ 永久日歷”。但事實(shí)上, 無(wú)論是萬(wàn)年還是永久都言過(guò)其實(shí)了。我們所見(jiàn)到的力年歷表, 除了正常的上弦和校對(duì)時(shí)間外, 基本上每一百年就需要更正一
33、次日期, 所以稱為一百年厲表才比較準(zhǔn)確。在它的基礎(chǔ)上進(jìn)一步改造, 增加數(shù)組齒輪和撥桿, 理論上可以制造出四百年歷表。只有突破了四百年大關(guān)才是真正的萬(wàn)年歷表。</p><p> 通過(guò)技術(shù)上的發(fā)展,電子電路對(duì)于萬(wàn)年歷的發(fā)展祈禱了重大作用。電子電路的設(shè)計(jì)可以被劃分為兩個(gè)不同的領(lǐng)域:第一個(gè)領(lǐng)域?qū)⑸婕叭绾卧O(shè)計(jì)一個(gè)可以完成所指定功能的電路,有時(shí),這些功能的實(shí)現(xiàn)需要基于特定的實(shí)驗(yàn)室條件;而第二個(gè)領(lǐng)域則涉及如何設(shè)計(jì)同樣的電路,
34、以保證它的每個(gè)產(chǎn)品模塊能完成所規(guī)定的功能,而不附加任何其他不期望和未指定的功能,在這個(gè)領(lǐng)域中,對(duì)產(chǎn)品的可靠性要求總是要高于對(duì)產(chǎn)品的壽命要求[10]。</p><p> 將模擬設(shè)計(jì)和數(shù)字設(shè)計(jì)劃分為兩個(gè)完全獨(dú)立的學(xué)科,是一種令人不安的傾向,而且這樣的做法也不利于形成好的教學(xué)效果。數(shù)字電路實(shí)際上只是模擬電路的一個(gè)極端產(chǎn)物,任何透徹了解模擬電路原理的人,都能很好地分析邏輯設(shè)備中非常難以掌握的運(yùn)行機(jī)理[10]。電子控制電
35、路不僅在日常生活中有大量應(yīng)用,而且廣泛地應(yīng)用于科學(xué)研究中 [11],特別是以單片機(jī)為主的設(shè)計(jì)發(fā)展的尤為迅速:</p><p> 單片機(jī)發(fā)展極為迅速,當(dāng)前世界上各大芯片制造公司郝推出了自己的單片機(jī),從8位、16位到32位等,但它們各具特色,互成互補(bǔ),為單片機(jī)的應(yīng)用提供廣闊的天地[12]。</p><p> 2設(shè)計(jì)要求與方案論證</p><p> 2.1設(shè)計(jì)要求與
36、功能</p><p> 通過(guò)利用AT89C51單片機(jī)來(lái)設(shè)計(jì)一個(gè)能夠顯示年、月、日、時(shí)、分、秒的電子萬(wàn)年歷。再通過(guò)LED或者LCD顯示設(shè)備顯示。能夠達(dá)到任意調(diào)整年、月、日、時(shí)、分、秒。</p><p> (1)顯示年、月、日、時(shí)、分、秒等信息</p><p> (2)具有調(diào)整日期和時(shí)間等功能</p><p><b> 其設(shè)計(jì)方
37、向如下:</b></p><p> (1)萬(wàn)年歷可以采用專用的時(shí)鐘芯片來(lái)產(chǎn)生,由芯片產(chǎn)生穩(wěn)定的時(shí)間,單片機(jī)讀取,處理,然后顯示出來(lái)。</p><p> (2)用鍵盤(pán)實(shí)現(xiàn)數(shù)據(jù)的輸入,和顯示模式的選擇。</p><p> 大致歸納為把AT89C51單片機(jī)作為主控系統(tǒng),將專用的時(shí)鐘芯片,顯示模塊,鍵盤(pán)模塊連接一起,形成一個(gè)萬(wàn)年歷的系統(tǒng)。時(shí)鐘芯片作為萬(wàn)年歷
38、的產(chǎn)生裝置,通過(guò)單片機(jī)的讀取傳輸?shù)斤@示模塊,數(shù)字化直觀的顯示出結(jié)果。同時(shí)還可以通過(guò)鍵盤(pán)模塊設(shè)置任意你想要設(shè)置的是今年與日期。</p><p> 2.2設(shè)計(jì)的方案論證與確定</p><p> 2.2.1顯示模塊的論證</p><p> 方案1:采用LCD液晶顯示屏,液晶顯示屏輕巧、節(jié)省空間、無(wú)幾何失真、可視面積大、畫(huà)面穩(wěn)定,屏幕調(diào)節(jié)方便,使用數(shù)字接口無(wú)需調(diào)節(jié),即
39、使模擬接口也可以auto鍵自動(dòng)調(diào)整。但是價(jià)格昂貴,有拖影問(wèn)題,非標(biāo)準(zhǔn)分辨率下顯示效果差,維修費(fèi)用也相當(dāng)昂貴。</p><p> 方案2:采用LED靜態(tài)顯示,單片機(jī)只要把要顯示的字形代碼發(fā)送到接口電路就可以了,直到要顯示新的數(shù)據(jù)時(shí),再發(fā)送新的代碼,使用這種方法CPU的開(kāi)銷小,控制程序簡(jiǎn)單,但占用較多的硬件資源,每個(gè)顯示器都要占用單獨(dú)的具有鎖存功能的I/O接口用于筆劃段字形代碼[13]。</p>&l
40、t;p> 方案3:采用動(dòng)態(tài)掃描顯示,其接口電路是把所有顯示器的8個(gè)筆劃段da-dp同名端連在一起,而每一個(gè)顯示器的公共極com各自獨(dú)立地收I/O線控制。CPU向字段輸出口送出字形碼時(shí),所有顯示器接收到相同的字形碼,但究竟是哪個(gè)顯示器亮,取決于com端,而這一端是有I/O控制的,因此就可以自行決定合適顯示哪一位。采用分時(shí)的方法,輪流控制各個(gè)顯示器的com端,使各個(gè)顯示器輪流點(diǎn)亮。此過(guò)程中,每位顯示器的點(diǎn)亮?xí)r間是極為短暫的(約1ms
41、),但由于人的視覺(jué)暫留現(xiàn)象及發(fā)光二極管的余輝效應(yīng),只要掃描的速度足夠快,給人的感覺(jué)就是一組穩(wěn)定的顯示數(shù)據(jù),不會(huì)有閃爍感[13]。</p><p> 2.2.2時(shí)鐘芯片的論證</p><p> 方案1:直接采用單片機(jī)定時(shí)計(jì)數(shù)器提供秒信號(hào),使用程序?qū)崿F(xiàn)年、月、日、時(shí)、分、秒計(jì)數(shù)。采用此種方案雖然減少芯片的使用,節(jié)約成本,但是,實(shí)現(xiàn)的時(shí)間誤差較大。</p><p>
42、 方案2:采用DS1302時(shí)鐘芯片實(shí)現(xiàn)時(shí)鐘,DS1302芯片是一種高性能、低功耗的實(shí)時(shí)時(shí)鐘芯片,附加31字節(jié)的靜態(tài)RAM,采用SPI三線接口與CPU進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多個(gè)字節(jié)的時(shí)鐘信號(hào)和RAM數(shù)據(jù)。實(shí)時(shí)時(shí)鐘可以提供秒、分、時(shí)、日、月、年、,一個(gè)月小于31天時(shí)可以自動(dòng)調(diào)整,且具有閏年補(bǔ)償功能。工作電壓2.5V~5.5V。采用雙電源供電,可設(shè)置備用電源充電方式,提供了對(duì)后背電源進(jìn)行涓細(xì)電流充電的能力。</p>
43、<p> 2.3最終方案的確定</p><p> 綜上所述,本設(shè)計(jì)采用AT89C51單片機(jī)作為住控制系統(tǒng),DS1302時(shí)鐘芯片作為時(shí)鐘模塊,顯示模塊采用LED動(dòng)態(tài)掃描方式,再通過(guò)鍵盤(pán)模塊的控制來(lái)實(shí)現(xiàn)電子萬(wàn)年歷的功能。其原理圖如下:</p><p><b> 圖2-1 原理框圖</b></p><p><b> 3
44、系統(tǒng)硬件設(shè)計(jì)</b></p><p><b> 3.1單片機(jī)系統(tǒng)</b></p><p> 一個(gè)完整的單片機(jī)系統(tǒng),通常包括鍵盤(pán)輸入、現(xiàn)實(shí)輸出、打印輸出、數(shù)據(jù)采集、伺服驅(qū)動(dòng)、數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)通信等眾多功能模塊,這些功能模塊只能通過(guò)I/O端口實(shí)現(xiàn)與單片機(jī)的信息交互。</p><p> 但是單片機(jī)I/O端口只能接收和發(fā)送邏輯電平數(shù)字信
45、號(hào),而I/o設(shè)備輸出的信號(hào)種類、信號(hào)電平各異。所以,在單片機(jī)前端,用接口芯片對(duì)信號(hào)進(jìn)行預(yù)處理,如模數(shù)轉(zhuǎn)換、RS-232接口電平轉(zhuǎn)換,在單片機(jī)后端也要進(jìn)行處理,如電平轉(zhuǎn)換、數(shù)模轉(zhuǎn)換及增強(qiáng)驅(qū)動(dòng)能力等,以滿足不同場(chǎng)合的需要[13]。</p><p> 同時(shí),受到單片機(jī)面積和封裝的限制,單片機(jī)的I/O端口的數(shù)量有限,有些應(yīng)用場(chǎng)合,必須進(jìn)行I/O端口擴(kuò)展。</p><p> 現(xiàn)在很多的單片機(jī)都是
46、總線結(jié)構(gòu)的,這里的總線是指?jìng)鹘y(tǒng)的地址、數(shù)據(jù)、控制三總線,即便有些常用的單片機(jī)沒(méi)有三總線,只要I/O端口充裕,可以方便模擬實(shí)現(xiàn)三總線,以便對(duì)總線型接口芯片進(jìn)行控制。</p><p> 由于方便控制,三總線得到了廣泛的應(yīng)用。但是作為并行總線,也有一些局限性,不利于遠(yuǎn)距離傳輸,與I/O端口的數(shù)目存在矛盾。單片機(jī)要應(yīng)用某些設(shè)備構(gòu)成系統(tǒng),本身必須支持這些總線接口。所以,要設(shè)計(jì)一個(gè)單片機(jī)應(yīng)用系統(tǒng),首先需要進(jìn)行總線接口的擴(kuò)展
47、[13]。</p><p> 單片機(jī)是一種集成電路芯片,采用超大規(guī)模集成電路技術(shù)把具有數(shù)據(jù)處理能力(如算術(shù)運(yùn)算、邏輯運(yùn)算、數(shù)據(jù)傳送、中斷處理)的微處理器(cpu),隨機(jī)存儲(chǔ)器(ram)、只讀程序存儲(chǔ)器(rom)、輸入/輸出電路(i/o),可能還包括定時(shí)/計(jì)時(shí)器、串多路轉(zhuǎn)換器及a/d轉(zhuǎn)換器等電路集成到一片芯片上,構(gòu)成一個(gè)最小而又完善的計(jì)算機(jī)系統(tǒng)。他們之間相互連接的結(jié)構(gòu)如圖3-1所示[14]。這些電路能在軟件的控制
48、下準(zhǔn)確、迅速、高效的完成程序設(shè)計(jì)者事先規(guī)定的任務(wù)。</p><p> 圖3-1 單片機(jī)結(jié)構(gòu)圖</p><p> 單片機(jī)又不同于單板機(jī),芯片在沒(méi)有開(kāi)發(fā)前,她只是具備功能極強(qiáng)的超大規(guī)模集成電路,如果賦予它特定的程序,它便是一個(gè)最小的、完整的微型計(jì)算機(jī)控制系統(tǒng),它與單板機(jī)或個(gè)人電腦(pc)有著本質(zhì)的區(qū)別。單片機(jī)的應(yīng)用屬于芯片級(jí)應(yīng)用,需要用戶了解單片機(jī)芯片的結(jié)構(gòu)和指令系統(tǒng),以及其他集成電路應(yīng)用
49、技術(shù)和系統(tǒng)設(shè)計(jì)所需要的理論與技術(shù),用這樣特定的芯片設(shè)計(jì)應(yīng)用程序,從而是芯片具備特定的功能[14]。</p><p> 不同的單片機(jī)有著不同的硬件特征和軟件特征,即它們的技術(shù)特征均不盡相同,硬件特征取決于單片機(jī)芯片的內(nèi)部結(jié)構(gòu),用戶要使用某種單片機(jī),必須了解該新廠品是否滿足需要的功能和應(yīng)用系統(tǒng)所要求的特性指標(biāo)。這里的技術(shù)特征包括功能特性、控制特性和電氣特性等等,這些信息需要從生產(chǎn)廠商的技術(shù)手冊(cè)中得到。軟件特征是指令
50、系統(tǒng)特性和開(kāi)發(fā)支持環(huán)境,指令特性即我們熟悉的單片機(jī)的尋址方式、數(shù)據(jù)處理和邏輯處理方式,輸入輸出特性及電源的要求等等。開(kāi)發(fā)支持的環(huán)境包括指令的兼容及可移植性,支持軟件(包括可支持開(kāi)發(fā)應(yīng)用程序的軟件資源)及硬件資源。要利用某種信號(hào)單片機(jī)開(kāi)發(fā)自己的應(yīng)用系統(tǒng),掌握其結(jié)構(gòu)特征和技術(shù)特征是必需的[14]。</p><p> 單片機(jī)的應(yīng)用意義遠(yuǎn)不極限于它的應(yīng)用范疇或由此帶來(lái)的經(jīng)濟(jì)效益,更重要的是它已從根本上改變了傳統(tǒng)的控制方
51、法和設(shè)計(jì)思想,是控制技術(shù)的一次革命,是一個(gè)重要的里程碑。</p><p> 3.2 AT89C51單片機(jī)</p><p> 3.2.1 AT89C51描述</p><p> AT89C51是一個(gè)低電壓,高性能CMOS8位單片機(jī)帶有4K字節(jié)的可反復(fù)擦寫(xiě)的程序存儲(chǔ)器(PENROM)。和128字節(jié)的存取數(shù)據(jù)存儲(chǔ)器(RAM),這種器件采用ATMEL公司的高密度、不容易
52、丟失存儲(chǔ)技術(shù)生產(chǎn),并且能夠與MCS-51系列的單片機(jī)兼容。片內(nèi)含有8位中央處理器和閃爍存儲(chǔ)單元,有較強(qiáng)的功能的AT89C51單片機(jī)能夠被應(yīng)用到控制領(lǐng)域中。</p><p> 3.2.2 AT89C51引腳圖及介紹</p><p><b> 引腳圖如3-2:</b></p><p> 圖3-2 AT89C51引腳圖</p>&
53、lt;p> 下面簡(jiǎn)單介紹下本設(shè)計(jì)用到的幾個(gè)引腳:</p><p> P0口: P0口是一組8位漏極開(kāi)路雙向I/O口,即地址/數(shù)據(jù)總線復(fù)用口。作為輸出口時(shí),每一個(gè)管腳都能夠驅(qū)動(dòng)8個(gè)TTL電路。當(dāng)“1”被寫(xiě)入P0口時(shí),每個(gè)管腳都能夠作為高阻抗輸入端。P0口還能夠在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器或程序存儲(chǔ)器時(shí),轉(zhuǎn)換地址和數(shù)據(jù)總線復(fù)用,并在這時(shí)激活內(nèi)部的上拉電阻。P0口在閃爍編程時(shí),P0口接收指令,在程序校驗(yàn)時(shí),輸出指令,
54、需要接電阻[15]。</p><p> P1口: P1口一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O口,P1的輸出緩沖級(jí)可驅(qū)動(dòng)4個(gè)TTL電路。對(duì)端口寫(xiě)“1”,通過(guò)內(nèi)部的電阻把端口拉到高電平,此時(shí)可作為輸入口。因?yàn)閮?nèi)部有電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)輸出一個(gè)電流。閃爍編程時(shí)和程序校驗(yàn)時(shí),P1口接收低8位地址。</p><p> 本設(shè)計(jì)中P1口通過(guò)2個(gè)74LS47譯碼器分別與顯示日期數(shù)碼管和顯示時(shí)間
55、數(shù)碼管相連接,輸入代碼通過(guò)P1口輸入到74LS47傳到數(shù)碼管顯示相應(yīng)的字形。以便達(dá)到顯示年、月、日、時(shí)、分、秒的效果。</p><p> P2口:P2口是一個(gè)內(nèi)部帶有上拉電阻的8位雙向I/O口,P2的輸出緩沖級(jí)可驅(qū)動(dòng)4個(gè)TTL電路。對(duì)端口寫(xiě)“1”,通過(guò)內(nèi)部的電阻把端口拉到高電平,此時(shí),可作為輸入口。因?yàn)閮?nèi)部有電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流。在訪問(wèn)外部程序存儲(chǔ)器或16位地址的外部數(shù)據(jù)存儲(chǔ)器時(shí),P2口
56、送出高8位地址數(shù)據(jù)。在訪問(wèn)8位地址的外部數(shù)據(jù)存儲(chǔ)器時(shí),P2口線上的內(nèi)容在整個(gè)運(yùn)行期間不變。閃爍編程或校驗(yàn)時(shí),P2口接收高位地址和其它控制信號(hào)[15]。</p><p> 本設(shè)計(jì)中P2.0-P2.6口通過(guò)6個(gè)2N5551三極管連接到數(shù)碼管的com端,控制數(shù)碼管上來(lái)自P1口的字形代碼顯示,直觀、準(zhǔn)確地顯示當(dāng)前的日期與時(shí)間。</p><p> P3口:P3口是一組帶有內(nèi)部電阻的8位雙向I/O
57、口,P3口輸出緩沖故可驅(qū)動(dòng)4個(gè)TTL電路。對(duì)P3口寫(xiě)如“1”時(shí),它們被內(nèi)部電阻拉到高電平并可作為輸入端時(shí),被外部拉低的P3口將用電阻輸出電流。</p><p> 在本設(shè)計(jì)中P3口分成2部分控制,P3.1-P3.4分別連到時(shí)鐘芯片的SCLK、I/O和RST端口,讀取DS1302產(chǎn)生的萬(wàn)年歷,然后通過(guò)P1口傳輸?shù)綌?shù)碼管顯示。P3.5-P3.7通過(guò)3個(gè)開(kāi)關(guān)按鈕的連接,實(shí)現(xiàn)鍵盤(pán)模塊的控制,分別實(shí)現(xiàn)調(diào)時(shí)、加1、調(diào)日歷的效
58、果。</p><p> 時(shí)鐘震蕩器:AT89C51中有一個(gè)用于構(gòu)成內(nèi)部震蕩器的高增益反相放大器,引腳XTAL1和XTAL2分別是該放大器的輸入端和輸出端。這個(gè)放大器與作為反饋元件的片外石英晶體或陶瓷諧振器一起構(gòu)成自然震蕩器。 外接石英晶體及電容C1,C2接在放大器的反饋回路中構(gòu)成并聯(lián)震蕩電路。對(duì)外接電容C1,C2雖然沒(méi)有十分嚴(yán)格的要求,但電容容量的大小會(huì)輕微影響震蕩頻率的高低、震蕩器工作的穩(wěn)定性、起振的難易程序
59、及溫度穩(wěn)定性。如果使用石英晶體,我們推薦電容使用30PF±10PF,而如果使用陶瓷振蕩器建議選擇40PF±10PF。用戶也可以采用外部時(shí)鐘。采用外部時(shí)鐘的電路如圖示。這種情況下,外部時(shí)鐘脈沖接到XTAL1端,即內(nèi)部時(shí)鐘發(fā)生器的輸入端,XTAL2則懸空。由于外部時(shí)鐘信號(hào)是通過(guò)一個(gè)2分頻觸發(fā)器后作為內(nèi)部時(shí)鐘信號(hào)的,所以對(duì)外部時(shí)鐘信號(hào)的占空比沒(méi)有特殊要求,但最小高電平持續(xù)時(shí)間和最大的低電平持續(xù)時(shí)間應(yīng)符合產(chǎn)品技術(shù)條件的要求[
60、15]。</p><p> 3.2.3 AT89C51功能特性</p><p> AT89C51提供以下的功能標(biāo)準(zhǔn):4K字節(jié)閃爍存儲(chǔ)器,128字節(jié)隨機(jī)存取數(shù)據(jù)存儲(chǔ)器,32個(gè)I/O口,2個(gè)16位定時(shí)/計(jì)數(shù)器,1個(gè)5向量?jī)杉?jí)中斷結(jié)構(gòu),1個(gè)串行通信口,片內(nèi)震蕩器和時(shí)鐘電路。另外,AT89C51還可以進(jìn)行0HZ的靜態(tài)邏輯操作,并支持兩種軟件的節(jié)電模式。閑散方式停止中央處理器的工作,能夠允許隨機(jī)
61、存取數(shù)據(jù)存儲(chǔ)器、定時(shí)/計(jì)數(shù)器、串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存隨機(jī)存取數(shù)據(jù)存儲(chǔ)器中的內(nèi)容,但震蕩器停止工作并禁止其它所有部件的工作直到下一個(gè)復(fù)位。</p><p><b> 3.2.4復(fù)位電路</b></p><p> 復(fù)位操作分為上電自動(dòng)復(fù)位和按鍵手動(dòng)復(fù)位。</p><p> 上電自動(dòng)復(fù)位是在加點(diǎn)瞬間電容通過(guò)充電來(lái)實(shí)現(xiàn)。手動(dòng)復(fù)
62、位指通過(guò)接通一按鈕開(kāi)關(guān)進(jìn)入復(fù)位狀態(tài)。</p><p> 本設(shè)計(jì)采用的是手動(dòng)復(fù)位和上電自動(dòng)復(fù)位的組合,如圖3-3:</p><p><b> 圖3-3 復(fù)位電路</b></p><p> 3.3 DS1302時(shí)鐘芯片</p><p> 3.3.1 DS1302引腳功能及結(jié)構(gòu)</p><p>
63、 在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ù)位/片選線,通過(guò)把RST輸入驅(qū)動(dòng)置高電平來(lái)啟動(dòng)所有的數(shù)據(jù)傳送。RST輸入有兩種功能:首先,RS
64、T接通控制邏輯,允許地址/命令序列送入移位寄存器;其次,RST提供終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。當(dāng)RST為高電平時(shí),所有的數(shù)據(jù)傳送被初始化,允許對(duì)DS1302進(jìn)行操作。如果在傳送過(guò)程中RST置為低電平,則會(huì)終止此次數(shù)據(jù)傳送,I/O引腳變?yōu)楦咦钁B(tài)。上電運(yùn)行時(shí),在Vcc≥2.5V之前,RST必須保持低電平。只有在SCLK為低電平時(shí),才能將RST置為高電平。I/O為串行數(shù)據(jù)輸入輸出端(雙向),后面有詳細(xì)說(shuō)明。SCLK始終是輸入端。如圖3-
65、4:</p><p> 圖3-4 DS1302引腳圖</p><p> 3.3.2 DS1302的控制字</p><p> DS1302 的控制字符表示??刂谱止?jié)的最高有效位(位7)必須是邏輯1,如果它為0,則不能把數(shù)據(jù)寫(xiě)入DS1302中,位6如果為0,則表示存取日歷時(shí)鐘數(shù)據(jù),為1表示存取RAM數(shù)據(jù);位5至位1指示操作單元的地址;最低有效位(位0)如為0表示要
66、進(jìn)行寫(xiě)操作,為1表示進(jìn)行讀操作,控制字節(jié)總是從最低位開(kāi)始輸出。</p><p> 3.3.3數(shù)據(jù)輸入輸出</p><p> 在控制指令字輸入后的下一個(gè)SCLK時(shí)鐘的上升沿時(shí),數(shù)據(jù)被寫(xiě)入DS1302,數(shù)據(jù)輸入從低位即位0開(kāi)始。同樣,在緊跟8位的控制指令字后的下一個(gè)SCLK脈沖的下降沿讀出DS1302的數(shù)據(jù),讀出數(shù)據(jù)時(shí)從低位0位到高位7。</p><p> 3.3
67、.4 DS1302的寄存器</p><p> DS1302有12個(gè)寄存器,其中有7個(gè)寄存器與日歷、時(shí)鐘相關(guān),存放的據(jù)位為BCD碼形式,其日歷、時(shí)間寄存器及其控制字。此外,DS1302 還有年份寄存器、控制寄存器、充電寄存器、時(shí)鐘突發(fā)寄存器及與RAM相關(guān)的寄存器等。時(shí)鐘突發(fā)寄存器可一次性順序讀寫(xiě)除充電寄存器外的所有寄存器內(nèi)容。 DS1302與RAM相關(guān)的寄存器分為兩類:一類是單個(gè)RAM單元,共31個(gè),每個(gè)單元組態(tài)
68、為一個(gè)8位的字節(jié),其命令控制字為C0H~FDH,其中奇數(shù)為讀操作,偶數(shù)為寫(xiě)操作;另一類為突發(fā)方式下的RAM寄存器,此方式下可一次性讀寫(xiě)所有的RAM的31個(gè)字節(jié),命令控制字為FEH(寫(xiě))、FFH(讀)。如圖3-5:</p><p> 圖3-5 DS1302日歷、時(shí)間寄存器</p><p> 3.3.5 DS1302實(shí)時(shí)時(shí)間流程</p><p> DS1302 與
69、微處理器進(jìn)行數(shù)據(jù)交換時(shí),首先由微處理器向電路發(fā)送命令字節(jié),命令字節(jié)最高位MSB(D7)必須為邏輯1,如果D7=0,則禁止寫(xiě)DS1302,即寫(xiě)保護(hù);D6=0,指定時(shí)鐘數(shù)據(jù),D6=1,指定RAM數(shù)據(jù);D5~D1指定輸入或輸出的特定寄存器;最低位LSB(D0)為邏輯0,指定寫(xiě)操作(輸入), D0=1,指定讀操作(輸出)。 </p><p> 在DS1302的時(shí)鐘日歷或RAM進(jìn)行數(shù)據(jù)傳送時(shí),DS1302必須首先發(fā)送命令
70、字節(jié)。若進(jìn)行單字節(jié)傳送,8位命令字節(jié)傳送結(jié)束之后,在下2個(gè)SCLK周期的上升沿輸入數(shù)據(jù)字節(jié),或在下8個(gè)SCLK周期的下降沿輸出數(shù)據(jù)字節(jié)。</p><p> DS1302與RAM相關(guān)的寄存器分為兩類:一類是單個(gè)RAM單元,共31個(gè),每個(gè)單元組態(tài)為一個(gè)8位的字節(jié),其命令控制字為C0H~FDH,其中奇數(shù)為讀操作,偶數(shù)為寫(xiě)操作;再一類為突發(fā)方式下的RAM寄存器,在此方式下可一次性讀、寫(xiě)所有的RAM的31個(gè)字節(jié)。<
71、/p><p> 3.4顯示和鍵盤(pán)模塊</p><p><b> 3.4.1陽(yáng)歷算法</b></p><p> 時(shí)鐘開(kāi)始顯示為當(dāng)前時(shí)間,然后每秒秒位加1 ,到9后,10秒位加1,秒位回0。10秒位到5后,即59秒 ,分鐘加1,10秒位回0。依次類推,時(shí)鐘最大的顯示值為23小時(shí)59分59秒。這里只要確定了1秒的定時(shí)時(shí)間, 其他位均以此為基準(zhǔn)往上累
72、加。 同時(shí)時(shí)鐘達(dá)到最大值的時(shí)候天數(shù)也增加一位,知道顯示了7后再變?yōu)?,同時(shí)陰歷和陽(yáng)歷的天數(shù)也加1,根據(jù)不同的月份顯示的天數(shù)陽(yáng)歷有28,29,30,31天,到了12個(gè)月后,年數(shù)自動(dòng)增加1,以此類推,實(shí)現(xiàn)萬(wàn)年歷功能。</p><p> 我們采用的是動(dòng)態(tài)掃描顯示,如圖:</p><p> 圖3-6 LED顯示管</p><p><b> 3.4.2按鍵消抖
73、</b></p><p> 在這一模塊中,本設(shè)計(jì)采用三個(gè)開(kāi)關(guān)按鈕來(lái)控制時(shí)間和日期的調(diào)整,實(shí)現(xiàn)對(duì)萬(wàn)年歷的時(shí)間和日期調(diào)整功能。但是由于開(kāi)關(guān)的機(jī)械彈性,當(dāng)開(kāi)關(guān)閉合或者斷開(kāi)時(shí)并非馬上就實(shí)現(xiàn)。從而導(dǎo)致過(guò)程中會(huì)伴隨一連串的抖動(dòng)。為了消除抖動(dòng),我們?cè)陂_(kāi)關(guān)上并聯(lián)一個(gè)電容,利用電容充放電的延時(shí)功能來(lái)補(bǔ)償按鍵抖動(dòng)的延時(shí),從而達(dá)到消抖的功能。其電路圖如下:</p><p> 圖3-7 按鍵硬件消
74、抖電路</p><p><b> 4軟件設(shè)計(jì)</b></p><p><b> 4.1程序流程框圖</b></p><p> 圖4-1 主程序流程圖</p><p> 4.2陽(yáng)歷計(jì)算流程圖</p><p> 圖4-2 陽(yáng)歷計(jì)算流程圖</p><p
75、> 4.3時(shí)間調(diào)整流程圖</p><p><b> 4.3.1日期調(diào)整</b></p><p> 圖4-3 調(diào)整日期程序流程圖</p><p><b> 4.3.2時(shí)間調(diào)整</b></p><p> 圖4-4 調(diào)整時(shí)間程序流程圖</p><p><b&g
76、t; 5測(cè)試結(jié)果</b></p><p> 采用PROTEUS仿真軟件對(duì)設(shè)計(jì)進(jìn)行仿真實(shí)驗(yàn),采用2個(gè)6位一體LED數(shù)碼管動(dòng)態(tài)掃描進(jìn)行顯示年、月、日、時(shí)、分、秒。主控制是采用AT89C51單片機(jī),時(shí)鐘芯片是DS1302,再應(yīng)用2個(gè)74LS47連接到數(shù)碼管,再用3個(gè)開(kāi)關(guān)對(duì)日期和時(shí)間進(jìn)行調(diào)整控制,最后配合上若干電阻、電容、晶振、2N5551三極管和4002四輸入端雙或非門(mén)形成如下仿真電路圖:</p&
77、gt;<p><b> 調(diào)節(jié)年:</b></p><p><b> 調(diào)節(jié)月:</b></p><p><b> 調(diào)節(jié)日:</b></p><p><b> 調(diào)節(jié)時(shí):</b></p><p><b> 調(diào)節(jié)分:</b&
78、gt;</p><p><b> 調(diào)節(jié)秒:</b></p><p> 按鍵功能,自上而下分別是調(diào)時(shí)間、加1鍵、調(diào)日期:</p><p><b> 6結(jié)論</b></p><p> 在此次設(shè)計(jì)中,知道了做凡事要有一顆平常的心,不要想著走捷徑,一步一腳印。也練就了我們的耐心,做什么事都在有耐心。
79、此次設(shè)計(jì)中學(xué)到了很多很多東西,這是最重要的。設(shè)計(jì)中困難重重,內(nèi)容繁瑣,但是收獲也更加豐富。各種芯片的用途,內(nèi)部結(jié)構(gòu)等等都得到了充分的熟悉。順利如期的完成本次畢業(yè)設(shè)計(jì)給了我很大的信心,讓我了解專業(yè)知識(shí)的同時(shí)也對(duì)本專業(yè)的發(fā)展前景充滿信心。雖然最后成果不能真正意義上的算是一個(gè)萬(wàn)年歷,但是,由于是自己一步一步查找資料完成的,當(dāng)中的成就感就不言而喻了。本次設(shè)計(jì)過(guò)程中,通過(guò)資料的搜索也慢慢的讓我積累了不少知識(shí),同時(shí)也慢慢記憶起學(xué)過(guò)的知識(shí),對(duì)于大學(xué)學(xué)
80、習(xí)過(guò)程中學(xué)到的知識(shí)鞏固有個(gè)不小的作用。設(shè)計(jì)過(guò)程的枯燥完全都已經(jīng)被仿真成功那時(shí)的喜悅沖刷。</p><p> 本設(shè)計(jì)的萬(wàn)年歷主要是利用AT89C51單片機(jī)作為主控芯片,通過(guò)讀取DS1302時(shí)鐘芯片產(chǎn)生的萬(wàn)年歷經(jīng)過(guò)P1口傳到2個(gè)74LS47譯碼器上,再經(jīng)過(guò)74LS47的譯碼將相應(yīng)的字形數(shù)據(jù)傳送到數(shù)碼管顯示出來(lái)。我們采用的是LED動(dòng)態(tài)掃描方法來(lái)實(shí)現(xiàn)數(shù)據(jù)的顯示,這樣即直觀準(zhǔn)確,而且硬件連線比較簡(jiǎn)單,雖然在掃描過(guò)程中會(huì)有
81、1ms左右的點(diǎn)亮過(guò)程,但我們?nèi)庋凼强床怀鰜?lái)的,所以不影響效果。</p><p> 總而言之,本萬(wàn)年歷能夠清楚的顯示年、月、日、時(shí)、分、秒的功能,同時(shí)還可以通過(guò)幾個(gè)按鍵對(duì)其進(jìn)行調(diào)日期、時(shí)間等操作,基本上達(dá)到了設(shè)計(jì)要求。通過(guò)這次設(shè)計(jì),我也明白了,做一件事耐心是決定一切的因素,就是因?yàn)閳?jiān)持對(duì)設(shè)計(jì)的一直改進(jìn)才能夠達(dá)到自己的目標(biāo)。付出總是會(huì)有回報(bào),雖然發(fā)了大量時(shí)間在設(shè)計(jì)上,但我也從中學(xué)到了很多專業(yè)知識(shí),這就是寶貴的財(cái)富。
82、</p><p><b> 7參考文獻(xiàn)</b></p><p> [1]馬慶勇,吳中明.基于單片機(jī)的多功能時(shí)鐘控制電路[J].電子科技編輯部2009,22(3):56-59.</p><p> [2]ANDREW ESW J H.鐘表的編年史[J].科學(xué)出版社,2002,(11):54-63.</p><p>
83、[3]肖炎根,舒望.基于實(shí)時(shí)鐘芯片的電子萬(wàn)年歷的設(shè)計(jì)[J].電子技術(shù)編輯部,2007,Z3:91-94.</p><p> [4]劉德全.可調(diào)家用萬(wàn)年歷的單片機(jī)原理[J].寧夏師范學(xué)院學(xué)報(bào),2008,(03):95-98.</p><p> [5]集成電路簡(jiǎn)明應(yīng)用手冊(cè).人民郵電出版社,2002:22-33.</p><p> [6]李超青.單片機(jī)原理及接口技術(shù)
84、[M].北京:北京航空航天大學(xué)出版社,2002:2-2.</p><p> [7]AUDOINC,GUINOTB.The Measurement of Time. Time,F(xiàn)requency and the Atomic Clock [M].U K:Cambridge University Press,2001:335.</p><p> [8]余明主編.簡(jiǎn)明天文學(xué)教程[M].北京:
85、 科學(xué)出版社, 2003:404.</p><p> [9]WELLS J W.Coral growth and geochronometry[J].Nature,1963,197:948-950.</p><p> [10]Tim WiUiams.電路設(shè)計(jì)技術(shù)與技巧[M].北京:電子工業(yè)出版社,2006:2-3. </p><p> [11]陳爾紹.電子控制
86、電路實(shí)例[M].北京:電子工業(yè)出版社,2004:2-5.</p><p> [12]楊淑英.單片機(jī)應(yīng)用的廣闊前景[J].價(jià)值工程編輯部,2010,(02):248-248.</p><p> [13]陳小忠,黃寧,趙小俠.單片機(jī)接口技術(shù)實(shí)用子程序[M].北京:人民郵電出版社,2005.9:2-3.</p><p> [14]彭為.單片機(jī)典型系統(tǒng)設(shè)計(jì)實(shí)例精講[M
87、].北京:電子工業(yè)出版社,2006.5:6-7</p><p> [15]李朝青.單片機(jī)原理接口技術(shù)[M].北京:北京航空航天大學(xué)出版社,2006.12:10-20</p><p> [16]田力,馬鳴.51系列單片機(jī)開(kāi)發(fā)實(shí)例精解[M].北京:中國(guó)電力出版社,2009:10-13</p><p> [17]張靖武,周靈彬.單片機(jī)系統(tǒng)的PROTEUS設(shè)計(jì)與仿真[
88、M].北京:電子工業(yè)出版社,2007.4:3-5</p><p> [18]張靖武,周靈彬.單片機(jī)原理、應(yīng)用與PROTEUS仿真[M].北京:電子工業(yè)出版社,2008.8:2-20</p><p><b> 附錄</b></p><p><b> 附錄1 原理圖</b></p><p><
89、;b> 附錄2 程序</b></p><p> SCLK EQU P3.2</p><p> IO EQU P3.3</p><p> RST EQU P3.4</p><p> TRL EQU P3.5</p><p
90、> JIA1 EQU P3.6</p><p> TSH EQU P3.7</p><p> YEAR DATA 66H</p><p> MONTH DATA 65H</p><p> WEEK DATA 64H </p><p&
91、gt; DAY DATA 63H</p><p> HOUR DATA 62H</p><p> MINUTE DATA 61H</p><p> SECOND DATA 60H</p><p> DS_ADDR DATA 32H</p><p>
92、DS_DATA DATA 31H</p><p> ORG 0000H</p><p> AJMP START</p><p> MAIN2F:LJMP MAIN2</p><p> START:MOV SP,#70H</p><p> LCALL D
93、ELAY1</p><p> MOV DS_ADDR,#8EH</p><p> MOV DS_DATA,#00H</p><p> LCALL WRITE</p><p> START0:MOV DS_ADDR,#81H</p><p> LCALL
94、 READ</p><p> ANL A,#7FH</p><p> MOV DS_ADDR,#80H</p><p> MOV DS_DATA,A</p><p> LCALL WRITE</p><p> START1:MOV
95、 DS_ADDR,#0C0H</p><p> MOV DS_DATA,#9CH</p><p> LCALL WRITE</p><p> MOV 20H,#0</p><p> MOV 21H,#0FH</p><p> MOV
96、22H,#0</p><p> MAIN1:JB TRL,MAIN2FA</p><p> MOV 22H,#1</p><p> AJMP MAIN2FB</p><p> MAIN2FA:JB TSH,MAIN2F</p><p>
97、MOV 22H,#2</p><p> MOV DS_ADDR,#81H</p><p> LCALL READ</p><p> ORL A,#80H</p><p> MOV DS_ADDR,#81H</p><p> MOV DS_D
98、ATA,A</p><p> LCALL WRITE</p><p> MAIN4:LCALL DISP </p><p> JNB TSH,MAIN4</p><p> MOV 22H,#2</p><p> LJMP SSS</p>&
99、lt;p> MAIN2FB:MOV DS_ADDR,#81H</p><p> LCALL READ</p><p> ORL A,#80H</p><p> MOV DS_ADDR,#80H</p><p> MOV DS_DATA,A</p><
100、p> LCALL WRITE</p><p> MAIN4J:LCALL DISP</p><p> JNB TRL,MAIN4J</p><p> MOV 22H,#1</p><p> NNN:LCALL DISP</p><p> JNB
101、 TRL,YYY</p><p> MOV 20H,#8</p><p> LCALL DISP</p><p> JB JIA1,NNN</p><p> NNN2:LCALL DISP</p><p> JNB JIA1,NNN2</p>
102、<p> MOV R7,YEAR</p><p> LCALL JIAY1</p><p> MOV YEAR,A</p><p> CJNE A,#30H,NNN1</p><p> MOV YEAR,#06</p><p> NNN1:
103、MOV DS_ADDR,#8CH</p><p> MOV DS_DATA,YEAR</p><p> LCALL WRITE</p><p> MOV R0,YEAR</p><p> LCALL DIVIDE</p><p> MOV 4AH
104、,R1</p><p> MOV A,4AH</p><p> SWAP A</p><p> MOV 4AH,A</p><p> MOV 4BH,R2</p><p> MOV A,4BH</p><p> SWAP
105、 A</p><p> MOV 4BH,A</p><p> SJMP NNN</p><p> YYY:LCALL DISP</p><p> JNB TRL,YYY</p><p> YYY3:JNB TRL,DDD</p>
106、<p> MOV 20H,#4</p><p> LCALL DISP</p><p> JB JIA1,YYY3</p><p> YYY2:LCALL DISP</p><p> JNB JIA1,YYY2</p><p>
107、 MOV R7,MONTH</p><p> LCALL JIAY1</p><p> MOV MONTH,A</p><p> CJNE A,#13H,YYY1</p><p> MOV MONTH,#1</p><p> YYY1:MOV
108、 DS_ADDR,#88H</p><p> MOV DS_DATA,MONTH</p><p> LCALL WRITE</p><p> MOV R0,MONTH</p><p> LCALL DIVIDE</p><p> MOV
109、 48H,R1</p><p> MOV A,48H</p><p> SWAP A</p><p> MOV 48H,A</p><p> MOV 49H,R2</p><p> MOV A,49H</p><p>
110、 SWAP A</p><p> MOV 49H,A</p><p> SJMP YYY3</p><p> DDD:LCALL DISP</p><p> JNB TRL,DDD</p><p> MOV 20H,#2H
111、</p><p> DDD3:JNB TRL,NYD</p><p> MOV 20H,#2</p><p> LCALL DISP</p><p> JB JIA1,DDD3</p><p> DDD2:LCALL DISP<
112、;/p><p> JNB JIA1,DDD2</p><p> MOV R7,DAY</p><p> LCALL JIAY1</p><p> MOV DAY,A</p><p> CJNE A,#32H,DDD1</p>
113、<p> MOV DAY,#1</p><p> DDD1:MOV DS_ADDR,#86H</p><p> MOV DS_DATA,DAY</p><p> LCALL WRITE</p><p> MOV R0,DAY&l
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于單片機(jī)的萬(wàn)年歷時(shí)鐘設(shè)計(jì)【文獻(xiàn)綜述】
- 基于單片機(jī)的萬(wàn)年歷時(shí)鐘設(shè)計(jì)【開(kāi)題報(bào)告】
- 基于單片機(jī)的萬(wàn)年歷時(shí)鐘設(shè)計(jì)【畢業(yè)設(shè)計(jì)】
- 基于單片機(jī)的萬(wàn)年歷畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---基于單片機(jī)萬(wàn)年歷的設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---基于單片機(jī)萬(wàn)年歷的設(shè)計(jì)
- 基于單片機(jī)的萬(wàn)年歷設(shè)計(jì)畢業(yè)設(shè)計(jì)
- 基于單片機(jī)的萬(wàn)年歷設(shè)計(jì)畢業(yè)設(shè)計(jì)
- 單片機(jī)萬(wàn)年歷系統(tǒng)畢業(yè)設(shè)計(jì)
- 基于單片機(jī)的測(cè)溫萬(wàn)年歷畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)(論文)數(shù)字萬(wàn)年歷時(shí)鐘電路的設(shè)計(jì)
- 基于51單片機(jī)的萬(wàn)年歷畢業(yè)設(shè)計(jì)
- 基于單片機(jī)的電子萬(wàn)年歷畢業(yè)設(shè)計(jì)
- 基于單片機(jī)的電子萬(wàn)年歷設(shè)計(jì)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---基于51單片機(jī)的萬(wàn)年歷設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---基于51單片機(jī)的萬(wàn)年歷設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---基于單片機(jī)的數(shù)字萬(wàn)年歷設(shè)計(jì)
- 基于單片機(jī)的萬(wàn)年歷設(shè)計(jì)畢業(yè)設(shè)計(jì).doc
- 畢業(yè)設(shè)計(jì)---單片機(jī)控制的萬(wàn)年歷設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)----基于單片機(jī)的電子萬(wàn)年歷的設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論