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

下載本文檔

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

文檔簡介

1、<p>  學(xué) 士 學(xué) 位 論 文</p><p>  THESIS OF BACHELOR</p><p> ?。?008 — 2012年)</p><p>  題 目 電子萬年歷的設(shè)計(jì) </p><p>  學(xué) 科

2、 部: 信息學(xué)科部 </p><p>  專 業(yè): 電子信息工程 </p><p>  班 級: 08電子1班 </p><p><b>  目 錄</b></p><p><b&

3、gt;  摘要:I</b></p><p>  AbstractII</p><p><b>  第一章 緒論1</b></p><p>  1.1 選題的依據(jù)及意義1</p><p>  1.2 國內(nèi)外研究現(xiàn)狀及發(fā)展趨勢1</p><p>  1.3 本課題研究內(nèi)容2&l

4、t;/p><p>  第二章 電子萬年歷的方案與論證3</p><p>  2.1 設(shè)計(jì)要求3</p><p>  2.2 整體方案的論證3</p><p>  2.3 器件的選擇3</p><p>  2.3.1單片機(jī)芯片的選擇方案和論證3</p><p>  2.3.2 顯示模塊選擇方

5、案和論證4</p><p>  2.3.3 時鐘芯片的選擇方案和論證4</p><p>  2.4 電路設(shè)計(jì)最終方案確定4</p><p>  第三章 系統(tǒng)的硬件設(shè)計(jì)與實(shí)現(xiàn)5</p><p>  3.1電子萬年歷的系統(tǒng)設(shè)計(jì)5</p><p>  3.2 最小系統(tǒng)設(shè)計(jì).5</p><p&g

6、t;  3.2.1時鐘電路5</p><p>  3.2.2復(fù)位電路5</p><p>  3.3 顯示電路6</p><p>  3.4 按鍵電路7</p><p>  3.4.1 鍵盤接口介紹7</p><p>  3.4.2按鍵電路設(shè)計(jì)7</p><p>  第四章 軟件設(shè)計(jì)

7、8</p><p>  4.1主程序流程圖8</p><p>  4.2時間調(diào)整程序設(shè)計(jì)8</p><p>  4.3陽歷程序的設(shè)計(jì)9</p><p>  4.4 陰歷程序設(shè)計(jì)10</p><p>  第五章 系統(tǒng)調(diào)試與仿真13</p><p>  5.1軟件調(diào)試13</p&

8、gt;<p><b>  5.2仿真13</b></p><p>  5.3 硬件調(diào)試14</p><p>  5.4 測試結(jié)論15</p><p><b>  結(jié) 論16</b></p><p><b>  致 謝17</b></p>

9、<p>  參考文獻(xiàn)(References)18</p><p>  附錄一:硬件電路仿真圖18</p><p>  附錄二:電子萬年歷原理圖20</p><p>  附錄三:硬件電路PCB圖21</p><p>  附錄四:實(shí)物圖22</p><p>  附錄五:元件清單23</p>

10、;<p><b>  電子萬年歷的設(shè)計(jì)</b></p><p>  摘要:單片機(jī)應(yīng)用技術(shù)飛速發(fā)展,縱觀我們現(xiàn)在生活的各個領(lǐng)域,從導(dǎo)彈的導(dǎo)航裝置,到飛機(jī)上各種儀表的控制,從計(jì)算機(jī)的網(wǎng)絡(luò)通訊與數(shù)據(jù)傳輸,到工業(yè)自動化過程的實(shí)時控制和數(shù)據(jù)處理,以及我們生活中廣泛使用的各種智能IC卡、電子寵物等,這些都離不開單片機(jī)。單片機(jī)是集CPU ,RAM ,ROM ,定時,計(jì)數(shù)和多種接口于一體的微控

11、制器。它體積小,成本低,功能強(qiáng),廣泛應(yīng)用于智能產(chǎn)業(yè)和工業(yè)自動化上。而51系列單片機(jī)是各單片機(jī)中最為典型和最有代表性的一種。這次畢業(yè)設(shè)計(jì)通過對它的學(xué)習(xí),應(yīng)用,從而達(dá)到學(xué)習(xí)、設(shè)計(jì)、開發(fā)軟、硬件的能力。</p><p>  本文通過對一個基于單片機(jī)的能實(shí)現(xiàn)萬年歷功能電子時鐘的設(shè)計(jì),從而達(dá)到學(xué)習(xí)、了解單片機(jī)相關(guān)指令在各方面的應(yīng)用。系統(tǒng)由主控制器AT89C51、時鐘電路DS1302、顯示電路、按鍵電路、和復(fù)位電路等部分構(gòu)成

12、,能實(shí)現(xiàn)時鐘日歷顯示的功能,能進(jìn)行時、分、秒的顯示。</p><p>  關(guān)鍵詞:單片機(jī);農(nóng)歷查詢;萬年歷The design of electronic calendar</p><p>  Abstract: The rapid development of microcomputer application technology, throughout all areas of li

13、fe we are now, Navigation device from the missile to the plane of the instrument control, From the computer network communications and data transmission to the industrial automation process control and real-time data pro

14、cessing. And we live in a variety of widely used smart IC card and electronic pets, which are inseparable from the microcontroller. Microcontroller is a CPU, RAM, ROM timing, counti</p><p>  In this article

15、design a microcontroller-based electronic clock calendar function to achieve the design to achieve the learning, understanding of SCM-related instruction in all aspects of the application. System from the main controller

16、 AT89C51, clock circuit DS1302, display circuit, key circuit, and reset the circuit and other parts, it can achieve the clock calendar display function and can be display the hours minutes and seconds. </p><p&

17、gt;  Keywords: Monolithic single-chip lunar calendar demand perpetual calendars第一章 緒論</p><p>  1.1 選題的依據(jù)及意義</p><p>  單片機(jī)應(yīng)用技術(shù)迅速發(fā)展,在我們生活的各個領(lǐng)域,無論工業(yè)發(fā)展中還是現(xiàn)實(shí)生活中都離不開它,它是集CPU,RAM,ROM,定時,計(jì)數(shù)和多接口于一體的微控

18、制器。它體積小,成本低,功能強(qiáng)大,廣泛應(yīng)用于只能產(chǎn)業(yè)和工業(yè)自動化上。51系列單片機(jī)是各種單片機(jī)中最具典型和最有代表性的一種。通過這次畢業(yè)設(shè)計(jì)可以讓我提升學(xué)習(xí),設(shè)計(jì),開發(fā)軟硬件的能力。</p><p>  電子萬年歷的設(shè)計(jì)就是建立在單片機(jī)的基礎(chǔ)上,它是應(yīng)用非常廣泛的日常計(jì)時工具,而且顯示清晰直觀,走時準(zhǔn)確,可以進(jìn)行夜視。數(shù)字顯示的日歷鐘已經(jīng)越來越流行,特別是在家庭居室,辦公室,車站和廣場等使用,壁掛式LED數(shù)碼顯示

19、的日歷鐘逐漸受到人們的歡迎。[1]</p><p>  隨著科學(xué)技術(shù)的快速發(fā)展,時間的流逝,從擺鐘到現(xiàn)在的電子鐘,人類不斷的研究,不斷創(chuàng)新紀(jì)錄。美國DALLAS公司推出的具有涓流電流充電能的低功耗實(shí)時時鐘電路DS1302.它可以對年,月,日,周,時,分,秒進(jìn)行計(jì)時,還具有閏年補(bǔ)償?shù)榷喾N功能,而且DS1302的使用壽命長,誤差小。對于數(shù)字電子萬年歷采用直觀的數(shù)字顯示,可以同時顯示年,月,日,周,時,分,秒和溫度等信

20、息,還具有時間校準(zhǔn)等功能。該電路采用AT89C52單片機(jī)作為核心,功能小,能在3V的低壓工作,電壓可選用3—5V電壓供電。[2]</p><p>  綜上所述此萬年歷具有讀取方便,顯示直觀,功能多樣,電路簡潔,成本低廉等諸多優(yōu)點(diǎn),符合電子儀器儀表的發(fā)展趨勢,具有管擴(kuò)大市場前景,值得我們進(jìn)入深入的研究和了解。</p><p><b>  意義: </b></p&g

21、t;<p> ?。?)通過設(shè)計(jì)提高對單片機(jī)的認(rèn)識,進(jìn)一步熟悉和掌握單片機(jī)的結(jié)構(gòu)及工作原理。</p><p> ?。?)通過設(shè)計(jì)、制作提高焊接、布局、電路檢查能力;</p><p>  (3)通過實(shí)際程序設(shè)計(jì)和調(diào)試,逐步掌握模塊化程序設(shè)計(jì)方法和調(diào)試技術(shù),提高軟件設(shè)計(jì)、調(diào)試能力;</p><p> ?。?)通過完成一個實(shí)際電子產(chǎn)品從電路設(shè)計(jì)、程序開發(fā)、系統(tǒng)

22、調(diào)試的完整過程,熟悉以單片機(jī)核心的應(yīng)用系統(tǒng)開發(fā)的全過程,掌握硬件電路設(shè)計(jì)的基本方法和技術(shù),掌握相關(guān)電路參數(shù)的計(jì)算方法。</p><p>  通過此畢業(yè)課題的設(shè)計(jì),加深對理論知識的理解,學(xué)會將學(xué)習(xí)的理論知識在實(shí)際中運(yùn)用,培養(yǎng)動手能力和解決實(shí)際問題的能力,為今后從事相關(guān)工作打下基礎(chǔ)。</p><p>  1.2 國內(nèi)外研究現(xiàn)狀及發(fā)展趨勢</p><p>  隨著科學(xué)技術(shù)

23、的發(fā)展,以前的年歷已發(fā)展成現(xiàn)在的電子萬年歷,他一開始是采用數(shù)字電路實(shí)現(xiàn)的,電路復(fù)雜,精確度差,每天都需要調(diào)時,由于數(shù)字集成電路的發(fā)展和石英晶體振蕩器的廣泛應(yīng)用,使得它的電路越來越簡單,精確度越來越高,現(xiàn)在的電子萬年歷一般都是集成芯片和軟件結(jié)合實(shí)現(xiàn),電路簡單,制作方法簡便,給人們生產(chǎn)生活帶來了極大的便利,它已成為我們生活中不可缺少的家居用品。[3]</p><p>  二十一世紀(jì)的今天,最具有代表性的計(jì)時產(chǎn)品就是電

24、子萬年歷,它是近代世界鐘表業(yè)界的第三次革命。前兩次革命是擺和擺輪游絲的發(fā)明,以及石英晶體振蕩器的應(yīng)用,第三次革命就是單片機(jī)數(shù)碼計(jì)時技術(shù)的應(yīng)用(電子萬年歷),使得從原來傳統(tǒng)指針計(jì)時的方式發(fā)展為人們?nèi)粘8鼮槭煜さ囊构鈹?shù)字顯示方式,直觀明了,并增加了全自動日期,星期,溫度以及其他日常附屬信息的顯示功能,它更符合消費(fèi)者的生活需求!因此,電子萬年歷的出現(xiàn)帶來了鐘表計(jì)時業(yè)界跨越性的進(jìn)步。

25、 </p><p>  電子萬年歷的發(fā)展趨勢將會朝著功能多,讀取操作簡單,顯示更加直觀,電路更加簡潔,成本越來越低,滿足大部分人的要求。隨著國內(nèi)超大規(guī)模集成電路的出現(xiàn),微處理器及其外圍芯片有了迅速的發(fā)展。集成技術(shù)的最新發(fā)展之一就是將CPU和外圍芯片,如程序存儲器,數(shù)據(jù)存儲器,并行,串行I/O口,定時/計(jì)數(shù)器,中斷控制器及其他控制器件集成在一個芯片中,支撐單片計(jì)算機(jī)。而近年來推出的一些高檔單片機(jī)還包括

26、有許多特殊功能的單元,如A/D,D/A轉(zhuǎn)換器,調(diào)制解調(diào)器,鎖相環(huán),浮點(diǎn)運(yùn)算單元等。因此只要外加一些擴(kuò)展電路及必要的通道接口就可以構(gòu)成各種計(jì)算機(jī)應(yīng)用系統(tǒng),如數(shù)據(jù)采集系統(tǒng),自動測試系統(tǒng)等。[4]</p><p>  1.3 本課題研究內(nèi)容</p><p>  設(shè)計(jì)一個基于單片機(jī)多功能的電子萬年歷。單片機(jī)最為本設(shè)計(jì)的核心,實(shí)現(xiàn)時鐘日歷的顯示:用1602顯示月、日、星期、時、分、秒,用DS1302

27、作為該設(shè)計(jì)的實(shí)時時鐘芯片。</p><p>  第二章 電子萬年歷的方案與論證</p><p><b>  2.1 設(shè)計(jì)要求</b></p><p> ?。?)具有年、月、日、星期、時、分、秒等功能;</p><p> ?。?)具備年、月、日、星期、時、分、秒校準(zhǔn)功能;</p><p>  (3)

28、校準(zhǔn)時具有閃爍功能。 </p><p>  2.2 整體方案的論證</p><p>  本萬年歷設(shè)計(jì)可以采用兩種方法</p><p>  方案一:在FPGA芯片上,通過配置NIOS軟核處理器和相關(guān)接口模塊,實(shí)現(xiàn)了嵌入式系統(tǒng)的硬件結(jié)構(gòu)。系統(tǒng)用液晶模塊顯示萬年歷等漢字字符,用8個七段數(shù)碼管顯示電子鐘的日期和時間,并可通過按鍵對其進(jìn)行調(diào)整。具有高集成度、設(shè)計(jì)靈活和可移植性

29、較好等特點(diǎn)。但是此種方案的需要的成本高,作為設(shè)計(jì)研究不予采取。</p><p>  方案二:采用89C51芯片作為硬件核心,采用Flash ROM,內(nèi)部具有4KB ROM存儲空間,能于3V的超低壓工作,而且與MCS-51系列單片機(jī)完全兼容,但是孕育電路設(shè)計(jì)中時由于不具備ISP在線編程技術(shù),當(dāng)在對電路進(jìn)行調(diào)試時,由于程序的錯誤修改或?qū)Τ绦虻男略龉δ苄枰獰氤绦驎r,對芯片的多次拔插會對芯片造成一定的損壞。顯示電路還可

30、以采用液晶LCD1602來實(shí)現(xiàn)。液晶顯示器具有微功耗、體積小、 顯示內(nèi)容豐富、超薄輕巧等諸多優(yōu)點(diǎn),在本題的制作中,用液晶來實(shí)現(xiàn)數(shù)字信息的顯示是比較合適的一種選擇。采用DS1302 時鐘芯片實(shí)現(xiàn)時鐘,DS1302芯片是一種高性能的時鐘芯片,可自動對秒、分、時、日、周、月、年以及閏年補(bǔ)償?shù)哪赀M(jìn)行計(jì)數(shù),而且精度高,工作電壓 2.5V~5.5V 范圍內(nèi),2.5V時耗電小于300mA。 所以方案二對于我們學(xué)生作為畢業(yè)設(shè)計(jì)最為合適,且作品的精度高,

31、成本低,易于制作研究。</p><p><b>  2.3 器件的選擇</b></p><p>  2.3.1單片機(jī)芯片的選擇方案和論證</p><p>  方案一:采用89C51芯片作為硬件核心,采用Flash ROM,內(nèi)部具有4KB ROM 存儲空間,能于3V的超低壓工作,而且與MCS-51系列單片機(jī)完全兼容,但是運(yùn)用于電路設(shè)計(jì)中時由于不具

32、備ISP在線編程技術(shù), 當(dāng)在對電路進(jìn)行調(diào)試時,由于程序的錯誤修改或?qū)Τ绦虻男略龉δ苄枰獰氤绦驎r,對芯片的多次拔插會對芯片造成一定的損壞。</p><p>  方案二:采用AT89S52,片內(nèi)ROM全都采用Flash ROM;能以3V的超底壓工作;同時也與MCS-51系列單片機(jī)完全兼容,該芯片內(nèi)部存儲器為8KB ROM存儲空間,同樣具有89C51的功能,且具有在線編程可擦除技術(shù),當(dāng)在對電路進(jìn)行調(diào)試時,由于程序的錯

33、誤修改或?qū)Τ绦虻男略龉δ苄枰獰氤绦驎r,不需要對芯片多次拔插,所以不會對芯片造成損壞。</p><p>  所以選擇采用AT89S52作為主控制系統(tǒng)。</p><p>  2.3.2 顯示模塊選擇方案和論證</p><p>  方案一:采用LED數(shù)碼管動態(tài)掃描,雖然LED數(shù)碼管價格適中,對于顯示數(shù)字也比較合適,然而需要顯示多位數(shù)字和字母時,編程就會變得很復(fù)雜,而且占

34、用的單片機(jī)口線多。</p><p>  方案二:采用點(diǎn)陣式數(shù)碼管顯示,點(diǎn)陣式數(shù)碼管是由八行八列的發(fā)光二極管組成,對于顯示文字比較適合,如采用在顯示數(shù)字顯得太浪費(fèi),且價格也相對較高,所以也不用此種作為顯示。</p><p>  方案三:可以通過數(shù)碼管來顯示時鐘的日歷、時間、溫度,使用數(shù)碼管的優(yōu)點(diǎn)是直觀清楚,適合用在光線較暗的地方,但是數(shù)碼管的功耗大,顯示單一,并且在電路制作上布線復(fù)雜,難度較

35、高。顯示電路還可以采用液晶1602來實(shí)現(xiàn)。液晶顯示器具有微功耗、體積小、 顯示內(nèi)容豐富、超薄輕巧等諸多優(yōu)點(diǎn),在本題的制作中,用液晶來實(shí)現(xiàn)數(shù)字信息的顯示是比較合適的一種選擇。 </p><p>  所以采用1602液晶顯示屏作為顯示。</p><p>  2.3.3 時鐘芯片的選擇方案和論證</p><p>  方案一:直接采用單片機(jī)定時計(jì)數(shù)器提供秒信號,使用程序?qū)崿F(xiàn)

36、年、月、日、星期、時、分、秒計(jì)數(shù)。采用此種方案雖然減少芯片的使用,節(jié)約成本,但是,實(shí)現(xiàn)的時間誤差較大。</p><p>  方案二:采用DS1302時鐘芯片實(shí)現(xiàn)時鐘,DS1302芯片是一種高性能的時鐘芯片,可自動對秒、分、時、日、周、月、年以及閏年補(bǔ)償?shù)哪赀M(jìn)行計(jì)數(shù),而且精度高,位的RAM做為數(shù)據(jù)暫存區(qū),工作電壓2.5V~5.5V范圍內(nèi),2.5V時耗電小于300mA.</p><p>  所

37、以采用DS1302提供時鐘。</p><p>  2.4 電路設(shè)計(jì)最終方案確定</p><p>  綜上所述我們最終決定采用單片機(jī)AT89C52作為時鐘的主控制部分,LCD1602 作為顯示部分,時鐘信號采用芯片通過設(shè)置4個按鍵來實(shí)現(xiàn)時間的調(diào)整,鬧鐘的開關(guān)。這五個主要部分基本上就實(shí)現(xiàn)了集日歷、時間、星期、溫度、鬧鐘于一體的多功能萬年歷。精確度高,顯示直觀,輕巧的優(yōu)越性具有很高的使用價值。

38、</p><p>  第三章 系統(tǒng)的硬件設(shè)計(jì)與實(shí)現(xiàn)</p><p>  3.1電子萬年歷的系統(tǒng)設(shè)計(jì)</p><p>  圖3-1 電子萬年歷的系統(tǒng)設(shè)計(jì)</p><p><b>  模塊說明: </b></p><p>  DS1302時鐘模塊可以輸出其當(dāng)前日期及時間;</p>&l

39、t;p>  鍵盤輸入電路可以調(diào)整日期,時間及整體的轉(zhuǎn)換;</p><p>  顯示電路則顯示當(dāng)前的系統(tǒng)運(yùn)行情況。</p><p>  3.2 最小系統(tǒng)設(shè)計(jì).</p><p>  單片機(jī)要正常運(yùn)行,必須具備一定的硬件條件,其中最主要的就是三個基本條件:(1)電源正常(2)時鐘正常;(3)復(fù)位正常。AT89S51的引腳如圖3-2所示。</p><

40、;p><b>  3.2.1時鐘電路</b></p><p>  時鐘是單片機(jī)的心臟,單片機(jī)各功能部件的運(yùn)行都是以時鐘頻率為基準(zhǔn),有條不絮的一拍一拍地工作。因此,時鐘頻率直接影響單片機(jī)的速度,時鐘電路的質(zhì)量也直接影響單片機(jī)系統(tǒng)的穩(wěn)定性。常用的時鐘有兩種方式:一種是內(nèi)部時鐘方式,另一種為外部時鐘方式。本文用的是內(nèi)部時鐘方式。</p><p>  AT89S52單片

41、機(jī)內(nèi)部有一個用于構(gòu)成振蕩器的高增益反相放大器,該高增益反向放大器的輸入端為芯片引腳XTAL1,輸出端為引腳XTAL2。這兩個引腳跨接石英晶體振蕩器和微調(diào)電容,就構(gòu)成一個穩(wěn)定的自激振蕩器。[5]</p><p><b>  3.2.2復(fù)位電路</b></p><p>  為了初始化單片機(jī)內(nèi)部的某些特殊功能寄存器,必須采用復(fù)位的方式,復(fù)位后可使CPU及系統(tǒng)各部件處于確定的

42、初始狀態(tài),并從初始狀態(tài)開始正常工作。單片機(jī)的復(fù)位是靠外電路來實(shí)現(xiàn)的,在正常運(yùn)行情況下,只要RST引腳上出現(xiàn)兩個機(jī)器周期時間以上的高電平,即可引起系統(tǒng)復(fù)位,但如果RST引腳上持續(xù)為高電平,單片機(jī)就處于循環(huán)復(fù)位狀態(tài)。復(fù)位后系統(tǒng)將輸入/輸出(1/0)端口寄存器置為FFH,堆棧指針SP置為07H,其余的寄存器全部清0,內(nèi)部RAM的狀態(tài)不受復(fù)位的影響,在系統(tǒng)上電時RAM的內(nèi)容是不定的。復(fù)位操作有兩種情況,即上電復(fù)位和手動(開關(guān))復(fù)位。本系統(tǒng)采用上

43、電復(fù)位方式。上電復(fù)位電路中的電阻R取為1KΩ,C取為10PF。[6]</p><p>  圖3-2 單片機(jī)最小系統(tǒng)</p><p><b>  3.3 顯示電路</b></p><p>  液晶顯示器的接口有兩種:一種是總線式接口電路方式;另一種是非總線接口電路方式??偩€式接口方式是把液晶顯示器看做外部的數(shù)據(jù)存儲器,訪問液晶顯示器就像訪問數(shù)據(jù)存

44、儲器的一個單元一樣,采用這種方式能充分發(fā)揮單片機(jī)的總線讀寫功能,便于升級和擴(kuò)展。而非總線方式是直接利用IO口進(jìn)行讀寫較靈活,不便于升級。這里采用總線式接口方式。接口時要注意顯示器的功能信號E是高電平有效,所以要取反。這里使用的液晶顯示器為LCD1602為字符點(diǎn)陣式液晶顯示器??梢燥@示16×2字符,而要顯示日期字符23個,可以滿足要求。</p><p><b>  圖3-3顯示電路</b&

45、gt;</p><p>  LCD1602引腳說明:</p><p>  1 腳:Vss 接地;</p><p>  2 腳:Vdd 電源正極;</p><p>  3 腳:V0 偏置電源;</p><p>  4 腳:RS 控制輸入是數(shù)據(jù)或是命令;</p><p>

46、  5 腳:RW 控制讀寫端口;</p><p>  6 腳:E 使能端;</p><p>  7-14 腳: 數(shù)據(jù)IO口</p><p><b>  3.4 按鍵電路</b></p><p>  3.4.1 鍵盤接口介紹</p><p><b>  獨(dú)立式鍵盤:<

47、;/b></p><p>  獨(dú)立式鍵盤是指直接用I/O口線構(gòu)成單個按鍵電路,每個按鍵占用一條I/O口線,當(dāng)某個鍵閉合時,相應(yīng)的I/O口線變?yōu)榈碗娖剑?dāng) CPU 查詢到為低電平的 I/O 口線時,就可以判別出與其對應(yīng)的鍵處于釋放狀態(tài)。 </p><p><b>  行列式鍵盤:</b></p><p>  依次使列線P1.4~P1.7中的

48、一根輸出為低電平,則只有與之對應(yīng)的鍵按下時,才能使 行線為低電平,此時其他列線都輸出高電平,與它們對應(yīng)的鍵按下,不能使行線電平變低, 所以就實(shí)現(xiàn)了行線的時分復(fù)用。 </p><p>  3.4.2按鍵電路設(shè)計(jì)</p><p>  按鍵電路的功能主要是把時間和日期設(shè)置到當(dāng)前的時間,可以在系統(tǒng)運(yùn)行中進(jìn)行。用4個獨(dú)立式按鍵完成,分別接到單片機(jī)P1口的高4位。第1個按鈕表示是否進(jìn)行設(shè)置,按下時表示

49、設(shè)置,并且每按一次,在顯示器上分別在年、月、日等日期時間上跳轉(zhuǎn),表示對相應(yīng)的項(xiàng)進(jìn)行更改;第2個按鈕按下表示對第1個按鈕選中的項(xiàng)進(jìn)行加1操作;第3個按鈕按下表示進(jìn)行減1操作;第4個按鈕按下表示停止設(shè)置。只有在第1個按鈕按時才可進(jìn)行加減操作。其電路如圖3-4所示。其中電容的作用是消除按鍵的抖動,也可用雙穩(wěn)態(tài)觸發(fā)器去除按鍵時的抖動,同時為了提高可靠性,硬件去抖動的同時,還可以用軟件去抖動的方法。 [7]</p><p>

50、;  圖3-4按鍵電路第四章 軟件設(shè)計(jì)</p><p>  本設(shè)計(jì)的軟件程序包括主程序、計(jì)算陽歷程序流程圖、計(jì)算陰歷序流程圖、萬年歷設(shè)置功能子程序等。</p><p><b>  4.1主程序流程圖</b></p><p>  圖4-1 主程序流程圖</p><p>  程序啟動載入默認(rèn)預(yù)定時間及日期數(shù)值,數(shù)據(jù)轉(zhuǎn)入顯示

51、屏幕顯示,時鐘芯片啟動,程序依年月日判別進(jìn)行時間增加,進(jìn)入鍵盤掃描死循環(huán),在鍵盤有輸入值時即做出調(diào)時,轉(zhuǎn)農(nóng)歷顯示等操作,顯示主程序流程圖如圖4-1所示。</p><p>  4.2時間調(diào)整程序設(shè)計(jì)</p><p>  調(diào)整時間用三個調(diào)整按鈕,一個作為移位、控制用,一個作為加用,一個作為退出調(diào)整用。分別定義為控制按鈕、加按鈕、退出按鈕。在調(diào)整時間過程中,要調(diào)整的位與別的位應(yīng)該有區(qū)別,所以增加

52、了閃爍功能,即調(diào)整的位一直在閃爍,直到調(diào)整下一位。閃爍原理就是,讓要調(diào)整的一位每隔一定的時間熄滅一次,例如間隔時間為50ms。利用定時器計(jì)時,當(dāng)達(dá)到50ms溢出時,就送給該位熄滅符,在下一次溢出時,再送正常顯示的值,不斷交替,直到調(diào)整該位結(jié)束。此時送正常顯示值給該位,再進(jìn)入下一位調(diào)整閃爍程序。時間調(diào)整程序流程圖如圖4-2所示。</p><p>  圖4-2 時間調(diào)整程序流程圖</p><p&

53、gt;  4.3陽歷程序的設(shè)計(jì)</p><p>  因?yàn)槭褂昧藭r鐘芯片DS1302,陽歷程序只需從DS1302各寄存器中讀出年、周、月、日、小時、分、秒等數(shù)據(jù),再處理即可。在首次對DS1302進(jìn)行操作之前,必須對它進(jìn)行初始化,然后從DS1302中讀出數(shù)據(jù),再經(jīng)過處理后,送給顯示緩沖單元。陽歷程序流程圖見圖4-3所示。</p><p>  圖4-3陽歷程序流程圖</p><

54、;p>  4.4 陰歷程序設(shè)計(jì)</p><p>  陰歷程序的實(shí)現(xiàn)是要靠陽歷日期來推算的。要根據(jù)陽歷來推算陰歷日期,首先要設(shè)計(jì)算法。推算方法是,根據(jù)陽歷當(dāng)前日期在一年中的天數(shù)來計(jì)算陰歷日期。陽歷一個月不是30天就是31天(2月除外,閏年2月為29天,平年2月為28天)。陰歷一年有12個月或13個月(含閏月),一個月為30天或29天。如果把一個只有29天的月稱為小月,用1為標(biāo)志,把30天的月稱為大月,用0為標(biāo)

55、志,那么12位二進(jìn)制就能表示一年12個月的大小。如果有閏月,則把閏月的月份作為一個字節(jié)的高4位,低4位表示閏月大小,大月為0,小月為1,這樣一個字節(jié)就包括了所有閏月的信息。陰歷春節(jié)和陽歷元旦相差的天數(shù)也用一個字節(jié)表示。總共用4字節(jié)就可以存儲一年中任何一天陽歷和陰歷的對應(yīng)關(guān)系的有關(guān)數(shù)據(jù)。[8]</p><p>  例如2004年的陰歷和陽歷對應(yīng)關(guān)系如表4-4所示。</p><p>  表4-

56、4 2004年的陰歷和陽歷對應(yīng)關(guān)系表</p><p>  2004年的春節(jié)和元旦差21天,這樣2004年的信息表示為:21,42H,52H,21H。其中表示12個月大小信息的字節(jié),第4位和第7位不用,第1個字節(jié)為十進(jìn)制,其它的都為十六進(jìn)制。按此方法,50年的陽歷和陰歷對應(yīng)關(guān)系表總共使用200字節(jié)。</p><p>  有了算法和數(shù)據(jù)以后,就可以設(shè)計(jì)軟件了。先要根據(jù)當(dāng)前陽歷的日期,算出陽歷為

57、該年中的第幾天。圖4-5為計(jì)算陽歷中任何一天在該年中為第幾天的程序流程圖。</p><p>  圖4-5 計(jì)算陽歷天數(shù)程序流程圖</p><p>  計(jì)算出當(dāng)前陽歷日期為該年中的第幾天后,再減去陽歷該年春節(jié)和元旦的日差,如果夠減,則相減的結(jié)果就是陰歷在該年中的總第幾天了。根據(jù)該數(shù)據(jù)就可以推算出具體的當(dāng)前陰歷日期;如果不夠減,則表示當(dāng)前陰歷年為陽歷年的前一年。這種情況下,根據(jù)實(shí)際,當(dāng)前陰歷日

58、期會處于陰歷11月或12月,此時春節(jié)和元旦的日差減去前面計(jì)算出的當(dāng)前陽歷日期在陽歷年為第幾天的數(shù)據(jù),其結(jié)果表示當(dāng)前陰歷日期離春節(jié)的天數(shù)。計(jì)算出的陽歷天數(shù)為該年的第幾天,存放在寄存器R2和R3中。計(jì)算出天數(shù)后,如果大于#FFH,則把#FFH存放在R2中,余值存放在R3中。也就是說在用寄存器R2和R3表示的天數(shù)信息中,R2充當(dāng)主寄存器,數(shù)據(jù)先存滿R2,再存R3。在整個轉(zhuǎn)換程序中,這里面的數(shù)據(jù)不能被覆蓋。[9]</p><

59、p>  計(jì)算出陽歷總天數(shù)后,就可以根據(jù)它來推算陰歷日期。推算方法是,先用總天數(shù)減去春節(jié)和元旦的日差,如果結(jié)果為1,則該天正好是春節(jié)(因?yàn)榇汗?jié)在元旦之后,在計(jì)算春節(jié)和元旦的日差時,假設(shè)元旦為0天,春節(jié)為n天,則日差為n。而前面計(jì)算的陽歷總天數(shù)是該天在該年中的第幾天,是以元旦為1而得到的,與計(jì)算春節(jié)和元旦日差的這樣方法相比,其數(shù)值少了1,所以要在原來本應(yīng)該以0作為該天就是春節(jié)的依據(jù)的基礎(chǔ)上加1,所以以1作為該天是春節(jié)的標(biāo)志);如果結(jié)果

60、小于1,則陰歷應(yīng)該是陽歷的前一年;如果結(jié)果大于1,說明陽歷和陰歷為同一年。再根據(jù)查表所得的該年的陰歷的閏年和大小月的信息,就可以推算出該天的陰歷日期了。圖4-6為由總天數(shù)推算出陰歷日期的程序流程圖。[10]</p><p>  圖4-6 推算陰歷日期的程序流程圖</p><p>  第五章 系統(tǒng)調(diào)試與仿真</p><p><b>  5.1軟件調(diào)試<

61、/b></p><p>  打開程序調(diào)試軟件Keil,在里面新建一個工程,命名,接著新建文件,編寫相應(yīng)程序。編譯、連接。但若在該過程中,看見程序有錯誤,就根據(jù)相應(yīng)的提示來修改,直到能夠正確編譯為止。</p><p>  能夠正常編譯的程序說明沒有什么問題了,此時我們在點(diǎn)擊相關(guān)欄目,讓它生成我們在硬件仿真時所需要的.HEX文件。到此步,我們的軟件調(diào)試就完成了。</p>&

62、lt;p>  數(shù)字鐘得功能雖然比較較少,但是程序也較為復(fù)雜,特別對于初學(xué)者的我來說更是如此,所以在編寫程序和調(diào)試時出現(xiàn)了相對較多的問題。最后經(jīng)過多次的模塊子程序的修改,一步一步的完成,最終解決了軟件。在軟件的調(diào)試過程中主要遇到的問題如下:</p><p>  1、燒入程序后,液晶屏能顯示,也能走鐘,但時間明顯跳動很快,時間不正確</p><p>  解決:通過檢查延時子程序以及循環(huán)累

63、計(jì)秒、分、時子程序,發(fā)現(xiàn)將50ms延時子程序循環(huán)20次得到的秒鐘數(shù)錯誤當(dāng)作了分鐘數(shù)計(jì)時,從而使時間出現(xiàn)錯誤。將程序進(jìn)行修改,增加R0作為50ms的20次循環(huán)計(jì)數(shù)器得到秒,從而把R2的計(jì)數(shù)修改為60次(即得到了分鐘數(shù)),從而解決了該問題。</p><p>  2、修改時間、日期時農(nóng)歷沒有自動對應(yīng)上</p><p>  解決:把不相關(guān)的程序暫時屏蔽,地農(nóng)歷的子程序獨(dú)立調(diào)試,發(fā)現(xiàn)在調(diào)用農(nóng)歷自動更

64、新時,對十進(jìn)制和十六進(jìn)制處理不好造成錯亂。最后把相應(yīng)的十進(jìn)制進(jìn)行修改,使得可以與十六進(jìn)制對應(yīng),最后解決了此問題。</p><p><b>  5.2仿真</b></p><p>  1、打開keil,輸入所編寫的源程序并對程序進(jìn)行編譯,在軟件的幫助下檢查其中的錯誤并進(jìn)行反復(fù)修改,知道編譯正確后運(yùn)行,確保沒有錯誤以后對正確的源程序進(jìn)行保存,保存時給其命名,以便將來載入程

65、序時容易找到。</p><p>  2、打開PROTEUS軟件,繪制單片機(jī)電子萬年歷具體運(yùn)行電路圖。</p><p>  3、檢查所畫電路運(yùn)行圖,確保沒有錯誤以后,在PROTEUS下對原理圖進(jìn)行加載keil下的源程序。 </p><p>  加載完成后,單擊電路圖框下的開始按鈕,進(jìn)行仿真,觀察LED數(shù)碼管現(xiàn)實(shí)情況,此時LED數(shù)碼管開始顯示數(shù)字。調(diào)節(jié)開關(guān)進(jìn)行時間的調(diào)節(jié)

66、。當(dāng)秒的顯示間隔快與或慢與實(shí)際間隔時,調(diào)節(jié)石英晶體震蕩器的頻率15參數(shù),從而使秒的間隔達(dá)到標(biāo)準(zhǔn)。然后檢查電路其它問題,并對其的各參數(shù)進(jìn)行調(diào)整,使之正確。 </p><p>  通過在Keil下對源程序的編譯,改正了其中的很多錯誤,運(yùn)行之后生成HEX文件。然后按原理圖選擇正確合理的電氣元件,畫出正確而且美觀的電路圖,加載源程序運(yùn)行,順利實(shí)現(xiàn)了電子萬年歷年月日時分秒以及星期和陰歷日期的輸出。</p>&

67、lt;p>  Proteus仿真結(jié)果如圖5-1所示</p><p>  圖5-1系統(tǒng)仿真Proteus仿真圖</p><p>  按鍵功能自左而右依次為:確定修改項(xiàng)鍵、選擇修改項(xiàng)鍵、增大鍵、減小鍵、顯示陰歷鍵。</p><p>  圖5-2按鍵功能仿真圖</p><p>  按下確定修改項(xiàng)鍵表示確定修改,然后點(diǎn)擊選擇修改項(xiàng)鍵符號開始閃動

68、,符號閃動的年、月、日、時、分、星期等各點(diǎn)的右側(cè)表示可以修改該數(shù)值。按增大鍵表示數(shù)字為加,按減小鍵表示數(shù)字為減。按下顯示陰歷鍵顯示陽歷所對應(yīng)的陰歷日期。</p><p><b>  5.3 硬件調(diào)試</b></p><p>  該數(shù)字鐘的電路系統(tǒng)較大,對于焊接方面更是不可輕視,龐大的電路系統(tǒng)中只要出于一處的錯誤,則會對檢測造成大的不便,而且電路的交線交多,對于各種鋒利

69、的引腳要注意處理,否則會刺破帶有封皮的導(dǎo)線,使電路造成短路現(xiàn)象,另外,買來的元器件要先進(jìn)行檢測,如果有壞的器件要進(jìn)行更換,還有就是要注意元器件的正確放置與安裝以及布線的合理,便于成品電路的檢測與維護(hù)。[11]</p><p>  在本數(shù)字鐘的設(shè)計(jì)調(diào)試中遇到了很多的問題,回想這些問題,其實(shí)只要認(rèn)真思考很多功能都是可以避免的,以下為主要的問題:</p><p> ?。?)檢測AT89C52運(yùn)行

70、是否正常,第一次硬件檢測的時候,AT89C52不工作,經(jīng)檢查發(fā)現(xiàn)電源電路和晶體振蕩器沒接好。再次檢測時89C52仍不工作,檢測后發(fā)現(xiàn)復(fù)位開關(guān)已壞,RST復(fù)位引腳一直處于高電平,經(jīng)去掉開關(guān)后89C52工作。</p><p>  (2)液晶屏顯示不正常,還有亮度不夠,首先使用試測儀對電路進(jìn)行測試,觀察是否存在漏焊,虛焊,或者元件損壞。</p><p>  (3)液晶屏管顯示不正常,還有亮度不夠

71、,首先使用試測儀對電路進(jìn)行測試,觀察電路是否存在短路現(xiàn)象。若硬件無誤后再查看燒寫的程序是否正確無誤,對程序進(jìn)行認(rèn)真修改。</p><p><b>  5.4 測試結(jié)論</b></p><p>  經(jīng)過多次的反復(fù)測試與分析,可以對電路的原理及功能更加熟悉,同時提高了設(shè)計(jì)同時提高了設(shè)計(jì)能力以及對電路的分析能力。同時在軟件的編程方面得到更高的提高,對編程能力達(dá)到加強(qiáng)。同時對

72、所學(xué)的知識得到很大的提高與鞏固。對于初學(xué)者來說,更是大有益處,能把理論聯(lián)系實(shí)際運(yùn)用,學(xué)到更多的知識,真正將這門課程所包含的知識用于實(shí)際生活中的具體創(chuàng)造和設(shè)計(jì)中。</p><p><b>  結(jié) 論</b></p><p>  多功能萬年歷是能同時顯示日歷、星期、時間、溫度的電子時鐘。這次的畢業(yè)設(shè)計(jì)從選題上也花了很多時間,板也做了一塊又一塊,在做的過程中還是出現(xiàn)了很多

73、常見的錯誤,比如在畫原理圖的時候,連線連錯,網(wǎng)絡(luò)標(biāo)號不對應(yīng),電源和地接反,這些都是很小的錯誤,但是小錯誤也能成大錯,導(dǎo)致最后做出來的板不能實(shí)現(xiàn)預(yù)期的功能。另外就是對一些芯片的運(yùn)用不熟悉,導(dǎo)致顯示亂碼也是很正常的,比如時鐘芯片DS1302的數(shù)據(jù)端口和信號端口必須接上拉電阻后再接電源端,否則芯片不能正常工作,軟件無法正常運(yùn)行,整個系統(tǒng)也將癱瘓無法正常顯示。還有液晶顯示器的電源端也要接個電位器,一是方便調(diào)節(jié)明暗度,二是防止電流過大,燒壞顯示屏

74、,這些都是很基本的知識,但必須要熟記和掌握,以致才能運(yùn)用的更加熟練。</p><p>  另外對于這次的畢業(yè)設(shè)計(jì),感覺自己的能力又得到了一定的提高,特別是對設(shè)計(jì)的整體流程有了更清晰的認(rèn)識,包括選題、設(shè)計(jì),制版,調(diào)試、寫報告。但是還有很多要彌補(bǔ)的地方,比如寫軟件程序,對于一個學(xué)單片機(jī)的人來說,不僅要懂硬件,更要懂軟件,只有都懂了,才能設(shè)計(jì)出更好的電路,要學(xué)好這些,只有不斷的去嘗試,嘗試中不斷的發(fā)現(xiàn)錯誤,不斷的改正錯

75、誤,只有這樣能力才能得到一步步的提高。</p><p><b>  致 謝</b></p><p>  論文經(jīng)過一個余月后終于完成,在做論文期間,問題一個接著一個,但在宿舍同學(xué)的幫助下,問題最后也能迎刃而解。在此對他們的幫助表示最誠摯的感謝。</p><p>  本論文是在我的導(dǎo)師xx老師的悉心指導(dǎo)下完成的。在此,特別要向本人的指導(dǎo)教師xx老

76、師致以誠摯的謝意。他嚴(yán)謹(jǐn)?shù)闹螌W(xué)精神,精益求精的工作作風(fēng),讓我學(xué)到了許多。從課題的選擇到論文的最終完成,xx老師都始終給予我細(xì)心的指導(dǎo)。在論文的修訂上,亦給予了我許多寶貴的修改意見,使我在此期間獲益良多,順利的完成了畢業(yè)論文工作。</p><p>  我能順利的完成大學(xué)四年的學(xué)業(yè),與父母多年來一如既往的支持和關(guān)懷是分不開的,在此,向默默對我付出的父母致以衷心的感謝!</p><p>  衷心

77、感謝在我成長的路上指點(diǎn)和幫助我的老師和同學(xué)們;</p><p>  衷心感謝在百忙之中評閱論文和參加答辯的各位專家、教授。</p><p>  參考文獻(xiàn)(References)</p><p>  [1] 曹巧媛,單片機(jī)原理及應(yīng)用[M],北京:電子工業(yè)出版社,1997.7.</p><p>  [2] 萬福君,潘松峰等.單片微機(jī)原理系統(tǒng)設(shè)計(jì)與

78、應(yīng)用[M].北京:中國科學(xué)技術(shù)大學(xué)出版社,2005:</p><p>  [3] 趙亮 ,侯國銳等. 單片機(jī)C語言編程與實(shí)例[M]. 北京: 人民郵電出版社, 2003.9</p><p>  [4] 用51單片機(jī)實(shí)現(xiàn)公歷與農(nóng)歷星期的轉(zhuǎn)換.[EB/OL] </p><p>  [5] 李光飛, 李良兒, 樓然苗等. 單片機(jī)C程序設(shè)計(jì)實(shí)例指導(dǎo)[M]

79、. 北京:北京航空航天大學(xué)出版社. 2005.9.</p><p>  [6] 李全利,遲榮強(qiáng)等. 單片機(jī)原理及接口技術(shù)[M]. 北京:高等教育出版社,2004.1</p><p>  [7] 華成英.模擬電子技術(shù)基礎(chǔ)[M]. 北京:高等教育出版社,2001.12</p><p>  [8] 閻石.數(shù)字電子技術(shù)基礎(chǔ)[M]. 北京: 高等教育出版社

80、, 1995.4</p><p>  [9] 張義和.Protel DXP電路設(shè)計(jì)快速入門[M]. 北京: 中國鐵道出版社, 2003.10</p><p>  [10] 田立,田清,代方震等.51單片機(jī)C語言程序設(shè)計(jì)快速入門[M].人民郵電出版社,2007:4-47</p><p>  [11] 譚浩強(qiáng). C程序設(shè)計(jì)[M].

81、清華大學(xué)出版社.2005:1-300</p><p>  附錄一:硬件電路仿真圖</p><p>  附錄二:電子萬年歷原理圖</p><p>  附錄三:硬件電路PCB圖</p><p><b>  附錄四:實(shí)物圖</b></p><p><b>  附錄五:元件清單 </b&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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論