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

下載本文檔

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

文檔簡介

1、<p><b>  畢業(yè)設(shè)計(jì)(論文)</b></p><p>  2016 年 12 月 05 日</p><p> 題 目數(shù)字萬年歷設(shè)計(jì)</p><p> 專 業(yè)電子信息工程</p><p> 姓 名</p><p> 學(xué) 號(hào)</p&g

2、t;<p> 指導(dǎo)教師</p><p> 起訖日期</p><p>  畢業(yè)設(shè)計(jì)(論文)中文摘要</p><p> 在當(dāng)代繁忙的工作與生活中,時(shí)間與我們每一個(gè)人都有非常親密的關(guān)系,每個(gè)人都收到時(shí)間的影響,為了更好的利用我們自己的時(shí)間,我們必須對時(shí)間有一個(gè)度量,因此產(chǎn)生了鐘表。隨著社會(huì)、科技的發(fā)展,人類得知時(shí)間,從觀太陽、擺鐘到現(xiàn)在電子鐘,不斷研究、創(chuàng)新

3、。為了在觀測時(shí)間的同時(shí)能夠了解其他與人類密切相關(guān)的信息,比如溫度、星期、日期等,電子萬年歷誕生了,它集時(shí)間、日期、星期和溫度于一身,具有讀取方便、顯示直觀、功能多樣、電路簡潔等諸多優(yōu)點(diǎn),符合電子儀器儀表的發(fā)展趨勢,具有廣闊的市場前景。隨著人們生活水平的提高和生活節(jié)奏的加快,對時(shí)間的要求越來越高,精準(zhǔn)數(shù)字計(jì)時(shí)的消費(fèi)需求也是越來越多。本文主要研究了液晶顯示器及時(shí)鐘芯片DS1302,溫度傳感器DS18B20與單片機(jī)之間的硬件相互之間通信,對數(shù)

4、種硬件連接方案進(jìn)行了詳盡的比較,在軟件方面對日歷算法也進(jìn)行了論述。關(guān)鍵字 單片機(jī)AT89S52 時(shí)鐘電路 溫度傳感器DS18B20</p><p>  畢業(yè)設(shè)計(jì)說明書(論文)外文摘要</p><p><b>  目 錄</b></p><p>  1 引言(Introduction)3</p><p>  

5、2 關(guān)于單片機(jī)(On single chip microcomputer)4</p><p>  2.1 單片機(jī)的發(fā)展史(Development history of single chip microcomputer)4</p><p>  2.2單片機(jī)的應(yīng)用(Application of single chip microcomputer)4</p><p&g

6、t;  2.3單片機(jī)的主要發(fā)展趨勢(The main development trend of single chip microcomputer)5</p><p>  2. 4 AT89S52單片機(jī)(AT89S52 single chip microcomputer)7</p><p>  3設(shè)計(jì)要求與方案論證(Design requirements and project dem

7、onstration)8</p><p>  3.1功能要求(functional requirement)8</p><p>  3.2方案論證(project approachment)8</p><p>  4 系統(tǒng)的硬件設(shè)計(jì)與實(shí)現(xiàn) (Hardware design and implementation of the system)12</p

8、><p>  4.1 電路設(shè)計(jì)框圖(Circuit design block diagram)12</p><p>  4.2 系統(tǒng)硬件概述(System hardware overview)12</p><p>  4.3 系統(tǒng)電路模塊設(shè)計(jì)(System circuit module design)13</p><p>  4.4 蜂鳴器

9、的結(jié)構(gòu)原理(Structure principle of buzzer)20</p><p>  5 系統(tǒng)的軟件設(shè)計(jì)(Software design of the system)22</p><p>  5.1系統(tǒng)軟件總體設(shè)計(jì)(System software design)22</p><p>  5.2 公歷與星期的換算方法(The conversion m

10、ethod of the Gregorian calendar and the week)22</p><p>  5.3 程序流程圖(Program flow chart)24</p><p>  結(jié) 論(Conclusion)26</p><p>  致 謝(Thank)27</p><p>  參考文獻(xiàn)(Reference

11、documentation)28</p><p>  附錄(Appendix)129</p><p>  附錄(Appendix)247</p><p><b>  1 引言</b></p><p>  萬年歷在我國已經(jīng)有1000多年的歷史,相傳為商朝的萬年所創(chuàng),故為紀(jì)念他的功績而將該歷法命名為“萬年歷”。萬年歷古

12、時(shí)通稱時(shí)憲書或通書,是按照某一特定歷法的推算法則編排年、月、日、節(jié)氣等以供查考得工具書,是人類創(chuàng)造的文化成果之一。</p><p>  如今隨著電子技術(shù)的迅速發(fā)展,特別是大規(guī)模集成電路的出現(xiàn),給人類生活帶來了根本性的改變,尤其是單片機(jī)技術(shù)的應(yīng)用產(chǎn)品已經(jīng)走進(jìn)了千家萬戶,其中電子萬年歷的出現(xiàn)給人們的生活帶來諸多的方便。萬年歷目前已經(jīng)不再局限于以紙張的形式出現(xiàn),以電腦軟件或者電子產(chǎn)品形式出現(xiàn)的萬年歷被稱為電子萬年歷。本

13、文提出了一種基于AT89S52單片機(jī)的時(shí)鐘設(shè)計(jì)方案,本方案以AT89S52單片機(jī)作為主控核心,與DS18B20溫度傳感器、時(shí)鐘芯片DS1302、按鍵、LED顯示等模塊組成硬件系統(tǒng)。在硬件系統(tǒng)中設(shè)有獨(dú)立按鍵和LED顯示器,根據(jù)使用者的需要可以隨時(shí)對時(shí)間進(jìn)行校準(zhǔn)、選擇時(shí)間等,綜上所述此電子時(shí)鐘具有讀取方便、顯示直觀、功能多樣、電路簡潔、成本低廉等諸多優(yōu)點(diǎn),符合電子儀器儀表的發(fā)展趨勢,具有廣闊的市場前景。</p><p&g

14、t;<b>  2 關(guān)于單片機(jī)</b></p><p>  2.1 單片機(jī)的發(fā)展史</p><p>  單片機(jī)是在一塊硅片上集成了各種部件的微型計(jì)算機(jī)。隨著大規(guī)模集成電路技術(shù)的發(fā)展,可以將中央處理器(CPU)、數(shù)據(jù)存儲(chǔ)器(RAM)、程序存儲(chǔ)器(ROM)定時(shí)器計(jì)數(shù)器以及輸入/輸出(I/O)接口電路等主要計(jì)算機(jī)部件,集成在一塊電路芯片上。雖然單片機(jī)只是一個(gè)芯片,但從組成和

15、功能上,都已具有了微機(jī)系統(tǒng)的含義。由于單片機(jī)能獨(dú)立執(zhí)行內(nèi)部程序,所以又稱它為微型控制器(Microcontroller)。</p><p>  單片機(jī)自從問世以來,性能在不斷的提高和完善,它不僅能夠滿足很多應(yīng)用場合的需要,而且具有集成度高、功能強(qiáng)、速度快、體積小使用方便、性能可靠、價(jià)格低廉等特點(diǎn)。因此,在工業(yè)控制、智能儀器儀表、數(shù)據(jù)采集和處理、通信、智能接口、商業(yè)營銷等領(lǐng)域得到廣泛的應(yīng)用,并且正在逐步取代現(xiàn)有的多

16、片微機(jī)應(yīng)用系統(tǒng)。單片機(jī)的潛力越來越被人們所重視,所以更擴(kuò)大了單片機(jī)的應(yīng)用范圍,也進(jìn)一步促進(jìn)了單片機(jī)技術(shù)的發(fā)展,單片機(jī)的發(fā)展史大致可分為三個(gè)階段。</p><p>  第一階段(1976-1978):初級(jí)單片機(jī)微處理階段。該時(shí)期的單片機(jī)具有 8 位CPU,并行 I/O 端口、8 位時(shí)序同步計(jì)數(shù)器,尋址范圍 4KB,但是沒有串行口。</p><p>  第二階段(1978-1982):高性能單

17、片機(jī)微機(jī)處理階段,該時(shí)期的單片機(jī)具有I/O 串行端口,有多級(jí)中斷處理系統(tǒng),15 位時(shí)序同步技術(shù)器,RAM、ROM 容量加大,尋址范圍可達(dá) 64KB。 </p><p>  第三階段(1982-至今) 8 位單片機(jī)微處理改良型及 16 位單片機(jī)微處理階段。</p><p>  2.2單片機(jī)的應(yīng)用 </p><p>  由于單片機(jī)具有顯著的優(yōu)點(diǎn),它已成為科技領(lǐng)域的

18、有力工具,人類生活的得力助手。它的應(yīng)用遍及各個(gè)領(lǐng)域,主要表現(xiàn)在以下幾個(gè)方面: </p><p> ?。?) 單片機(jī)在智能儀表中的應(yīng)用 </p><p>  單片機(jī)廣泛地用于各種儀器儀表,使儀器儀表智能化,并可以提高測量的自動(dòng)化程度和精度,簡化儀器儀表的硬件結(jié)構(gòu),提高其性能價(jià)格比。</p><p>  (2) 單片機(jī)在機(jī)電一體化中的應(yīng)用 </p>

19、;<p>  機(jī)電一體化是機(jī)械工業(yè)發(fā)展的方向。機(jī)電一體化產(chǎn)品是指集成機(jī)械技術(shù)、微電子技術(shù)、計(jì)算機(jī)技術(shù)于一體,具有智能化特征的機(jī)電產(chǎn)品,例如微機(jī)控制 1 包洪:單片機(jī)數(shù)字時(shí)鐘的設(shè)計(jì)床、鉆床等。單片機(jī)作為產(chǎn)品中的控制器,能充分發(fā)揮它的體積小、可靠性高、功能強(qiáng)等優(yōu)點(diǎn),可大大提高機(jī)器的自動(dòng)化、智能化程度。 </p><p>  (3) 單片機(jī)在實(shí)時(shí)控制中的應(yīng)用 </p><p>

20、;  單片機(jī)廣泛地用于各種實(shí)時(shí)控制系統(tǒng)中。例如,在工業(yè)測控、航空航天、尖端武器、機(jī)器人等各種實(shí)時(shí)控制系統(tǒng)中,都可以用單片機(jī)作為控制器。單片機(jī)的實(shí)時(shí)數(shù)據(jù)處理能力和控制功能,可使系統(tǒng)保持在最佳工作狀態(tài),提高系統(tǒng)的工作效率和產(chǎn)品質(zhì)量。</p><p> ?。?)單片機(jī)在分布式多機(jī)系統(tǒng)中的應(yīng)用 </p><p>  在比較復(fù)雜的系統(tǒng)中,常采用分布式多機(jī)系統(tǒng)。多機(jī)系統(tǒng)一般由若干臺(tái)功能各異的單片機(jī)

21、組成,各自完成特定的任務(wù),它們通過串行通信相互聯(lián)系、協(xié)調(diào)工作。單片機(jī)在這種系統(tǒng)中往往作為一個(gè)終端機(jī),安裝在系統(tǒng)的某些節(jié)點(diǎn)上,對現(xiàn)場信息進(jìn)行實(shí)時(shí)的測量和控制。單片機(jī)的高可靠性和強(qiáng)抗干擾能力,使它可以置于惡劣環(huán)境的前端工作。 </p><p>  (5) 單片機(jī)在人類生活中的應(yīng)用 </p><p>  自從單片機(jī)誕生以后,它就步入了人類生活,如洗衣機(jī)、電冰箱、電子玩具、收錄機(jī)等家用電器

22、配上單片機(jī)后,提高了智能化程度,增加了功能,倍受人們喜愛。單片機(jī)將使人類生活更加方便、舒適、豐富多彩。</p><p>  (6) 單片機(jī)發(fā)展趨勢 目前,單片機(jī)正朝著高性能和多品種方向發(fā)展,其發(fā)展趨勢將是進(jìn)一步向著CMOS 化、低功耗、小體積、大容量、高性能、低價(jià)格和外圍電路內(nèi)裝化等幾個(gè)方面發(fā)展。</p><p>  2.3單片機(jī)的主要發(fā)展趨勢 </p><p>

23、  單片機(jī)無處不在,滲透進(jìn)我們?nèi)粘I畹拿總€(gè)領(lǐng)域,如果想找到不適用單片機(jī)的領(lǐng)域,那幾乎不可能做到。大到導(dǎo)彈的導(dǎo)航裝置、飛機(jī)上各種儀表的控制、工業(yè)自動(dòng)化過程的實(shí)時(shí)控制和數(shù)據(jù)處理等,小至計(jì)算機(jī)的網(wǎng)絡(luò)通訊與數(shù)據(jù)傳輸、各種智能IC卡、民用豪華轎車的安全保障系統(tǒng)、錄像機(jī)、攝像機(jī)、全自動(dòng)洗衣機(jī)的控制以及程控玩具、電子寵物等等。因此,單片機(jī)的重要性不言而喻,自單片機(jī)出現(xiàn)至今,單片機(jī)技術(shù)的發(fā)展以微處理器技術(shù)及超大規(guī)模集成電路技術(shù)的發(fā)展為基礎(chǔ),以及廣泛應(yīng)

24、用領(lǐng)域的拉動(dòng),表現(xiàn)出比微處理器更具個(gè)性的發(fā)展。</p><p>  (1) CMOS 化 </p><p>  近年,由于 CHMOS 技術(shù)的進(jìn)小,大大地促進(jìn)了單片機(jī)的 CMOS 化。CMOS 芯片除了低功耗特性之外,還具有功耗的可控性,使單片機(jī)可以工作在功耗精細(xì)管理狀態(tài)。這也是今后以 80C51 取代 8051 為標(biāo)準(zhǔn) MCU 芯片的原因。因?yàn)閱纹瑱C(jī)芯片多數(shù)是采用 CMOS(金屬柵氧

25、化物)半導(dǎo)體工藝生產(chǎn)。CMOS 電路的特點(diǎn)是低功耗、高密度、低速度、低價(jià)格。采用雙極型半導(dǎo)體工藝的 TTL 電路速度快,但功耗和芯片面積較大。隨著技術(shù)和工藝水平的提高,又出現(xiàn)了 HMOS(高密度、高速度MOS)、CHMOS 工藝以及 CHMOS 和 HMOS 工藝的結(jié)合。目前生產(chǎn)的 CHMOS 電路已達(dá)到 LSTTL 的速度,傳輸延遲時(shí)間小于 2ns,它的綜合優(yōu)勢已大于 TTL 電路。因而,在單片機(jī)領(lǐng)域,CMOS 電路正在逐漸取代 TT

26、L 電路。</p><p><b> ?。?) 低功耗化 </b></p><p>  單片機(jī)的功耗已從 mA 級(jí),甚至 1uA 以下;使用電壓在 36V 之間,完全適應(yīng)電池工作。低功耗化的效應(yīng)不僅是功耗低,而且?guī)砹水a(chǎn)品的高可靠性、高抗干擾能力以及產(chǎn)品的便攜化。</p><p> ?。?) 低電壓化 </p><p&g

27、t;  幾乎所有的單片機(jī)都有 WAIT、STOP 等省電運(yùn)行方式。允許使用的電壓范圍越來越寬,一般在 36V 范圍內(nèi)工作。低電壓供電的單片機(jī)電源下限已可達(dá) 12V。目前 0.8V 供電的單片機(jī)已經(jīng)問世。 </p><p> ?。?) 低噪聲與高可靠性 </p><p>  為提高單片機(jī)的抗電磁干擾能力,使產(chǎn)品能適應(yīng)惡劣的工作環(huán)境,滿足電磁兼容性方面更高標(biāo)準(zhǔn)的要求,各單片廠家在單片機(jī)內(nèi)

28、部電路中都采用了新的技術(shù)措施。</p><p>  2. 4 AT89S52單片機(jī)</p><p>  本文采用AT89S52單片機(jī),AT89S52是一種低功耗、高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程Flash存儲(chǔ)器。使用Atmel公司高密度非易失性存儲(chǔ)器技術(shù)制造,與工業(yè)80C51產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲(chǔ)器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有

29、靈巧的8位CPU和在系統(tǒng)可編程Flash,使得AT89S52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。</p><p>  AT89S52具有以下標(biāo)準(zhǔn)功能:8k字節(jié)Flash,256字節(jié)RAM,32位I/O口線,看門狗定時(shí)器,2個(gè)數(shù)據(jù)指針,三個(gè)16位定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級(jí)中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時(shí)鐘電路。另外,AT89S52可降至0Hz靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模

30、式下,CPU停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。</p><p>  3設(shè)計(jì)要求與方案論證</p><p><b>  3.1功能要求</b></p><p>  本電子時(shí)鐘能動(dòng)態(tài)顯示年、月、日、星期、小時(shí)、分鐘、秒,以及對應(yīng)

31、的農(nóng)歷日期、24節(jié)氣、天干地支、鬧鈴功能。</p><p><b>  3.2方案論證</b></p><p>  3.2.1 技術(shù)可行性</p><p>  隨著國內(nèi)超大規(guī)模集成電路的出現(xiàn),微處理器及其外圍芯片有了迅速的發(fā)展。集成技術(shù)的最新發(fā)展之一是將CPU和外圍芯片,如程序存儲(chǔ)器、數(shù)據(jù)存儲(chǔ)器、并行I/O口、串行I/O口、定時(shí)/計(jì)數(shù)器、中斷控

32、制器及其他控制部件集成在一個(gè)芯片之中,制成單片計(jì)算機(jī)(Single-Chip Microcomputer)。而近年來推出的一些高檔單片機(jī)還包括有許多特殊功能單元,如A/D、D/A轉(zhuǎn)換器、調(diào)制解調(diào)器、通信控制器、鎖相環(huán)、DMA、浮點(diǎn)運(yùn)算單元、PWM控制輸出單元、PWM輸出時(shí)的死區(qū)可編程控制功能等。因此,只要外加一些擴(kuò)展電路及必要的通道接口就可以構(gòu)成各種計(jì)算機(jī)應(yīng)用系統(tǒng),如工業(yè)流水線控制系統(tǒng)、作為家用電器的主控制器、分布式控制系統(tǒng)的終端節(jié)點(diǎn)或

33、作為其主控制節(jié)點(diǎn)起中繼的作用、數(shù)據(jù)采集系統(tǒng)、自動(dòng)測試系統(tǒng)等。</p><p>  單片機(jī)的出現(xiàn),并在各技術(shù)領(lǐng)域中得到如此迅猛的發(fā)展,與單片機(jī)構(gòu)成計(jì)算機(jī)應(yīng)用系統(tǒng)所形成的下述特點(diǎn)有關(guān):</p><p> ?。?)單片機(jī)構(gòu)成的應(yīng)用系統(tǒng)有較大的可靠性。這些可靠性的獲得除了依靠單片機(jī)芯片本身的高可靠性以及應(yīng)用有最少的聯(lián)接外,還可以方便地采用軟、硬件技術(shù)。</p><p>  

34、(2)系統(tǒng)擴(kuò)展、系統(tǒng)配置較典型、規(guī)范,容易構(gòu)成各種規(guī)模的應(yīng)用系統(tǒng),應(yīng)用系統(tǒng)有較高的軟、硬件利用系數(shù)。</p><p>  (3)由于構(gòu)成的應(yīng)用系統(tǒng)是一個(gè)計(jì)算機(jī)系統(tǒng),相當(dāng)多的測、控功能由軟件實(shí)現(xiàn),故具有柔性特征,不須改變硬件系統(tǒng)就能適當(dāng)?shù)馗淖兿到y(tǒng)功能。</p><p> ?。?)有優(yōu)異的性能、價(jià)格比。</p><p>  3.2.2 單片機(jī)芯片的選擇方案和論證<

35、/p><p><b>  方案一: </b></p><p>  采用89C51芯片作為硬件核心,采用Flash ROM,內(nèi)部具有4KB ROM 存儲(chǔ)空間,能于3V的超低壓工作,而且與MCS-51系列單片機(jī)完全兼容,但是運(yùn)用于電路設(shè)計(jì)中時(shí)由于不具備ISP在線編程技術(shù), 當(dāng)在對電路進(jìn)行調(diào)試時(shí),由于程序的錯(cuò)誤修改或?qū)Τ绦虻男略龉δ苄枰獰氤绦驎r(shí),對芯片的多次拔插會(huì)對芯片造成一

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

37、要對芯片多次拔插,所以不會(huì)對芯片造成損壞,所以選擇采用AT89S52作為主控制系統(tǒng)。</p><p>  3.2.3 顯示模塊選擇方案和論證</p><p><b>  方案一:</b></p><p>  采用LED數(shù)碼管動(dòng)態(tài)掃描,LED數(shù)碼管價(jià)格適中,對于顯示數(shù)字合適,采用動(dòng)態(tài)掃描法與單片機(jī)連接時(shí),雖然占用的單片機(jī)口線少,但連線還需要花費(fèi)一

38、點(diǎn)時(shí)間,所以也不用此種作為顯示。</p><p><b>  方案二:</b></p><p>  采用點(diǎn)陣式數(shù)碼管顯示,點(diǎn)陣式數(shù)碼管是由八行八列的發(fā)光二極管組成,對于顯示文字比較適合,如采用在顯示數(shù)字顯得太浪費(fèi),且價(jià)格也相對較高,所以也不用此種作為顯示。</p><p><b>  方案三:</b></p>

39、<p>  采用LCD液晶顯示屏,液晶顯示屏的顯示功能強(qiáng)大,可顯示大量文字,圖形,顯示多樣,清晰可見,并且我做的最小系統(tǒng)上帶一個(gè)TS1620-1,和AT89S52已經(jīng)接好,省了很多麻煩,所以在此設(shè)計(jì)中采用LCD液晶顯示屏。</p><p>  3.2.4 時(shí)鐘芯片的選擇方案和論證</p><p><b>  方案一:</b></p><

40、;p>  直接采用單片機(jī)定時(shí)計(jì)數(shù)器提供秒信號(hào),使用程序?qū)崿F(xiàn)年、月、日、星期、時(shí)、分、秒計(jì)數(shù)。采用此種方案雖然減少芯片的使用,節(jié)約成本,但是,實(shí)現(xiàn)的時(shí)間誤差較大,所以不采用此方案。</p><p><b>  方案二:</b></p><p>  采用DS1302時(shí)鐘芯片實(shí)現(xiàn)時(shí)鐘,DS1302芯片是一種高性能的時(shí)鐘芯片,可自動(dòng)對秒、分、時(shí)、日、周、月、年進(jìn)行計(jì)數(shù),

41、而且精度高,8位的RAM做為數(shù)據(jù)暫存區(qū),工作電壓2.5V~5.5V范圍內(nèi),2.5V時(shí)耗電小于300nA。</p><p>  3.2.5 溫度傳感器的選擇方案與論證</p><p><b>  方案一:</b></p><p>  使用熱敏電阻作為傳感器,用熱敏電阻與一個(gè)相應(yīng)阻值電阻相串聯(lián)分壓,利用熱敏電阻阻值隨溫度變化而變化的特性,采集這兩個(gè)

42、電阻變化的分壓值,并進(jìn)行A/D轉(zhuǎn)換。此設(shè)計(jì)方案需用A/D轉(zhuǎn)換電路,增加硬件成本而且熱敏電阻的感溫特性曲線并不是嚴(yán)格線性的,會(huì)產(chǎn)生較大的測量誤差。因此,不采用此方法。</p><p><b>  方案二:</b></p><p>  采用數(shù)字式溫度傳感器DS18B20,此類傳感器為數(shù)字式傳感器而且僅需要一條數(shù)據(jù)線進(jìn)行數(shù)據(jù)傳輸,易于與單片機(jī)連接,可以避免A/D模數(shù)轉(zhuǎn)換模塊

43、,降低硬件成本,簡化系統(tǒng)電路。另外,數(shù)字式溫度傳感器還具有測量精度高、測量范圍廣等優(yōu)點(diǎn)。因此,本設(shè)計(jì)用DS18B20溫度傳感器作為溫度采集模塊。</p><p>  3.2.6 蜂鳴器的選擇方案與論證</p><p>  1.蜂鳴器的作用 </p><p>  蜂鳴器是一種一體化結(jié)構(gòu)的電子訊響器,采用直流電壓供電,廣泛應(yīng)用于計(jì)算機(jī)、打印機(jī)、復(fù)印機(jī)、報(bào)警器、電子玩具

44、、汽車電子設(shè)備、電話機(jī)、定時(shí)器等電子產(chǎn)品中作發(fā)聲器件。</p><p>  2.蜂鳴器的分類 </p><p>  蜂鳴器主要分為壓電式蜂鳴器和電磁式蜂鳴器兩種類型。</p><p>  3.蜂鳴器的電路圖形符號(hào) </p><p>  蜂鳴器在電路中用字母“H”或“HA”(舊標(biāo)準(zhǔn)用“FM”、“LB”、“JD”等)表示。</p>

45、<p>  4 系統(tǒng)的硬件設(shè)計(jì)與實(shí)現(xiàn)</p><p>  4.1 電路設(shè)計(jì)框圖</p><p>  本次設(shè)計(jì)的基于單片機(jī)控制的電子萬年歷,其具有年、月、日、星期、時(shí)、分、秒的顯示等功能;具有時(shí)間與陰、陽歷能夠自動(dòng)關(guān)聯(lián);可以設(shè)置鬧鈴的功能。其具體實(shí)現(xiàn)過程就是由主控制模塊AT89S52發(fā)送信息給DS1302時(shí)鐘芯片再由時(shí)鐘芯片反饋給單片機(jī),再由主控制器傳送給LCD顯示信息。并且可

46、以在鍵盤設(shè)置模塊輸入修改時(shí)間,設(shè)置鬧鈴等信息,當(dāng)鍵盤設(shè)置時(shí)間、日期時(shí),單片機(jī)主控制根據(jù)輸入信息,通過串口通信傳送給DS1302時(shí)鐘芯片,DS1302芯片讀取當(dāng)前新信息產(chǎn)生反饋傳送給單片機(jī),然后單片機(jī)根據(jù)控制最后輸送顯示信息到LCD模塊和溫度模塊上顯示。</p><p>  圖4.1 系統(tǒng)原理圖</p><p>  4.2 系統(tǒng)硬件概述</p><p>  本電路是由

47、AT89S52單片機(jī)為控制核心,具有在線編程功能,低功耗,能在3V超低壓工作;時(shí)鐘電路由DS1302提供,它是一種高性能、低功耗、帶RAM的實(shí)時(shí)時(shí)鐘電路,它可以對年、月、日、周日、時(shí)、分、秒進(jìn)行計(jì)時(shí),具有閏年補(bǔ)償功能,工作電壓為2.5V~5.5V。采用三線接口與CPU進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多個(gè)字節(jié)的時(shí)鐘信號(hào)或RAM數(shù)據(jù)。DS1302內(nèi)部有一個(gè)31*8的用于臨時(shí)性存放數(shù)據(jù)的RAM寄存器??僧a(chǎn)生年、月、日、周日、時(shí)、分、秒,

48、具有使用壽命長,精度高和低功耗等特點(diǎn),同時(shí)具有掉電自動(dòng)保存功能;溫度的采集由DS18B20構(gòu)成;顯示部份由LCD液晶顯示屏顯示。</p><p>  4.3 系統(tǒng)電路模塊設(shè)計(jì)</p><p>  4.3.1 AT89S52單片機(jī)模塊</p><p>  AT89S52單片機(jī)為40引腳雙列直插芯片,有四個(gè)I/O口P0,P1,P2,P3, MCS-51單片機(jī)共有4個(gè)8位

49、的I/O口(P0、P1、P2、P3),每一條I/O線都能獨(dú)立地作輸出或輸入。如圖4.2所示。</p><p><b>  1.內(nèi)部結(jié)構(gòu)</b></p><p>  按功能分為8部分:CPU,程序存儲(chǔ)器,數(shù)據(jù)存儲(chǔ)器,時(shí)鐘電路,串行口,并行I/O口,中斷系統(tǒng),定時(shí)/計(jì)數(shù)器。</p><p><b>  2.引腳定義及功能</b>

50、;</p><p>  (1)電源及時(shí)鐘引腳</p><p>  Vcc:接+5V 電源,Vss:接地,XTAL1和XTAL2:時(shí)鐘引腳,外接晶體引線端。當(dāng)使用芯片內(nèi)部時(shí)鐘時(shí),此兩引腳端用于外接石英晶體和微調(diào)電容;當(dāng)使用外部時(shí)鐘時(shí),用于接外部時(shí)鐘脈沖信號(hào)。</p><p><b> ?。?)控制引腳</b></p><p&g

51、t;  RST/Vpq:RST是復(fù)位信號(hào)輸入端,Vpd是備用電源輸入端。當(dāng)RST輸入端保持2個(gè)機(jī)器周期以上高電平時(shí),單片機(jī)完成復(fù)位初始化操作。</p><p>  當(dāng)主電源Vcc發(fā)生故障而突然下降到一定低電壓或斷電時(shí),第2功能Vpd將為片內(nèi)RAM提供電源以保護(hù)片內(nèi)RAM中的信息不丟失。</p><p>  ALE/PROG:地址鎖存允許信號(hào)輸入端。在存取外存儲(chǔ)器時(shí),用于鎖存低8位地址信號(hào)。

52、當(dāng)單片機(jī)正常工作后,ALE端就周期性地以時(shí)鐘振蕩頻率的1/6固定頻率向外輸出正脈沖信號(hào)。此引腳的第2功能PROG是對片內(nèi)帶有4K字節(jié)EPROM的8751固外程序時(shí),作為編程脈沖輸入端。</p><p>  PSEN:程序存儲(chǔ)器允許輸出端。當(dāng)片外程序存儲(chǔ)器的讀選通信號(hào),低電平有效。CPU從外部程序存儲(chǔ)器取指令時(shí),PSEN信號(hào)會(huì)自動(dòng)產(chǎn)生負(fù)脈沖,作為外部程序存儲(chǔ)器的選通信號(hào)。</p><p> 

53、 EA/Vpp:程序存儲(chǔ)器地址允許輸入端。當(dāng)EA為高電平時(shí),CPU執(zhí)行片內(nèi)程序存儲(chǔ)器指令,但當(dāng)PC中的值超過0FFFH時(shí),將自動(dòng)轉(zhuǎn)向執(zhí)行片外程序存儲(chǔ)器指令;當(dāng)EA為低電平時(shí),CPU只執(zhí)行片外程序存儲(chǔ)器指令。</p><p><b>  (3)I/O口引腳</b></p><p>  P0.0~P0.7:P0口8位雙向I/O口;</p><p>

54、  P1.0~P1.7:P1口8位準(zhǔn)雙向I/O口;</p><p>  P2.0~P2.7:P2口8位準(zhǔn)雙向I/O口;</p><p>  P3.0~P3.7:P3口8位準(zhǔn)雙向I/O口。</p><p><b>  3.片外總線結(jié)構(gòu)</b></p><p>  分為三部分:數(shù)據(jù)總線 Data Bus(DB),地址總線 A

55、ddress Bus (AB),控制總線 Control Bus(CB)。 如圖4.2所示:</p><p>  圖4.2 AT89S52單片機(jī)</p><p>  4.3.2時(shí)鐘芯片DS1302模塊</p><p>  圖4.3示出DS1302的引腳排列,其中Vcc1為后備電源,Vcc2為主電源。在主電源關(guān)閉的情況下,也能保持時(shí)鐘的連續(xù)運(yùn)行。DS1302由Vcc

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

57、始化,允許對DS1302進(jìn)行操作。如果在傳送過程中RSTS置為低電平,則會(huì)終止此次數(shù)據(jù)傳送,I/O引腳變?yōu)楦咦钁B(tài)。上電動(dòng)行時(shí),在Vcc大于等于2.5V之前,RST必須保持低電平。中有在SCLK 為低電平時(shí),才能將RST置為高電平,I/O為串行數(shù)據(jù)輸入端(雙向)。SCLK始終是輸入端。</p><p>  圖4.3 時(shí)鐘芯片DS1302</p><p>  (1) 時(shí)鐘芯片DS1302的工作

58、原理:</p><p>  DS1302在每次進(jìn)行讀、寫程序前都必須初始化,先把SCLK端置 “0”,接著把RST端置“1”,最后才給予SCLK脈沖。DS1302的控制字的位7必須置1,若為0則不能把對DS1302進(jìn)行讀寫數(shù)據(jù)。對于位6,若對程序進(jìn)行讀/寫時(shí)RAM=1,對時(shí)間進(jìn)行讀/寫時(shí),CK=0,位1至位5指操作單元的地址。位0是讀/寫操作位,進(jìn)行讀操作時(shí),該位為1;該位為0則表示進(jìn)行的是寫操作??刂谱止?jié)總是從

59、最低位開始輸入/輸出的。表.2為DS1302的日歷、時(shí)間寄存器內(nèi)容:“CH”是時(shí)鐘暫停標(biāo)志位,當(dāng)該位為1時(shí),時(shí)鐘振蕩器停止,DS1302處于低功耗狀態(tài);當(dāng)該位為0時(shí),時(shí)鐘開始運(yùn)行?!癢P”是寫保護(hù)位,在任何的對時(shí)鐘和RAM的寫操作之前,WP必須為0。當(dāng)“WP”為1時(shí),寫保護(hù)位防止對任一寄存器的寫操作。</p><p>  (2) DS1302的控制字節(jié)</p><p>  DS1302控制

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

61、入DS1302,數(shù)據(jù)輸入從低位即位0開始。同樣,在緊跟8位的控制指令字后的下一個(gè)SCLK脈沖的下降沿讀出DS1302的數(shù)據(jù),讀出數(shù)據(jù)時(shí)從低位0位到高位7。</p><p>  (4) DS1302的寄存器</p><p>  DS1302有12個(gè)寄存器,其中有7個(gè)寄存器與日歷、時(shí)鐘相關(guān),存放的數(shù)據(jù)位為BCD碼形式。</p><p>  此外,DS1302 還有年份

62、寄存器、控制寄存器、充電寄存器、時(shí)鐘突發(fā)寄存器及與RAM相關(guān)的寄存器等。時(shí)鐘突發(fā)寄存器可一次性順序讀寫除充電寄存器外的所有寄存器內(nèi)容。 DS1302與RAM相關(guān)的寄存器分為兩類:一類是單個(gè)RAM單元,共31個(gè),每個(gè)單元組態(tài)為一個(gè)8位的字節(jié),其命令控制字為C0H~FDH,其中奇數(shù)為讀操作,偶數(shù)為寫操作;另一類為突發(fā)方式下的RAM寄存器,此方式下可一次性讀寫所有的RAM的31個(gè)字節(jié),命令控制字為FEH(寫)、FFH(讀)。 </p&g

63、t;<p>  4.3.3 LCD液晶顯示屏模塊</p><p>  如圖4.4為LCD液晶顯示屏,和最小系統(tǒng)上的連線一樣,無需修改。</p><p>  圖4.4 LCD液晶顯示屏</p><p>  液晶顯示的原理是利用液晶的物理特性,通過電壓對其顯示區(qū)域進(jìn)行控制,有電就有顯示,這樣即可以顯示出圖形。液晶顯示器具有厚度薄、適用于大規(guī)模集成電路直接驅(qū)

64、動(dòng)、易于實(shí)現(xiàn)全彩色顯示的特點(diǎn),目前已經(jīng)被廣泛應(yīng)用在便攜式電腦、數(shù)字?jǐn)z像機(jī)、PDA移動(dòng)通信工具等眾多領(lǐng)域。 </p><p>  液晶顯示的分類方法有很多種,通??砂雌滹@示方式分為段式、字符式、點(diǎn)陣式等。除了黑白顯示外,液晶顯示器還有多灰度有彩色顯示等。如果根據(jù)驅(qū)動(dòng)方式來分,可以分為靜態(tài)驅(qū)動(dòng)(Static)、單純矩陣驅(qū)動(dòng)(Simple Matrix)和主動(dòng)矩陣驅(qū)動(dòng)(Active Mat

65、rix)三種。</p><p>  液晶顯示器各種圖形的顯示原理: 線段的顯示 點(diǎn)陣圖形式液晶由M×N個(gè)顯示單元組成,假設(shè)LCD顯示屏有64行,每行有128列,每8列對應(yīng)1字節(jié)的8位,即每行由16字節(jié),共16×8=128個(gè)點(diǎn)組成,屏上64×16個(gè)顯示單元與顯示RAM區(qū)1024字節(jié)相對應(yīng),每一字節(jié)的內(nèi)容和顯示屏上相應(yīng)位置的亮暗對應(yīng)。例如屏的第一行的亮暗由RAM區(qū)的0

66、00H——00FH的16字節(jié)的內(nèi)容決定,當(dāng)(000H)=FFH時(shí),則屏幕的左上角顯示一條短亮線,長度為8個(gè)點(diǎn);當(dāng)(3FFH)=FFH時(shí),則屏幕的右下角顯示一條短亮線;當(dāng)(000H)=FFH,(001H)=00H,(002H)=00H,……(00EH)=00H,(00FH)=00H時(shí),則在屏幕的頂部顯示一條由8段亮線和8條暗線組成的虛線。這就是LCD顯示的基本原理。 </p><p>  用LCD顯示一個(gè)

67、字符時(shí)比較復(fù)雜,因?yàn)橐粋€(gè)字符由6×8或8×8點(diǎn)陣組成,既要找到和顯示屏幕上某幾個(gè)位置對應(yīng)的顯示RAM區(qū)的8字節(jié),還要使每字節(jié)的不同位為“1”,其它的為“0”,為“1”的點(diǎn)亮,為“0”的不亮。這樣一來就組成某個(gè)字符。但由于內(nèi)帶字符發(fā)生器的控制器來說,顯示字符就比較簡單了,可以讓控制器工作在文本方式,根據(jù)在LCD上開始顯示的行列號(hào)及每行的列數(shù)找出顯示RAM對應(yīng)的地址,設(shè)立光標(biāo),在此送上該字符對應(yīng)的代  

68、;</p><p>  漢字的顯示一般采用圖形的方式,事先從微機(jī)中提取要顯示的漢字的點(diǎn)陣碼(一般用字模提取軟件),每個(gè)漢字占32B,分左右兩半,各占16B,左邊為1、3、5……右邊為2、4、6……根據(jù)在LCD上開始顯示的行列號(hào)及每行的列數(shù)可找出顯示RAM對應(yīng)的地址,設(shè)立光標(biāo),送上要顯示的漢字的第一字節(jié),光標(biāo)位置加1,送第二個(gè)字節(jié),換行按列對齊,送第三個(gè)字節(jié)……直到32B顯示完就可以LCD上得到一個(gè)完整漢字。<

69、;/p><p>  4.3.4 數(shù)字式溫度傳感器DS18B2模塊</p><p>  如圖4.5所示,采用數(shù)字式溫度傳感器DS18B20,它是數(shù)字式溫度傳感器,具有測量精度高,電路連接簡單特點(diǎn),此類傳感器僅需要一條數(shù)據(jù)線進(jìn)行數(shù)據(jù)傳輸,使用I/O口與DS18B20連接加一上拉電阻,VCC接電源,VSS接地。芯片管腳圖如下圖所示:</p><p><b>  -

70、</b></p><p>  圖4.5 DS18B32測溫器</p><p>  DS18B20的測溫原理如圖4.5所示,圖中低溫度系數(shù)晶振的振蕩頻率受溫度的影響很小,用于產(chǎn)生固定頻率的脈沖信號(hào)送給減法計(jì)數(shù)器1,高溫度系數(shù)晶振隨溫度變化其震蕩頻率明顯改變,所產(chǎn)生的信號(hào)作為減法計(jì)數(shù)器2的脈沖輸入,圖中還隱含著計(jì)數(shù)門,當(dāng)計(jì)數(shù)門打開時(shí),DS18B20就對低溫度系數(shù)振蕩器產(chǎn)生的時(shí)鐘脈沖

71、后進(jìn)行計(jì)數(shù),進(jìn)而完成溫度測量。計(jì)數(shù)門的開啟時(shí)間由高溫度系數(shù)振蕩器來決定,每次測量前,首先將-55 ℃所對應(yīng)的基數(shù)分別置入減法計(jì)數(shù)器1和溫度寄存器中,減法計(jì)數(shù)器1和溫度寄存器被預(yù)置在 -55 ℃ 所對應(yīng)的一個(gè)基數(shù)值。減法計(jì)數(shù)器1對低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行減法計(jì)數(shù),當(dāng)減法計(jì)數(shù)器1的預(yù)置值減到0時(shí)溫度寄存器的值將加1,減法計(jì)數(shù)器1的預(yù)置將重新被裝入,減法計(jì)數(shù)器1重新開始對低溫度系數(shù)晶振產(chǎn)生的脈沖

72、信號(hào)進(jìn)行計(jì)數(shù),如此循環(huán)直到減法計(jì)數(shù)器2計(jì)數(shù)到0時(shí),停止溫度寄存器值的累加,此時(shí)溫度寄存器中的數(shù)值即為所測溫度。圖2中的斜率累加器用于補(bǔ)償和修正測溫過程中的非線性,其輸出用于修正減法計(jì)數(shù)器的預(yù)置值,只要計(jì)數(shù)門仍未關(guān)閉就重復(fù)上述過程,直至溫度寄存器值達(dá)到被測溫度值,這就是DS18B20的測溫原理。</p><p>  4.3.5 時(shí)鐘電路模塊</p><p>  內(nèi)部時(shí)鐘電路如圖4.6所示,在

73、XTAL1和XTAL2引腳上外接定時(shí)元件,內(nèi)部振蕩電路就產(chǎn)生自激振蕩。定時(shí)元件通常石英晶體和電容組成的并聯(lián)諧振回路,晶體振蕩器選擇12mHZ,電容采用33PF。</p><p><b>  圖4.6 時(shí)鐘電路</b></p><p><b>  4.3.6鍵盤模塊</b></p><p>  鍵盤模塊需采用獨(dú)立式按鍵電路。

74、每個(gè)鍵單獨(dú)占有一根I/O接口線,每個(gè)I/O口的工作狀態(tài)互不影響,此類鍵盤采用端口直接掃描方式。而且在本次實(shí)驗(yàn)課設(shè)用的鍵盤很少,所以采用獨(dú)立式按鍵比較實(shí)用。</p><p><b>  圖4.7 鍵盤電路</b></p><p><b>  4.3.7復(fù)位電路</b></p><p>  影響單片機(jī)系統(tǒng)運(yùn)行穩(wěn)定性的因素可大體

75、分為外因和內(nèi)因兩部分:</p><p><b> ?。?)外因</b></p><p>  射頻干擾,它是以空間電磁場的形式傳遞在機(jī)器內(nèi)部的導(dǎo)體(引線或零件引腳)感生出相應(yīng)的干擾,可通過電磁屏蔽和合理的布線/器件布局衰減該類干擾; </p><p>  電源線或電源內(nèi)部產(chǎn)生的干擾,它是通過電源線或電源內(nèi)的部件耦合或直接傳導(dǎo),可通過電源濾波、隔離

76、等措施來衰減該類干擾 。</p><p><b> ?。?)內(nèi)因</b></p><p>  振蕩源的穩(wěn)定性,主要由起振時(shí)間頻率穩(wěn)定度和占空比穩(wěn)定度決定。起振時(shí)間可由電路參數(shù)整定穩(wěn)定度受振蕩器類型溫度和電壓等參數(shù)影響復(fù)位電路的可靠性。</p><p>  復(fù)位是單片機(jī)的初始化操作。單片機(jī)啟運(yùn)運(yùn)行時(shí),都需要先復(fù)位,其作用是使CPU和系統(tǒng)中其他部

77、件處于一個(gè)確定的初始狀態(tài),并從這個(gè)狀態(tài)開始工作。因而,復(fù)位是一個(gè)很重要的操作方式。但單片機(jī)本身是不能自動(dòng)進(jìn)行復(fù)位的,必須配合相應(yīng)的外部電路才能實(shí)現(xiàn)。</p><p>  復(fù)位電路的基本功能是:系統(tǒng)上電時(shí)提供復(fù)位信號(hào),直至系統(tǒng)電源穩(wěn)定后,撤銷復(fù)位信號(hào)。為可靠起見,電源穩(wěn)定后還要經(jīng)一定的延時(shí)才撤銷復(fù)位信號(hào),以防電源開 關(guān)或電源插頭分-合過程中引起的抖動(dòng)而影響復(fù)位。</p><p>  圖4.8

78、 RC復(fù)位電路</p><p>  4.4 蜂鳴器的結(jié)構(gòu)原理</p><p><b> ?。?)壓電式蜂鳴器</b></p><p>  壓電式蜂鳴器主要由多諧振蕩器、壓電蜂鳴片、阻抗匹配器及共鳴箱、外殼等組成。有的壓電式蜂鳴器外殼上還裝有發(fā)光二極管。</p><p>  多諧振蕩器由晶體管或集成電路構(gòu)成。當(dāng)接通電源后

79、(1.5~15V直流工作電壓),多諧振蕩器起振,輸出1.5~2.5kHZ的音頻信號(hào),阻抗匹配器推動(dòng)壓電蜂鳴片發(fā)聲。</p><p>  壓電蜂鳴片由鋯鈦酸鉛或鈮鎂酸鉛壓電陶瓷材料制成。在陶瓷片的兩面鍍上銀電極,經(jīng)極化和老化處理后,再與黃銅片或不銹鋼片粘在一起。</p><p><b> ?。?)電磁式蜂鳴器</b></p><p>  電磁式蜂

80、鳴器由振蕩器、電磁線圈、磁鐵、振動(dòng)膜片及外殼等組成。接通電源后,振蕩器產(chǎn)生的音頻信號(hào)電流通過電磁線圈,使電磁線圈產(chǎn)生磁場。振動(dòng)膜片在電磁線圈和磁鐵的相互作用下,周期性地振動(dòng)發(fā)聲。</p><p>  源蜂鳴器直接接上額定電源(新的蜂鳴器在標(biāo)簽上都有注明)就可連續(xù)發(fā)聲。</p><p><b>  5 系統(tǒng)的軟件設(shè)計(jì)</b></p><p>  

81、5.1系統(tǒng)軟件總體設(shè)計(jì) </p><p>  系統(tǒng)的軟件設(shè)計(jì)采用匯編語言,對單片機(jī)進(jìn)行編程實(shí)現(xiàn)各項(xiàng)功能。程序在WindowsXP環(huán)境下采用LCA51軟件編寫。軟件控制程序主要有主控程序、電子萬年歷的時(shí)間控制程序組成。主控程序中對整個(gè)程序進(jìn)行控制,進(jìn)行了初始化程序及計(jì)數(shù)器、還有鍵盤功能程序、以及顯示程序和時(shí)間控制程序是電子萬年歷中比較重要的部分。時(shí)間控制程序體現(xiàn)了年、月、日、時(shí)、分、秒及星期的計(jì)算方法。時(shí)間控制程序

82、主要是定時(shí)器0計(jì)時(shí)中斷程序每隔10ms中斷一次當(dāng)作一個(gè)計(jì)數(shù),每中斷一次則計(jì)數(shù)加1,當(dāng)計(jì)數(shù)100次時(shí),則表示1秒到了,秒變量加1,同理再判斷是否1分鐘到了,再判斷是否1小時(shí)到了,再判斷是否1天到了,再判斷是否1月到了,再判斷是否1年到了,若計(jì)數(shù)到了則相關(guān)變量清除0。先給出一般年份的每月天數(shù)。如果是閏年,第二個(gè)月天數(shù)不為28天,而是29天。閏年的判斷規(guī)則為,如果該年份是4或100的整數(shù)倍或者是400的整數(shù)倍,則為閏年;否則為非閏年。 <

83、;/p><p>  5.2 公歷與星期的換算方法</p><p>  在現(xiàn)行公歷中,歷年的長度365天(平年)或者366天(閏年)都不是七的整數(shù)倍,所以日期與星期之間沒有明顯的對應(yīng)關(guān)系。一般情況下,不看日歷牌就無法知道某月某日是星期幾。不過,它們之間還是有一定規(guī)律可循的,只要經(jīng)過簡單計(jì)算,或者查找表格,就可以知道與任何日期相對應(yīng)的星期數(shù)。這里列出兩種方法供讀者選用。 </p>&

84、lt;p> ?。?)公式法:設(shè)y麥?zhǔn)竟陻?shù),d表示從1月1日起算的日數(shù)。</p><p>  首先求出1月0日(即上一年12月31日)的星期序數(shù),然后與日數(shù)d相加,其和用7除,余數(shù)就是答案。為了推導(dǎo)公式,我們想一想,第一年1月0日的星期序數(shù)與第二年1月0日的星期序數(shù)有什么關(guān)系?平年365天,等于52個(gè)星期零1天,所以第二年1月0日的星期序數(shù)比第一年的多l(xiāng),但這個(gè)l已包含在y中了,因?yàn)榈诙甑哪陻?shù)y比第一年

85、大1;閏年366天,等于52個(gè)星期零二天,所以第二年1月0日的星期序數(shù)等于第一年(閏年)的星期序數(shù)加2,除了y中包含的1外,還需加修正值1。根據(jù)這些道理我們可以推得三個(gè)公式,將式中S用7除,余數(shù)就表示星期幾。</p><p>  從公元1900年1月1日到公元210I年1月1日之間這201年,可用公式:</p><p>  S = y-1900 + [(y-1901)/4] + d 方

86、括號(hào)表示取商的整數(shù)部分,對于1900年~1904年這五年方括號(hào)值為0。這個(gè)公式是這樣來的:1900年1月0日(即1899年12月31日)是星期天。這年是平年,以后直到2100年前都是每隔4年一閏,閏年多出的那一天,影響到下一年1月0日的星期序數(shù),并不影響閏年本身,閏年產(chǎn)生的修正值應(yīng)加到下一年上去,所以〔(y-1901)/4〕中,計(jì)算時(shí)用190l而不是1900。</p><p>  例:求2000年12月31日是星

87、期幾?</p><p>  2000年是閏年,從1月1日算起,12月31日是第366天,所以d=366。根據(jù)公式有:</p><p>  S=2000-1900 +〔(2000-1901)/4〕+ 366</p><p> ?。?00 +〔99/4〕+ 366</p><p> ?。絣00 + 24 + 366</p><

88、p><b> ?。?90</b></p><p>  490為7的整數(shù)倍,即余數(shù)為0,所以2000年12月31日為星期日。</p><p> ?。?)更普遍的公式為:</p><p>  s=v-1 +〔(y-1/4〕-〔(y-1/100〕+〔(y-1/400〕+ d</p><p>  對于這個(gè)公式,我們不妨這樣

89、考慮:公歷400年中有97個(gè)閏年,共365×400 + 97 =146.097天,146,097=20,871× 7,即正好是7的整數(shù)倍。這表明某年某月某日所對應(yīng)的星期序數(shù)與四百年前同月同日所對應(yīng)的星期序數(shù)完全相同。前邊例中我們已算出公元2001年1月0日(即2000年12月31日)是星期日,那么,公元1601年、1201年……以及公元1年的1月0日都是星期日。假如每個(gè)歷年都是365天的話,那么,由于公元1年1月0日

90、是星期日,只要公式S=y(tǒng)-1 + d就可以了,但實(shí)際上閏年是366天,所以我們必須根據(jù)閏年的有關(guān)規(guī)定進(jìn)行修正?!?y-1)/4〕是四年一閨產(chǎn)生的修正值。如果只取這一個(gè)修正項(xiàng),就會(huì)多修正以至造成錯(cuò)誤,這是因?yàn)?,根?jù)公歷的規(guī)定,逢百之年雖然能被4整除,卻不一定是閏年,所以必須減去多修正的值,它等于〔(y-1/100)〕。如果逢百之年都是平年,只要這兩個(gè)修正項(xiàng)也就可以了??墒?,公元年數(shù)能被400整除的年(當(dāng)然也一定能被100整除)仍是閏年,所

91、以還必須加上〔(y-1/400)〕。這個(gè)修正項(xiàng)才行。方括號(hào)中之所以用y-1而不用y,是由于修正值是加到閏年的下一年</p><p><b>  5.3 程序流程圖</b></p><p>  系統(tǒng)軟件設(shè)計(jì)主要包括主程序設(shè)計(jì)、日期數(shù)據(jù)采集子模塊程序設(shè)計(jì)、時(shí)間調(diào)整程序設(shè)計(jì)和顯示子模塊程序設(shè)計(jì)等。主程序主要完成器件的初始化,并判斷有無按鍵按下,并根據(jù)判斷的結(jié)果調(diào)用相應(yīng)的子模

92、塊程序;日期數(shù)據(jù)采集子模塊程序完成相應(yīng)的數(shù)據(jù)采集、處理和保存,按鍵處理子模塊程序完成日期的設(shè)置,而顯示子模塊程序只要把上述子模塊儲(chǔ)存的數(shù)據(jù)送去顯示即可。</p><p>  圖5.1 主程序流程圖</p><p>  圖5.2 時(shí)間調(diào)整程序流程圖</p><p><b>  結(jié) 論</b></p><p>  制作這

93、次課程設(shè)計(jì)一切都是從零開始,從最簡單的畫流程圖起步,這次課程設(shè)計(jì)可以圓滿完成,跟單片機(jī)課程里面的課外作業(yè)是離不開的。這次課程設(shè)計(jì)從開始到制作成功前后超過了一個(gè)星期。當(dāng)電子萬年歷可以成功實(shí)現(xiàn)時(shí),那種激動(dòng)和喜悅只有自己可以體會(huì)。</p><p>  在整個(gè)設(shè)計(jì)過程中,充分發(fā)揮人的主觀能動(dòng)性,自主學(xué)習(xí),學(xué)到了許多沒學(xué)到的知識(shí)。較好的完成了設(shè)計(jì),達(dá)到了預(yù)期的目的,完了最初的設(shè)想。對電路的設(shè)計(jì)、布局要先有一個(gè)好的構(gòu)思,才顯

94、得電路板美觀、大方。程序編寫中,由于思路不清晰,開始時(shí)遇到了很多的問題,經(jīng)過靜下心來思考,和同學(xué)討論,理清了思路,反而得心應(yīng)手。在此次設(shè)計(jì)中,知道了做凡事要有一顆平常的心,不要想著走捷徑,一步一腳印。也練就了我的耐心,做什么事都在有耐心。此次課程設(shè)計(jì)中學(xué)到了很多很多東西,這是最重要的??傊?,此次課設(shè)使我的能力得到了全方位的提高,使得我的操作能力和專業(yè)技能都有了很大的提高。</p><p><b>  致

95、 謝</b></p><p>  本論文是在都洪基導(dǎo)師的悉心指導(dǎo)下完成的。 都老師淵博的知識(shí)和對本課題深刻的見解不僅拓寬了我的思路, 更是我能夠順利完成論文的保障。 老師豐富的專業(yè)知識(shí),嚴(yán)謹(jǐn)?shù)膶W(xué)術(shù)作風(fēng), 廣闊的視野以及平易近人的生活態(tài)度給我留下了深刻的印象。 在撰寫論文的每個(gè)階段都離不開老師的幫助, 在此論文完成之際, 謹(jǐn)向都老師致以誠摯的敬意和深深的感謝。</p><p>

96、  在做課程設(shè)計(jì)的日子里得到了很多同學(xué)的幫助,在此向他們致以誠摯的謝意。感謝提供相關(guān)技術(shù)幫助的老師和同學(xué),你們的支持和鼓勵(lì)使我對這次的設(shè)計(jì)完成有了信心和動(dòng)力,我在此深表謝意。</p><p><b>  參考文獻(xiàn)</b></p><p>  [1] 于永學(xué),葛健.1-WIRE總線數(shù)字溫度傳感器DS18B20及應(yīng)用[J].電子產(chǎn)品世界,2003(4):16-24.<

97、;/p><p>  [2] 馬云峰,陳子夫,李全培.數(shù)字溫度傳感器DS18B20的原理與應(yīng)用[EB/OL]:1-25.</p><p>  [3] 胡振宇,劉魯源,杜振輝.DS18B20接口的C語言程序設(shè)計(jì)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2002:24-43.</p><p>  [4] 李鋼.1-WIRE總線數(shù)字溫度傳感器DS18B20原理及應(yīng)用.現(xiàn)代電子技術(shù)[J],

98、2005(8):21-23.</p><p>  [5] 閻石.《數(shù)字電子技術(shù)基礎(chǔ)》(第三版)[M].高等教育出版社,1989:19-67.</p><p>  [6] 陳躍東.DS18B20集成溫度傳感器原理與應(yīng)用[J].安徽:安徽教育出版社,2002(4):5-23.</p><p>  [7] 李廣弟.《單片機(jī)基礎(chǔ)》[M].北京:北京航空航天大學(xué)出版社,199

99、4:1-56.</p><p>  [8]T.Someya, J.Small, P.Kim,C.Nuckolls, J.T.Yardley.Alcohol vapor sensors based on single-walled carbon nanotube field effect transistors[M].Nano Letters,2003.</p><p><b> 

100、 附錄1:</b></p><p>  #include <REG51.H></p><p>  #include <intrins.h></p><p>  #include "LCD1602.h"</p><p>  #include "DS1302.h"<

101、/p><p>  #define uint unsigned int</p><p>  #define uchar unsigned char</p><p>  sbit DS1302_CLK = P1^7; //實(shí)時(shí)時(shí)鐘時(shí)鐘線引腳 </p><p>  sbit DS1302_IO = P1^6;

102、 //實(shí)時(shí)時(shí)鐘數(shù)據(jù)線引腳 </p><p>  sbit DS1302_RST = P1^5; //實(shí)時(shí)時(shí)鐘復(fù)位線引腳</p><p>  sbit ACC0 = ACC^0;</p><p>  sbit ACC7 = ACC^7;</p><p>  char hide_sec,hide_mi

103、n,hide_hour,hide_day,hide_week,hide_month,hide_year; //秒,分,時(shí)到日,月,年位閃的計(jì)數(shù)</p><p>  sbit Set = P2^0; //模式切換鍵</p><p>  sbit Up = P2^1; //加法按鈕</p><p>  sbit Down = P2^2;

104、 //減法按鈕</p><p>  sbit out = P2^3; //立刻跳出調(diào)整模式按鈕</p><p>  char done,count,temp,flag,up_flag,down_flag;</p><p>  uchar TempBuffer[5],week_value[2];</p><p>  void sh

105、ow_time(); //液晶顯示程序</p><p>  /***********1602液晶顯示部分子程序****************/</p><p>  //Port Definitions**********************************************************</p><p>  sbit LcdRs

106、= P2^5;</p><p>  sbit LcdRw= P2^6;</p><p>  sbit LcdEn = P2^7;</p><p>  sfr DBPort = 0x80;//P0=0x80,P1=0x90,P2=0xA0,P3=0xB0.數(shù)據(jù)端口</p><p><b>  //內(nèi)部等待函數(shù)<

107、/b></p><p>  //**************************************************************************</p><p>  unsigned char LCD_Wait(void)</p><p>  {LcdRs=0;LcdRw=1;_nop_();LcdEn=1;_nop_(

108、);LcdEn=0;return DBPort;}</p><p>  //向LCD寫入命令或數(shù)據(jù)</p><p>  //************************************************************</p><p>  #define LCD_COMMAND0 // Command</p>

109、<p>  #define LCD_DATA1 // Data</p><p>  #define LCD_CLEAR_SCREEN0x01 // 清屏</p><p>  #define LCD_HOMING 0x02 // 光標(biāo)返回原點(diǎn)</p><p>  void LCD_Write(bit style

110、, unsigned char input)</p><p>  {LcdEn=0;LcdRs=style;LcdRw=0;_nop_();DBPort=input;_nop_();//注意順序</p><p>  LcdEn=1;_nop_();//注意順序</p><p>  LcdEn=0;_nop_();LCD_Wait();</p&g

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論