基于單片機(jī)的電子萬(wàn)年歷的設(shè)計(jì)畢業(yè)設(shè)計(jì)_第1頁(yè)
已閱讀1頁(yè),還剩43頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p> 學(xué)號(hào):</p><p> 畢業(yè)設(shè)計(jì)</p><p> 題 目 :基于單片機(jī)的電子萬(wàn)年歷的設(shè)計(jì)</p><p> 作 者屆 別</p><p> 院 別物理與電子學(xué)院專 業(yè)電子科學(xué)與技術(shù)</p><p> 指導(dǎo)老師職 稱講 師</p><p> 

2、完成時(shí)間2013年5月</p><p><b>  摘 要</b></p><p>  智能電子萬(wàn)年歷系統(tǒng)是由硬件與軟件相結(jié)合而設(shè)計(jì),而它是以AT89C55單片機(jī)作為主控核心與時(shí)鐘電路、顯示電路、復(fù)位電路、振蕩電路、報(bào)警鬧鈴電路、溫度檢測(cè)電路、獨(dú)立鍵盤電路等模塊組成硬件系統(tǒng),其中時(shí)鐘電路采用了時(shí)鐘芯片DS12887,顯示電路采用了LCD1602液晶顯示,溫度檢測(cè)電路

3、采用了DS18B20溫度傳感器;而軟件使用了Keil軟件進(jìn)行C語(yǔ)言編程、Proteus軟件進(jìn)行仿真測(cè)試,Altium Designer軟件進(jìn)行原理設(shè)計(jì)。系統(tǒng)采用直觀的數(shù)字顯示,可以同時(shí)顯示年、月、日、周日、時(shí)、分、秒和溫度等信息,且具有整點(diǎn)報(bào)時(shí)、時(shí)間校準(zhǔn)及設(shè)置鬧鐘等功能。</p><p>  關(guān)鍵詞:?jiǎn)纹瑱C(jī)AT89C55 ;時(shí)鐘電路;電子萬(wàn)年歷;液晶顯示 </p><p><b>

4、;  Abstract</b></p><p>  The design of Intelligent electronic calendar system is composed of hardware and software, and it is based on AT89C55 microcontroller as the master core .It is Composed of cloc

5、k circuit, display circuit, reset circuit, oscillation circuit, alarm alarm circuit, temperature detection circuit, keyboard circuit module hardware. the clock circuit using the clock chip DS12887, the display circuit di

6、splays useing LCD1602 liquid crystal, temperature detection circuit using DS18B20 temperature sensor; It</p><p>  keyword : MCU AT89C55; clock circuit; electronic calendar; liquid crystal display.</p>

7、<p><b>  目錄</b></p><p><b>  第一章 引言1</b></p><p>  1.1 發(fā)展?fàn)顩r1</p><p>  1.2 選題意義與目的1</p><p>  1.3 功能要求2</p><p>  第二章 設(shè)計(jì)方案分析

8、與選擇3</p><p>  2.1 主控核心(單片機(jī))3</p><p>  2.2 溫度芯片4</p><p>  2.3 時(shí)鐘芯片5</p><p>  2.4 顯示器件5</p><p>  第三章 系統(tǒng)硬件設(shè)計(jì)6</p><p>  3.1 單片機(jī)最小系統(tǒng)設(shè)計(jì)6</

9、p><p>  3.2 溫度電路的設(shè)計(jì)8</p><p>  3.3 時(shí)鐘電路的設(shè)計(jì)10</p><p>  3.4 顯示電路的設(shè)計(jì)11</p><p>  3.5 鍵盤電路的設(shè)計(jì)12</p><p>  3.6 報(bào)警電路的設(shè)計(jì)13</p><p>  第四章 系統(tǒng)軟件設(shè)計(jì)14</

10、p><p>  4.1 系統(tǒng)總程序14</p><p>  4.2 溫度模塊程序14</p><p>  4.3 時(shí)鐘模塊程序16</p><p>  4.4 顯示模塊程序20</p><p>  4.5 鍵盤及其它模塊程序21</p><p>  第五章 調(diào)試與仿真24</p&g

11、t;<p>  5.1 Proteus軟件簡(jiǎn)介24</p><p>  5.2 仿真與調(diào)試步驟24</p><p><b>  第六章 總結(jié)28</b></p><p><b>  參考文獻(xiàn)29</b></p><p><b>  致謝30</b>&l

12、t;/p><p><b>  附錄I:系統(tǒng)原理圖</b></p><p>  附錄II:系統(tǒng)源程序</p><p><b>  第一章 引言</b></p><p><b>  1.1 發(fā)展?fàn)顩r</b></p><p>  隨著人們生活水平的提高和生活節(jié)奏的

13、加快,對(duì)時(shí)間的要求越來(lái)越高,精準(zhǔn)數(shù)字計(jì)時(shí)的消費(fèi)需求也是越來(lái)越多。二十一世紀(jì)的今天,最具代表性的計(jì)時(shí)產(chǎn)品就是電子萬(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ù)的應(yīng)用(電子萬(wàn)年歷),使

14、計(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)步。近些年,隨著科技的發(fā)展和社會(huì)的進(jìn)步,人們對(duì)數(shù)字鐘的要求也越來(lái)越高,傳統(tǒng)的時(shí)鐘已不能滿足人們的需求。多功能數(shù)字鐘不管在性能還是在樣式上都發(fā)生了質(zhì)的變化,有電子鬧鐘、數(shù)字鬧鐘等等。

15、單片機(jī)在多功能數(shù)字鐘中的應(yīng)用已是非常普遍的,人們對(duì)數(shù)字鐘的功能及工作順序都非常熟悉。但</p><p>  1.2 選題意義與目的 </p><p>  現(xiàn)在是一個(gè)知識(shí)爆炸的新時(shí)代,新產(chǎn)品、新技術(shù)層出不窮,電子技術(shù)的發(fā)展更是日新月異。可以毫不夸張的說(shuō),電子技術(shù)的應(yīng)用無(wú)處不在,電子技術(shù)正在不斷地改變我們的生活,改變著我們的世界,改變著我們的觀念,傳統(tǒng)的時(shí)鐘已不能滿足人們的需求。而數(shù)字化的鐘表

16、給人們帶來(lái)了極大的方便。由于單片機(jī)具有靈活性強(qiáng)、成本低、功耗低、保密性好等特點(diǎn),所以電子日歷時(shí)鐘一般都以單片機(jī)為核心,外加一些外圍設(shè)備來(lái)實(shí)現(xiàn)。而隨著科學(xué)技術(shù)的高速發(fā)展,微電子技術(shù)的突飛猛進(jìn),人們?cè)O(shè)計(jì)出更加便捷和更加精確的電子萬(wàn)年歷。它不僅能對(duì)年、月、日、時(shí)、分、秒、星期進(jìn)行計(jì)時(shí),更能進(jìn)行閏年補(bǔ)償、溫度顯示、整點(diǎn)報(bào)時(shí)、時(shí)間校準(zhǔn)以及鬧鐘設(shè)置等多種功能,而且產(chǎn)生的誤差極小,使用壽命極長(zhǎng)。因此采用電子時(shí)鐘(萬(wàn)年歷)是一種趨勢(shì),更是一種時(shí)尚。&l

17、t;/p><p>  本系統(tǒng)采用了以廣泛使用的單片機(jī)技術(shù)為核心,軟硬件結(jié)合,并采用獨(dú)立鍵盤電路、LCD顯示電路、時(shí)鐘電路、溫度檢測(cè)電路,使硬件部分大為簡(jiǎn)化,提高了系統(tǒng)穩(wěn)定性,能顯示豐富的信息,此萬(wàn)年歷具有功能多樣、電路簡(jiǎn)潔、讀取方便、顯示直觀、電路簡(jiǎn)潔、操作容易、功耗低、成本低廉等多項(xiàng)優(yōu)點(diǎn),適合批量生產(chǎn),符合電子儀器儀表的未來(lái)發(fā)展趨勢(shì),具有廣闊的市場(chǎng)前景。</p><p><b> 

18、 1.3功能要求</b></p><p>  1.系統(tǒng)采用直觀的數(shù)字顯示,可以同時(shí)顯示年、月、日、周日、時(shí)、分、秒溫度等信息,且具有時(shí)間校準(zhǔn)等功能(設(shè)計(jì)要求)。</p><p>  2. 利用PROTEL軟件進(jìn)行電路設(shè)計(jì)及用Proteus進(jìn)行電路仿真(設(shè)計(jì)要求)。</p><p>  3.具有響鈴及整點(diǎn)通知功能(創(chuàng)新要求)。</p><

19、;p>  4.具有上電各模塊自檢及高溫二級(jí)報(bào)警功能(創(chuàng)新要求)。</p><p>  第二章 設(shè)計(jì)方案分析與選擇</p><p>  萬(wàn)年歷的設(shè)計(jì)有多種方法,可供選擇的元器件豐富多樣,可運(yùn)用的技術(shù)也有很多種。所以,系統(tǒng)總體設(shè)計(jì)方案應(yīng)在滿足功能要求的前提下,充分的考慮系統(tǒng)的使用環(huán)境,所選的結(jié)構(gòu)要操作方便、易于實(shí)現(xiàn),元器件的選用著重于合適的參數(shù)、穩(wěn)定的性能、較低的功耗以及低廉的成本等多種

20、因素,同時(shí)緊跟時(shí)代腳步。因此,本文提出了基于AT89系列單片機(jī)的智能電子萬(wàn)年歷設(shè)計(jì)的方案,此次設(shè)計(jì)以單片機(jī)作為主控核心,與溫度芯片、時(shí)鐘芯片、顯示等模塊組成硬件系統(tǒng)。針對(duì)這四大主要模塊,對(duì)一下芯片進(jìn)行分析與選擇。</p><p>  2.1主控核心(單片機(jī))</p><p>  本方案在主控核心方面采用的是AT89系列,AT89 系列是美國(guó)Atmel公司生產(chǎn)的cmos 單片機(jī),片內(nèi)含有可多

21、次擦寫的只可讀取程序存儲(chǔ)器(PEROM)和隨機(jī)的可存取數(shù)據(jù)的存儲(chǔ)器(RAM),器件采用的生產(chǎn)技術(shù)是Atmel公司高密度的、非易失的存儲(chǔ)技術(shù),兼容了標(biāo)準(zhǔn)的mcs-51指令系統(tǒng);其內(nèi)部含有通用的8位(中央)處理器CPU和存儲(chǔ)器(Flash存儲(chǔ)單元)功能強(qiáng)大AT89系列單片機(jī)可以生產(chǎn)高性價(jià)比的產(chǎn)品用于各種場(chǎng)合,因其靈活性強(qiáng)常常應(yīng)用于多種控制領(lǐng)域。在AT89系列單片機(jī)中首先考慮用AT89C51,它是一款優(yōu)秀的、功能強(qiáng)大單片機(jī),但是只讀程序數(shù)據(jù)存

22、儲(chǔ)器(ROM)只有4K,而本次設(shè)計(jì)的程序比較大超過(guò)了10K,若要用它就要接 擴(kuò)展儲(chǔ)存器,這必定會(huì)增加產(chǎn)品的費(fèi)用,也會(huì)使設(shè)計(jì)的電路變得復(fù)雜,因此,不符合我的設(shè)計(jì)要求,從設(shè)計(jì)的程序看可以選擇AT89C53 和AT89C54,然考慮的Proteus仿真元器件庫(kù)中沒有這兩款單片機(jī),綜合考慮可以采用AT89C55,從表2—1來(lái)看,這款單片機(jī)完全符合設(shè)計(jì)要求。</p><p>  這個(gè)AT89C55是一種低功耗,高性能的8位

23、CMOS單片機(jī),提供以下標(biāo)準(zhǔn)功能:20k字節(jié)Flash閃速存儲(chǔ)器,256字節(jié)內(nèi)部RAM,4個(gè)(P0、P1、P2、P3)8字節(jié)端口,三個(gè)16位定時(shí)/計(jì)數(shù)器, 6向量?jī)杉?jí)中斷結(jié)構(gòu),一個(gè)全雙工串行通信口,片內(nèi)振蕩器及時(shí)鐘電路。同時(shí),AT89C55可降至零頻率的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式??臻e方式停止CPU的工作,但允許RAM,定時(shí)/計(jì)數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM中的內(nèi)容,但振蕩器停止工作并禁止其它

24、所有部件工作直到下一個(gè)硬件復(fù)位。它有多種封裝方式,本設(shè)計(jì)采用DIP—40直插式封裝的AT89C55。</p><p>  表2—1兩種單片機(jī)的比較</p><p><b>  2.2溫度芯片</b></p><p>  溫度是常見的測(cè)量與控制量之一,其實(shí)時(shí)測(cè)控遍布各行各業(yè)。它通常是通過(guò)溫度傳感器來(lái)測(cè)量,在眾多的溫度傳感器中,可分兩類即模擬溫度傳

25、感器與數(shù)字溫度傳感器,本次設(shè)計(jì)的電子萬(wàn)年歷為了簡(jiǎn)潔硬件電路簡(jiǎn)潔、系統(tǒng)穩(wěn)定性、易于實(shí)現(xiàn)。可采用數(shù)字溫度傳感器,DS18B20是美國(guó)Dallas公司推出的數(shù)字溫度傳感器之一, 采用3腳(或8腳)TO—92封裝形式,DQ(2腳)為數(shù)字信號(hào)輸入/輸出端,GND(1腳)為電源地,VDD(3腳)為外接供電電源輸入端。與傳統(tǒng)的熱敏電阻等測(cè)溫元件相比,它能直接讀出被溫度。不需用A/D轉(zhuǎn)換電路,減少了硬件成本,感溫特性曲線是嚴(yán)格線性的,不會(huì)產(chǎn)生較大的測(cè)量

26、誤差。提供9 位(二進(jìn)制)溫度讀數(shù)指示器件的溫度信息經(jīng)過(guò)單線接口送入DS18B20或從 DS18B20送出,因此,從主機(jī)CPU 到DS18B20僅需一條線。主要特點(diǎn):不需要備份電源,可通過(guò)DQ供電;單線接口,只有一根信號(hào)線與CPU連接,電路簡(jiǎn)單;傳送串行數(shù)據(jù);用戶可設(shè)定報(bào)警上下限值;零功耗待機(jī);多個(gè)DS18B20可以很方便地以串行方式與PC或單片機(jī)連接,實(shí)現(xiàn)多點(diǎn)檢測(cè);抗干擾性強(qiáng),適合于惡劣環(huán)境的現(xiàn)場(chǎng)溫度測(cè)量。因此,DS18B20完<

27、;/p><p><b>  2.3時(shí)鐘芯片</b></p><p>  萬(wàn)年歷的設(shè)計(jì)可以直接采用單片機(jī)定時(shí)計(jì)數(shù)器的定時(shí)它能提供比較精確秒信號(hào),使用程序?qū)崿F(xiàn)年、月、日、時(shí)、分、秒、星期計(jì)數(shù)以及時(shí)間的校準(zhǔn),鬧鐘的設(shè)置。采用此種方案雖然減少芯片的使用,達(dá)到電路簡(jiǎn)潔、節(jié)約成本,但是,實(shí)現(xiàn)的時(shí)間誤差較大,不符合實(shí)際情況。所以不采用此方案。本設(shè)計(jì)將采用DS2887時(shí)鐘芯片來(lái)實(shí)現(xiàn)時(shí)鐘,

28、DS12887 為DALLAS公司最新推出的的實(shí)時(shí)時(shí)鐘芯片,除具有實(shí)時(shí)鐘功能外,它還具有128字節(jié)的通用RAM其中14個(gè)作為字節(jié)時(shí)鐘和控制寄存器,114字節(jié)為通用RAM,所有ARAM單元數(shù)據(jù)都具有掉電保護(hù)功能。采用CMOS技術(shù)制成,把時(shí)鐘芯片所需的晶振和外部鋰電池相關(guān)電路集于芯片內(nèi)部,計(jì)秒、分、時(shí)、天、星期、日、月、年,并有閏年補(bǔ)償功能,二進(jìn)制數(shù)碼或BCD碼表示時(shí)間、日歷和定鬧。12小時(shí)或24小時(shí)制,12小時(shí)時(shí)鐘模式帶有PM和AM指導(dǎo),

29、有夏令時(shí)功能。中斷信號(hào)輸出(IRQ)和總線兼容,定鬧中斷、周期性中斷、時(shí)鐘更新周期結(jié)束中斷可分別由軟件屏蔽,也可分別進(jìn)行測(cè)試。采用DS12887芯片設(shè)計(jì)的時(shí)鐘電路勿需其它外圍電路并具有良好的微機(jī)接口。DS12887芯片具有微功耗、外圍接口簡(jiǎn)單、精度高、工作穩(wěn)</p><p><b>  2.4顯示器件</b></p><p>  數(shù)據(jù)的顯示有多種方式可使用(點(diǎn)陣式的或

30、LED的動(dòng)態(tài)掃描)數(shù)碼管或(LCD)液晶來(lái)顯示,點(diǎn)陣式的數(shù)碼管由64個(gè)發(fā)光的二極管(八行八列)構(gòu)成,用于顯示一些文字會(huì)很適合,而用來(lái)顯示數(shù)字實(shí)在浪費(fèi),并且價(jià)格是較高,故不使用它來(lái)顯示。而(LED數(shù)碼管)動(dòng)態(tài)掃描的顯示,使用簡(jiǎn)單,操作方便,顯示直觀,并且(LED)數(shù)碼管的價(jià)格也比較適中,對(duì)于顯示數(shù)字最合適,而且采用動(dòng)態(tài)掃描法與單片機(jī)連接時(shí),占用的單片機(jī)口線少,但是,由于顯示的位數(shù)比較多,若采用它將要使用4塊74HC573芯片,這無(wú)疑會(huì)增加

31、成本,重點(diǎn)是會(huì)使電路復(fù)雜化,操作繁瑣,不滿足設(shè)計(jì)要求。所以也不采用了LED數(shù)碼管作為顯示。采用LCD液晶顯示屏,液晶顯示屏的顯示功能強(qiáng)大,可顯示大量文字,圖形,顯示多樣,清晰可見,易于控制,電路簡(jiǎn)潔,缺點(diǎn)是價(jià)格比較貴,但總的來(lái)說(shuō),是最符合設(shè)計(jì)要求,所以在此設(shè)計(jì)中采用LCD液晶顯示屏。</p><p>  第三章 系統(tǒng)硬件設(shè)計(jì)</p><p>  本系統(tǒng)的硬件設(shè)計(jì)采用的是自頂向下設(shè)計(jì)模式,頂

32、層開始,連續(xù)地逐層向下分解,起到系統(tǒng)的所有模塊都小到便于掌握為止。因此,本系統(tǒng)設(shè)計(jì)了9大模塊,分別是主控核心(AT89C55)模塊、DS12887模塊、DS18B20模塊、LCD顯示模塊、復(fù)位電路模塊、報(bào)警響鈴模塊、電源模塊、獨(dú)立鍵盤模塊、振蕩電路模塊。通過(guò)AT89C55讀取時(shí)鐘芯片的時(shí)間和溫度芯片的溫度,用LCD1602來(lái)顯示,并可以通過(guò)初始化時(shí)鐘芯片和鍵盤設(shè)置鬧鈴時(shí)間.系統(tǒng)總框圖如:圖3—1。原理圖見附錄一。</p>

33、<p><b>  圖3-1系統(tǒng)總框圖</b></p><p>  3.1單片機(jī)最小系統(tǒng)設(shè)計(jì)</p><p>  3.1.1單片機(jī)最小系統(tǒng)原理圖</p><p>  單片機(jī)的最小系統(tǒng)是指由最基本的電路元器件組成,外接部分簡(jiǎn)單的電路就能獨(dú)立完成一定的工作任務(wù)的單片機(jī)系統(tǒng)。55單片機(jī)的最小系統(tǒng)包括單片機(jī)芯片、電源、時(shí)鐘電路和復(fù)位電路組成,

34、如圖3—2。</p><p>  3.1.2主控核心的功能</p><p>  主控核心AT89C55單片機(jī)總共有40個(gè)引腳,其中包含4組8位的I/O口;RST、ALE/PROG、XTAL1、 XTAL2、VSS、GND、EA/VPP、PSEN各一個(gè)。各引腳的功能說(shuō)明如下:XTAL1/XTAL2:放大器的輸入端/輸出端;PSEN:程序存儲(chǔ)允許(PSEN)輸出是外部程序存儲(chǔ)器的讀選通信號(hào),此

35、設(shè)計(jì)中沒有用到片外存儲(chǔ)器,因此不用管;RST引腳出現(xiàn)兩個(gè)機(jī)器周期以上的高電平將使單片機(jī)復(fù)位;EA:雙功能控制端口,下設(shè)計(jì)中沒用片外存儲(chǔ)器,所以直接接電源;ALE/PROG:在訪問(wèn)外部程序存儲(chǔ)器時(shí),不讀取片外時(shí)以時(shí)鐘</p><p>  圖3—2單片機(jī)最小系統(tǒng)的原理圖</p><p>  振蕩頻率的1/6輸出固定的正脈沖信號(hào),故它可以對(duì)外輸出時(shí)序或用于定時(shí)。P0口即可用地址/數(shù)據(jù)總線復(fù)用口,

36、有可作通用的I/O口使用。它是一組8位漏極開路型雙向I/O口作為輸出口用時(shí)。P2是一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O端口,它即可作通用的I/O口使用,也可與P0口相配合,作為片外存儲(chǔ)器的高8位地址總線。它可以根據(jù)系統(tǒng)要求,可全部當(dāng)做于I/O口使用,也可以全部當(dāng)做地址總線使用,或者部分作地</p><p>  表3-1單片機(jī)第二功能圖</p><p>  址總線使用部分作I/O口使用,用戶自

37、己靈活使用。P1主要用于單片機(jī)的用戶的控制量的輸入或數(shù)據(jù)的輸出,它是一個(gè)通用準(zhǔn)雙向I/O口,但它與AT89C51略有區(qū)別,它的P1.0與P1.1有第二功能。P3口即可作通用的I/O口使用,但常使用的是其第二功能。其第二功能如表3-1所示。</p><p>  3.1.3最小系統(tǒng)的晶振電路</p><p>  此電路用來(lái)產(chǎn)生時(shí)鐘信號(hào),以提供單片機(jī)內(nèi)部各種數(shù)字邏輯電路的工作的時(shí)間基準(zhǔn)。55單片

38、機(jī)可內(nèi)部振蕩方式和外部振蕩方式兩種電路形式,本設(shè)計(jì)采用的是內(nèi)部振蕩方式。單片機(jī)的內(nèi)部XTAL1(19腳)與XTAL2(18腳)之間有一個(gè)高增益的放大器,在19腳和18腳外接諧振電路,就構(gòu)成內(nèi)部振蕩方式的自激振蕩器,并產(chǎn)生時(shí)鐘脈沖,本次設(shè)計(jì)的單片機(jī)工作頻率為12MHz,振蕩頻率由晶振的諧振頻率來(lái)確定,電容器C1、C2起穩(wěn)定頻率、快速起振的作用,其電容值為30pF,設(shè)計(jì)電路時(shí)應(yīng)將C1、C2盡量靠近單片機(jī)芯片,由于內(nèi)部振蕩方式電路簡(jiǎn)單,信號(hào)穩(wěn)

39、定,是獨(dú)立的單片機(jī)系統(tǒng)首選。</p><p>  3.1.4最小系統(tǒng)的復(fù)位電路和電源</p><p>  單片機(jī)的復(fù)位電路的設(shè)計(jì),其第9引腳為復(fù)位輸入端, 20引腳為接地端,40引腳為電源端.此系統(tǒng)的的復(fù)位電復(fù)位路設(shè)計(jì)兩種情況,一為上電復(fù)位電路,一為手動(dòng)復(fù)位。這種設(shè)計(jì)比單一的上電復(fù)位更符合實(shí)際,也是操作方便。電源的連接,把單片機(jī)20引腳接地,單片機(jī)40引腳接+5V電壓,完成電源的連接。&l

40、t;/p><p>  3.2溫度電路的設(shè)計(jì)</p><p>  3.2.1.DS18B20測(cè)溫原理</p><p>  測(cè)溫原理如圖3-3所示,由于DS18B20的晶振的振蕩頻率是低溫度系數(shù)的,因此在受到溫度的影響時(shí)變化較小,故它可用于當(dāng)作穩(wěn)定頻率,而減法計(jì)數(shù)器1的脈沖信號(hào)可以由它可提供,由于它的的晶振的振蕩頻率在高溫系數(shù)時(shí)隨溫度變化很明顯,故產(chǎn)生的脈沖信號(hào)可作為減法計(jì)

41、數(shù)器2的脈沖信號(hào)輸入,從原理圖看,還含有計(jì)數(shù)門,當(dāng)計(jì)數(shù)門打開時(shí),DS18B20溫度傳感器就對(duì)低溫度系數(shù)振蕩器生成的時(shí)鐘脈沖進(jìn)行計(jì)數(shù),從而實(shí)現(xiàn)環(huán)境溫度的檢測(cè)。計(jì)數(shù)門開啟的時(shí)間是由(高溫系數(shù))振蕩器來(lái)確定,在每次檢測(cè)之前,先將基準(zhǔn)溫度-55 ℃存入溫度的寄存器和減法計(jì)數(shù)器1中,使溫度寄存器與減法計(jì)數(shù)器1被初始化,低溫系數(shù)的晶振產(chǎn)生的脈沖信號(hào)由減法計(jì)數(shù)器1進(jìn)行減法計(jì)數(shù),當(dāng)其值減至0時(shí),溫度寄存器中的數(shù)值將進(jìn)行加1操作,而減法計(jì)數(shù)器1將重新賦值

42、,它又重新開始對(duì)低溫系數(shù)振蕩器產(chǎn)生的信號(hào)脈沖進(jìn)行計(jì)數(shù),一直重復(fù)下去直到(減法)計(jì)數(shù)器2中的值減到0時(shí),終止溫度寄存器中的數(shù)值的增加,此時(shí)它內(nèi)部的數(shù)值就是所檢測(cè)的溫度值。測(cè)溫過(guò)程產(chǎn)生的非線性變化就靠其內(nèi)部的斜率累加器進(jìn)行修正和補(bǔ)償,對(duì)減法計(jì)數(shù)器的預(yù)置溫度實(shí)行修改。只要沒有關(guān)閉計(jì)數(shù)門就一直重復(fù)上述處理,直到(溫</p><p>  3.2.2.DS18B20與單片機(jī)的接口電路</p><p>

43、  DS18B20與單片機(jī)的連接有兩種接法,一種是寄生電源供電,另一種是外部電源供電。寄生電源供電時(shí),VDD、GND接地,DQ接單片機(jī)的I/O口,為了確保在有效的DS18B20時(shí)鐘周期內(nèi)提供足夠的電流,一般要用一個(gè)MOSFET來(lái)完成對(duì)總線的上拉;外部電源供電時(shí),VDD接電源,在它和電源之間接一個(gè)4.7K的電阻,GND接地,DQ接單片機(jī)的I/O口。此設(shè)計(jì)采用的是后者即外部電源供電方式,DQ(2腳)接AT89C55單片機(jī)的P1.1腳進(jìn)行通信

44、。如圖3—4所示:</p><p>  圖3—4 DS18B20測(cè)溫模塊的原理圖</p><p>  3.3時(shí)鐘電路的設(shè)計(jì)</p><p>  3.3.1.DS12887芯片的引腳功能</p><p>  管腳功能:GND接地,VCC接+5V的電源,當(dāng)+5V電壓在正常范圍內(nèi),數(shù)據(jù)能讀寫;當(dāng)VCC低于4.25V,讀寫操作被禁止,計(jì)時(shí)功能正常進(jìn)行

45、;當(dāng)VCC下降至3V以下時(shí),隨機(jī)存儲(chǔ)器RAM和計(jì)時(shí)器的供電被切換到內(nèi)部鋰電池;MOT(模式選擇)接VCC時(shí),選擇Motorola時(shí)序,當(dāng)接GND時(shí),選擇Intel時(shí)序;SQW(方波信號(hào)同)能從RTC內(nèi)部15級(jí)分頻器的13個(gè)分頻中選擇一個(gè)輸出,其輸出頻率通過(guò)對(duì)寄存器A編程來(lái)控制;AD0—AD7(雙向地址/數(shù)據(jù)復(fù)用線)總線接口,可與Motorola各種類型的微機(jī)和Intel各種類型的微機(jī)接口AS即地址信號(hào)選通的輸入端口用來(lái)實(shí)現(xiàn)信號(hào)的分離,可

46、在AD/ALE下降沿把地址寫入DS12887芯片;DS腳表示數(shù)據(jù)的選擇端或讀信號(hào)的輸入,它有兩種類型的操作模式,它由MOT的電平?jīng)Q定的,當(dāng)MOT接高電平時(shí),DS為正脈沖,出現(xiàn)于總線周期之后,稱作數(shù)據(jù)選通,在讀周期時(shí),DS指示芯片雙向驅(qū)動(dòng)總的時(shí)刻,在寫周期時(shí),DS的下降沿使芯片寫入數(shù)據(jù),當(dāng)MOT接低電平時(shí),DS(RD)當(dāng)作與儲(chǔ)存器的信號(hào)允許(OE)有相同的定義;R/W(讀/寫輸入)的操作模式有兩種。當(dāng)MOT管腳接高電平時(shí)</p>

47、;<p>  3.3.2.DS12887芯片與單片機(jī)的接口電路</p><p>  本設(shè)計(jì)采用的是Intel總線時(shí)序,故MOT腳直接接地地。其它引腳的連接如下:GND接地;RESET和VCC接電源,選擇DS12887時(shí)鐘芯片的地址總線AS端口和AT89C55單片機(jī)的P3.6直接相聯(lián);而IRQ、 R/W、DS、CS讀寫控制線分別與單片機(jī)的P3.2、P3.3、P3.4、 P3.5口相連; DS12887

48、芯片的SQW端口可編程產(chǎn)生方波輸出信號(hào),在本設(shè)計(jì)中沒有使用,NC不接;AD0—AD7(雙向地址/數(shù)據(jù)復(fù)用線)總線接口與AT89C55單片機(jī)的P2口相接。所以DS12887時(shí)鐘芯片和AT89C55單片機(jī)的接口電路如圖3—5所示。</p><p>  圖3—5 時(shí)鐘模塊的原理圖</p><p>  3.4顯示電路的設(shè)計(jì)</p><p>  3.4.1.LCD1602芯片

49、的引腳功能</p><p>  LCD1602采用標(biāo)準(zhǔn)16腳接口,分別為:VSS(1腳)為電源地 ;VDD(2腳)接+5V電源;V0(3腳)為對(duì)比度調(diào)整端,使LCD1602液晶顯示器顯示達(dá)到最佳效果,在接電源正極時(shí)對(duì)比度是最弱的,在接電源負(fù)極時(shí)對(duì)比度是最高的,對(duì)比度不宜過(guò)高也不宜過(guò)低,過(guò)高會(huì) 產(chǎn)生“鬼影”,過(guò)低會(huì)很模糊,使用時(shí)可接一個(gè)10K的可變電阻調(diào)整對(duì)比度;RS(4腳)為寄存器功能選擇,在高電平時(shí)表示選擇了操

50、作存放數(shù)據(jù)的寄存器,在低電平時(shí)表示選擇了指令代碼寄存器; RW(5腳)表示讀/寫信號(hào)選擇端,高電平時(shí)表示讀操作,而低電平表示寫操作;EN或E端(6腳)為使能端;第DB0~DB7(7~14腳)為8位I/O口(一字節(jié)的雙向數(shù)據(jù)端);15~16腳為背景燈光電源接口,當(dāng)為背景燈光電源時(shí),15腳為背景燈光電源正極,16為腳為背景燈光電源負(fù)極。</p><p>  3.4.2.LCD1602與單片機(jī)的接口電路</p&g

51、t;<p>  本設(shè)計(jì)沒有對(duì)LCD1602的寄存器進(jìn)行過(guò)讀操作,因此,可以簡(jiǎn)化電路,把RW直接接地,低電平時(shí)是對(duì)寄存器進(jìn)行寫操作,顯示器的背燈電源與電源按要求接好即可,對(duì)比度V0通過(guò)可變電阻與地連接,RS、E分別與AT89C55單片機(jī)的P1.2、P1.3相接,DB0~DB7與AT89C55單片機(jī)的P0口按順序連接。如圖3—6所示</p><p>  圖3—6 顯示模塊的原理圖</p>

52、<p>  3.5鍵盤電路的設(shè)計(jì)</p><p>  鍵盤根據(jù)它是硬件編碼,還是軟件編程實(shí)現(xiàn)可分兩類,一為編碼鍵盤,一為非編碼鍵盤,編碼鍵盤是指鍵的閉合識(shí)別是由專用的硬件電路實(shí)現(xiàn),并產(chǎn)生鍵值或編碼,例如電腦鍵盤;非編碼鍵盤是指鍵的閉合由軟件編程的方式來(lái)識(shí)別;在單片機(jī)應(yīng)用系統(tǒng)中,非編碼鍵盤用的非常廣泛,編碼鍵盤用的很少。非編碼鍵盤根據(jù)其接入方式與掃描方式又可分為矩陣鍵盤即行列式鍵盤和獨(dú)立鍵盤。由于獨(dú)立鍵盤

53、在按鍵少時(shí)實(shí)現(xiàn)容易,電路簡(jiǎn)單,編程方便。故本設(shè)計(jì)采用的是獨(dú)立鍵盤。時(shí)間設(shè)置鍵(SET)接單片機(jī)的P1.0,確定/鬧鐘(OK)接單片機(jī)的P1.5,加鍵(+)接單片機(jī)的P1.6,減鍵(—)接單片機(jī)的P1.7。如圖3—7所示:</p><p>  圖3—7 鍵盤模塊的原理圖</p><p>  3.6報(bào)警電路的設(shè)計(jì)</p><p>  本系統(tǒng)的鬧鐘與溫度的二級(jí)報(bào)警的設(shè)計(jì)采

54、用了簡(jiǎn)單的電路,它是由NPN型三極管集電極驅(qū)動(dòng)蜂鳴器,發(fā)射極接+5V電源,基極接100歐姆的電阻作限流電阻,再與單片機(jī)的P1.4連接,溫度的一級(jí)報(bào)警采用的是發(fā)紅光的LED接上限流電阻與單片機(jī)的P3.1連接,原理圖如圖3—8所示:</p><p>  圖3—8報(bào)警模塊的原理圖</p><p>  第四章 系統(tǒng)軟件設(shè)計(jì)</p><p>  智能數(shù)字電子萬(wàn)年歷是多功能的系

55、統(tǒng),各功能是在程序的控制下實(shí)現(xiàn)的。本系統(tǒng)的軟件設(shè)計(jì)方法與硬件設(shè)計(jì)一一對(duì)應(yīng),按照整體功能分割成多個(gè)程序模塊,它們是分別進(jìn)行設(shè)計(jì)、編程和調(diào)試出來(lái)的,最后通過(guò)主程序?qū)⒏髯映绦蚰K結(jié)合。這樣將方便程序的修改與調(diào)試,最終完成系統(tǒng)的整體設(shè)計(jì),達(dá)到設(shè)計(jì)要求。此外本章的軟件設(shè)計(jì)說(shuō)的是一種設(shè)計(jì)的思路,或者方法,因此并沒有把所設(shè)計(jì)好的程序?qū)懭胂铝懈鞴?jié),全部放在附錄二中。</p><p><b>  4.1系統(tǒng)總程序<

56、/b></p><p>  主程序的主要功能是LCD1602、溫度測(cè)試系統(tǒng)、實(shí)時(shí)時(shí)鐘系統(tǒng)的初始化,鍵盤的掃描(包括時(shí)間校準(zhǔn)鍵盤和鬧鐘設(shè)置鍵盤),鬧鐘判斷,溫度報(bào)警的查詢,星期轉(zhuǎn)換與月末天數(shù)調(diào)整,以及溫度與時(shí)間的實(shí)時(shí)顯示,此外還有開中斷。主程序流程圖如圖4-1所示,程序見附錄二。</p><p><b>  4.2溫度模塊程序</b></p><

57、;p>  模塊包含五個(gè)函數(shù)分別是初始化DS18B20函數(shù),讀/寫一字節(jié)數(shù)據(jù)函數(shù),讀溫度函數(shù),實(shí)時(shí)顯示溫度函數(shù)。各函數(shù)的名字為:初始化函數(shù)init_1820();,寫一字節(jié)數(shù)據(jù)函數(shù)void write_bit(uchar dat);,讀一字節(jié)數(shù)據(jù)函數(shù)uint read_bit();,讀溫度函數(shù)uint read_wdu();,實(shí)時(shí)顯示溫度函數(shù)void display_wdu(uint ii);具體內(nèi)容見附錄三源程序。流程圖如圖4-2

58、所示。</p><p>  對(duì)初始化DS18B20函數(shù)的編程時(shí),要嚴(yán)格的遵守初始化時(shí)序,主機(jī)總線在t0 時(shí)刻發(fā)送復(fù)位脈沖(最短保持480us 的低電平信號(hào)) 緊接著在t1時(shí)刻釋放總線轉(zhuǎn)而進(jìn)入接收狀態(tài),DS18B20 在檢測(cè)到總線的上升沿后等待15 -60us ,然后DS18B20在t2 時(shí)刻發(fā)出存在脈沖(低電平保持60-240 us之間) ,初始化時(shí)序如圖4-3 所示。在初始化中要對(duì)只讀程序存儲(chǔ)器操作,其常用的指

59、令代碼有:跳過(guò)讀序號(hào)列號(hào)的操作碼[CCH] 、啟動(dòng)溫度轉(zhuǎn)換指令代碼[44H]和讀取溫度寄存器指令代碼[BEH]等。其它的在本設(shè)計(jì)中未曾使用。讀/寫一字節(jié)數(shù)據(jù)函數(shù)就是從芯片中取數(shù)據(jù)與存數(shù)據(jù),從而給芯片寫指令或數(shù)據(jù), </p><p>  圖4-1 主程序流程圖</p><p>  是芯片能正常工作,它是通過(guò)串行輸出的,一次只能讀或?qū)懸晃贿B續(xù)進(jìn)行8此此操作。讀溫度函數(shù)用來(lái)把芯片轉(zhuǎn)換的溫度送到單

60、片機(jī)進(jìn)行后期處理,處理時(shí)根據(jù)表-C DS18B20溫度與表示值對(duì)應(yīng)表來(lái)把二進(jìn)制數(shù)據(jù)轉(zhuǎn)換成實(shí)際的十進(jìn)制溫度,由表可以算出溫度值為二進(jìn)制值乘以0.0625,這既是被測(cè)溫度。顯示溫度函數(shù)用來(lái)把讀溫度函數(shù)得到的溫度值顯示出來(lái)。流程圖見4.4顯示模塊子程序即圖4-8所示。</p><p>  圖4-2溫度模塊子程序流程圖</p><p>  圖4-3 初始化時(shí)序圖</p><p&

61、gt;  表4-1 DS18B20溫度與表示值對(duì)應(yīng)表</p><p><b>  4.3時(shí)鐘模塊程序</b></p><p>  此模塊包含三個(gè)函數(shù),分別為初始化DS18B20函數(shù)init_12887(),寫數(shù)據(jù)到DS18B20內(nèi)存中指定的地址函數(shù)write_12887(uchar add,uchar dat),從DS18B20內(nèi)存中指定的地址讀函數(shù)read_1288

62、7(uchar add),具體內(nèi)容見附錄三,其流程圖見圖4-4。由于編程時(shí)用到了DS12887的內(nèi)部功能,以及Intel時(shí)序,而前文未曾提及,所以在此略作說(shuō)明。</p><p>  圖4-4時(shí)鐘模塊子程序流程圖</p><p>  4.3.1 DS12887的內(nèi)部功能</p><p>  DS12887包含114字節(jié)的用戶隨機(jī)存儲(chǔ)器(RAM),10字節(jié)的存放RTC時(shí)

63、間。日歷和鬧鐘RAM以及及用于控制和狀態(tài)的4字節(jié)特殊寄存器構(gòu)成,幾乎128個(gè)字節(jié)都可以直接讀寫,其地址分配圖見圖4-5。時(shí)間和日歷信息通過(guò)讀與之對(duì)應(yīng)的內(nèi)存字節(jié)來(lái)獲得,日歷、時(shí)間和鬧鐘通過(guò)寫與之對(duì)應(yīng)應(yīng)的內(nèi)存字節(jié)來(lái)設(shè)置和初始化,字節(jié)中的內(nèi)容可為十進(jìn)制或BCD形式。時(shí)間可選12小時(shí)制或24小時(shí)制。日歷、時(shí)間和鬧鐘字節(jié)是雙緩沖的,總是可以操作的。RTC時(shí)鐘RAM向處理器提供了三個(gè)獨(dú)立、自動(dòng)的中斷源。定鬧中斷的發(fā)生率可通過(guò)編程來(lái)控制,從1次/每秒

64、到1次/每天不等,周期性中斷的發(fā)生率是可以選擇的。更新結(jié)束中斷用于向程序指示此更新周期已經(jīng)完成。中斷控制和狀態(tài)位在寄存器B與C中。周期中斷可以在IRQ腳產(chǎn)生1次/500ms到1次/每122µs的中斷,中斷頻率同樣由寄存A決定,它的控制位為寄存器B中的PIE位。DS12887每秒執(zhí)行一次更新周期還比較每一定鬧字節(jié)與相應(yīng)的時(shí)間字節(jié),如果匹配枵三個(gè)字節(jié)都是不關(guān)心碼,則產(chǎn)生一次定鬧中斷。由于DS12887芯片在出廠時(shí),其自帶的晶振是關(guān)

65、掉的,這樣就可以避免鋰電池在DS12887芯片在構(gòu)成</p><p>  圖4-5 DS12887的地址分配圖</p><p>  SET為0表示時(shí)間更新正常進(jìn)行,當(dāng)SET為1表示時(shí)間更新被禁止,程序可初始化時(shí)間和日歷字節(jié)。PIE表示周期中斷使能位,PIE為1,表示能夠以選擇的頻率來(lái)拉低端口電平IRQ管腳, 寄存器B的第六位為PIE,其為0時(shí),表示不允許中斷信號(hào)的產(chǎn)生。AIE表示鬧鐘中斷信

66、號(hào)允許端。寄存器B的第三位為SQW,它是方波信號(hào)允許位,本文未用。DM表示數(shù)據(jù)模式選擇位,DM為1為十進(jìn)制的數(shù)據(jù),其時(shí)鐘、日歷和鬧鐘對(duì)應(yīng)地址與數(shù)據(jù)模式如表4-2,而DM為0,則表明地址中存放的數(shù)據(jù)是以BCD碼形式儲(chǔ)存的。一天的時(shí)間表示有兩種格式,即24小時(shí)制和12小時(shí)制,在寄存器B中的第一位為24/12與之對(duì)應(yīng),當(dāng)它為1時(shí),則用24時(shí)制表示,而它為0時(shí),則用12時(shí)制來(lái)表示。為寄存器B的第0位為DSE位,它是夏令時(shí)開啟位,當(dāng)它為1時(shí),則允

67、許,為0時(shí),則禁止。UIP為更新周期正在進(jìn)行位。當(dāng)UIP為1,表明更新將很快發(fā)生,當(dāng)UIP為0,更新在244µs內(nèi)不會(huì)發(fā)生。DV0,DV1,DV2用于開啟或關(guān)閉振蕩器,并恢復(fù)計(jì)時(shí)鏈。010唯一組合是打開晶振并允許RTC計(jì)時(shí)。RS3,RS2,RS1,RS0:頻率選擇位,本系統(tǒng)未用。IRQF表示中斷申請(qǐng)</p><p>  表4-2時(shí)鐘、日歷和鬧鐘對(duì)應(yīng)地址與數(shù)據(jù)模式-二進(jìn)制模式(DM=1)</p>

68、;<p>  表4-3.DS12887狀態(tài)控制寄存器</p><p>  4.3.2 DS12887的Intel總線時(shí)序</p><p>  本設(shè)計(jì)采用的是Intel總線時(shí)序,所以編寫寫數(shù)據(jù)到DS18B20內(nèi)存中指定的地址函數(shù)(write_12887(uchar add,uchar dat))和從DS18B20內(nèi)存中指定的地址讀函數(shù)(read_12887(uchar add)

69、)時(shí),必須嚴(yán)格遵守Intel總線時(shí)序,其,讀寫總線時(shí)序分別如圖4-6、圖4-7所示。</p><p>  圖4-6 讀Intel總線時(shí)序</p><p>  圖4-7 寫Intel總線時(shí)序</p><p><b>  4.4顯示模塊程序</b></p><p>  此模塊包含四個(gè)函數(shù),分別為初始化LCD1602函數(shù)ini

70、t_lcd(),寫指令到LCD1602中的函數(shù)write_con(uchar con),寫數(shù)據(jù)到LCD1602中的函數(shù)write_data(uchar dat),寫數(shù)據(jù)到LCD1602中指定的地址函數(shù)xshi_sdat(uchar add,uchar date),具體內(nèi)容見附錄三,其流程圖見圖4-8。在編寫寫指令和寫數(shù)據(jù)函數(shù)必須嚴(yán)格遵守寫操作時(shí)序,RS為高電平是寫數(shù)據(jù),為低電平是寫指令,其時(shí)序圖如圖4-9所示。</p>&

71、lt;p>  初始化LCD1602時(shí),一些指令必須寫入液晶芯片內(nèi),顯示模式設(shè)置,指令代碼為:38H;顯示開/關(guān)及光標(biāo)設(shè)置,指令代碼為:0CH,06H;顯示清屏指令代碼為:01H;數(shù)據(jù)指針設(shè)置,指令代碼為: 80H+地址碼。</p><p>  圖4-8顯示模塊子程序流程圖</p><p>  圖4-9 寫操作時(shí)序</p><p>  4.5鍵盤及其它模塊程序&

72、lt;/p><p>  此模塊包含了校準(zhǔn)時(shí)間與設(shè)置鬧鐘函數(shù),星期轉(zhuǎn)換函數(shù),天數(shù)自動(dòng)調(diào)整函數(shù),延遲函數(shù)等四部分,由于延遲函數(shù)非常簡(jiǎn)單,沒有畫流程圖,其它函數(shù)的流程圖依次為:圖4-10,圖4-11,圖4-12。</p><p>  圖4-11星期轉(zhuǎn)換子程序流程圖</p><p>  圖4-12天數(shù)自動(dòng)調(diào)整子程序流程圖</p><p><b>

73、;  第五章 調(diào)試與仿真</b></p><p>  5.1 Proteus軟件簡(jiǎn)介</p><p>  Proteus軟件是由英國(guó)的LabCenter Electronics 公司研發(fā)推出的一款EDA工具軟件,由ISIS及ARES兩款軟件組成,其ISIS軟件是一款比較方便、電子系統(tǒng)的仿真平臺(tái)的軟件,ARES是一款高級(jí)的布線編輯軟件,它集成了高級(jí)的原理布線圖、混合模式Spice

74、電路的仿真、PCB的設(shè)計(jì)以及自動(dòng)布線來(lái)實(shí)現(xiàn)一個(gè)完整的電子設(shè)計(jì)。通過(guò)Proteus ISIS軟件的虛擬仿真技術(shù),我們可對(duì)模擬、數(shù)字、模數(shù)混合的電路實(shí)行仿真測(cè)試,以及微控制器為基礎(chǔ)的系統(tǒng)與它所有外圍接口電子元器件進(jìn)行仿真。本設(shè)計(jì)采用的是Proteus軟件仿真。</p><p>  5.2仿真與調(diào)試步驟</p><p>  1.打開Proteus仿真軟件,創(chuàng)建一個(gè)工程,保存為電子萬(wàn)年歷。<

75、/p><p>  2.根據(jù)設(shè)計(jì)好的原理圖添加仿真元器件,打開元器件庫(kù),查找要添加的元件,雙擊,繼續(xù)查找下一個(gè)元器件,直到把所有要添加的器件都添加完。</p><p>  3.在左邊的方框里點(diǎn)擊所添加的元器件,一個(gè)一個(gè)的畫在仿真原理圖中,按一定的布局,把元器件放置的整齊一點(diǎn),使總體上美觀。</p><p>  4.把放置好的元器件,按設(shè)計(jì)好的原理圖,把各元器件用導(dǎo)線連接起

76、來(lái),在這個(gè)過(guò)程,可以用多種方式,如用總線和網(wǎng)絡(luò)標(biāo)識(shí)與導(dǎo)線配合使用,及可以簡(jiǎn)化電路,又可以是電路美觀。到此,仿真電路就設(shè)計(jì)好了,效果圖見圖5-1所示。</p><p>  圖5—1 系統(tǒng)仿真原理圖</p><p>  5.進(jìn)行電氣檢查,單擊按鈕,進(jìn)行電氣檢測(cè),查看接線是否合理,看有沒有錯(cuò)誤或警告,如有把它修正,直到?jīng)]有為止,如沒有錯(cuò)誤或警告,則設(shè)計(jì)結(jié)束,保存。</p><

77、p>  6.把用keil編寫的程序生成.HEX文件添加到單片機(jī)中,單擊按鈕,進(jìn)行對(duì)電子萬(wàn)年歷的仿真測(cè)試,觀察程序運(yùn)行情況,看能否顯示預(yù)期的結(jié)果。</p><p>  7打開keil軟件檢查源程序,查找并修改不合邏輯的部分,編譯生成.HEX文件,重復(fù)第6步,直到能顯示預(yù)期結(jié)果。</p><p>  8 仿真測(cè)試復(fù)位鍵測(cè)試,按下此鍵看能否復(fù)位,經(jīng)測(cè)試可以進(jìn)行復(fù)位,系統(tǒng)重新開始了,進(jìn)入了開

78、機(jī)畫面,其效果圖見圖5-2所示。</p><p>  圖5-2復(fù)位鍵測(cè)試圖開機(jī)畫面</p><p>  9仿真測(cè)試時(shí)間設(shè)置測(cè)試,按下SET鍵看能否有閃爍光標(biāo),其每按一下它就會(huì)按秒、分、時(shí)、星期、日、月、年的順序移動(dòng)到下一個(gè)位置,設(shè)置完了按一下就退出設(shè)置。在設(shè)置狀態(tài)下每按“+”鍵在對(duì)應(yīng)的位置進(jìn)行加1,每按“-”鍵在對(duì)應(yīng)的位置進(jìn)行減1,經(jīng)測(cè)試可以進(jìn)行時(shí)間設(shè)置,按下此鍵時(shí)進(jìn)入了時(shí)間設(shè)置狀態(tài),其效

79、果圖見圖5-3所示。</p><p>  圖5—3 仿真測(cè)試設(shè)置時(shí)間效果圖</p><p>  10 仿真測(cè)試鬧鐘設(shè)置測(cè)試,按下ok鍵看能否有光標(biāo),其每按一下它就會(huì)按秒、分、時(shí)的順序移動(dòng)到下一個(gè)位置,設(shè)置完了按一下就退出設(shè)置。在設(shè)置狀態(tài)下每按“+”鍵在對(duì)應(yīng)的位置進(jìn)行加1,每按“-”鍵在對(duì)應(yīng)的位置進(jìn)行減1,經(jīng)測(cè)試可以進(jìn)行鬧鐘設(shè)置,按下此鍵時(shí)進(jìn)入了鬧鐘設(shè)置狀態(tài),其效果圖見圖5-4所示。<

80、/p><p>  圖5—4. 仿真測(cè)試設(shè)置鬧鐘效果圖</p><p>  11 仿真測(cè)試溫度報(bào)警功能,當(dāng)溫度低于-10°C或高于40°C時(shí)進(jìn)行一級(jí)警告,紅燈亮,當(dāng)溫度低于-30°C或超過(guò)60°C時(shí),進(jìn)行二級(jí)報(bào)警,紅燈亮,同時(shí)報(bào)警。其效果圖見圖5-5所示。</p><p>  圖5-5溫度報(bào)警功能效果圖</p><

81、;p>  12 仿真測(cè)試,設(shè)置為2013年5月22號(hào)星期三9點(diǎn)半,溫度為27°C。其效果圖見圖5-6所示。</p><p><b>  圖5-6最終效果圖</b></p><p><b>  第六章 總結(jié)</b></p><p>  在本次畢業(yè)論文設(shè)計(jì)中,我遇到很多問(wèn)題,但是與此同時(shí),我也學(xué)到了很多,對(duì)于本

82、次畢業(yè)論文設(shè)計(jì)的心得體會(huì),我覺得有以下幾點(diǎn):</p><p>  1.無(wú)論做什么項(xiàng)目,規(guī)劃是必要的。沒有一個(gè)好的規(guī)劃,就會(huì)沒有調(diào)理,可能使要解決的問(wèn)題復(fù)雜化,是項(xiàng)目變得無(wú)法完成,更別說(shuō)完美了。而有一個(gè)好的規(guī)劃,往往會(huì)使項(xiàng)目越做越簡(jiǎn)單,從而增加信心。還有明確重點(diǎn)和緩急,不會(huì)有疏漏。這樣才能提高成功率。</p><p>  2.處理問(wèn)題要多動(dòng)腦,選出最好的方法。一各問(wèn)題或難點(diǎn)往往有多種解決方法

83、,一個(gè)好的方法,不僅能使事情事半功倍,而且往往決定最后的成與敗,所以處理問(wèn)題時(shí)一定要多想想,想出最好的方法。</p><p>  3.要充分利用自己所掌握的知識(shí)區(qū)設(shè)計(jì)項(xiàng)目,使用一些專業(yè)的方法,去設(shè)計(jì)產(chǎn)品,方案的設(shè)計(jì)多種多樣,可選擇的元器件豐富多樣,因此我們可以從中選擇一些自己熟悉的芯片,以及擅長(zhǎng)處理手段。</p><p>  4.要注意細(xì)節(jié)。細(xì)節(jié)決定成敗,這在編程時(shí)最能體現(xiàn),這句話在這次畢

84、業(yè)設(shè)計(jì)中不只一次得到了印證,一點(diǎn)點(diǎn)的錯(cuò)誤就會(huì)使整個(gè)程序不能按預(yù)定邏輯運(yùn)行,達(dá)不到預(yù)期目的。故我們不僅僅要有整體意識(shí),也要注意細(xì)節(jié),不要因一個(gè)關(guān)細(xì)節(jié)而導(dǎo)致滿盤皆輸。</p><p>  5.也是最重要的一點(diǎn),通過(guò)這次畢業(yè)設(shè)計(jì),我們學(xué)到了很多專業(yè)有關(guān)的知識(shí),提高了C語(yǔ)言的編寫能力,對(duì)proteus 、Keil與Altium Designer操作能力,也使我能夠熟練的運(yùn)用proteus 、Keil與Altium Des

85、igner軟件,也對(duì)本專業(yè)所學(xué)的知識(shí)有了質(zhì)的提高,使我受益匪淺,為以后的工作增加了籌碼??傊?,此次設(shè)計(jì)還有一點(diǎn)點(diǎn)不完善,那就是不能夠顯示農(nóng)歷,此系統(tǒng)有待完善。</p><p><b>  參考文獻(xiàn)</b></p><p>  [1] 張毅剛.新編MCS-51單片機(jī)應(yīng)用設(shè)計(jì)[M].哈爾濱:哈爾濱工業(yè)大學(xué)出版社,2006.</p><p>  [2

86、] 劉迎春.傳感器原理設(shè)計(jì)與應(yīng)用[M].長(zhǎng)沙:國(guó)防科技大學(xué)出版社,2002.</p><p>  [3] 何立民.單片機(jī)應(yīng)用技術(shù)選編[M].北京:北京航空航天大學(xué)出版社, 2006.</p><p>  [4] 徐愛鈞.智能化測(cè)量控制儀表原理與設(shè)計(jì)(第3版)[M]北京:北航出版社,2012.</p><p>  [5] 楊欣. 51單片機(jī)應(yīng)用實(shí)例詳解[M].北

87、京:清華大學(xué)出版社,2010.</p><p>  [6] 李剛.Protel DXP電路設(shè)計(jì)標(biāo)準(zhǔn)教程[M].北京:清華大學(xué)出版社,2005.</p><p>  [7] 曾屹.單片機(jī)原理與應(yīng)用[M].長(zhǎng)沙:中南大學(xué)出版社,2009.</p><p>  [8] 彭偉.單片機(jī)C語(yǔ)言程序設(shè)計(jì)實(shí)訓(xùn)100例——基于8051+Proteus仿真(第2版)[M].北京:電子工

88、業(yè)出版社,2012.</p><p>  [9] V. Yu. Teplov,A. V. Anisimov. Thermostatting System Using a Single-Chip Microcomputer and Thermoelectric Modules Based on the Peltier Effect[J] ,2002</p><p>  [10] Elli

89、s,G.H. Control system design guide [M].London:Academic Press,2004</p><p>  [11] Behzad Razavi.Design of Analog CMOS Integrated Circuits[M]. 2001</p><p><b>  致謝</b></p><p&

90、gt;  行文至此,這篇論文已接近尾聲;我四年的大學(xué)時(shí)光也即將敲響結(jié)束的鐘聲。離別在即,站在人生的又一個(gè)轉(zhuǎn)折點(diǎn)上,心中難免思緒萬(wàn)千,一種感恩之情油然而生。在此, 我要感謝**在我四年的大學(xué)生活當(dāng)中對(duì)我的教育與培養(yǎng),感謝**物電學(xué)院的所有專業(yè)老師,沒有你們的辛勤勞動(dòng),就沒有我們今日的滿載而歸,感謝大學(xué)四年曾經(jīng)幫助過(guò)我的所有同學(xué)。更要感謝我的指導(dǎo)老師和專業(yè)老師,是你們的細(xì)心指導(dǎo)和關(guān)懷,才能解決許多設(shè)計(jì)中的實(shí)際困難,使我以最低的成本和最簡(jiǎn)單的

91、方案設(shè)計(jì)出了操作方便、功能強(qiáng)大、顯示美觀的電子萬(wàn)年歷,使我能夠順利的完成畢業(yè)論文。在此我要向*老師致以最衷心的感謝和深深的敬意。</p><p>  最后,衷心地感謝在百忙之中評(píng)閱論文和參加答辯的各位專家、教授!</p><p><b>  附錄I:系統(tǒng)原理圖</b></p><p>  圖8—1 系統(tǒng)原理圖</p><p&

92、gt;  附錄II:系統(tǒng)源程序</p><p>  #include<reg51.h></p><p>  #define uchar unsigned char</p><p>  #define uint unsigned int</p><p>  sbit ok=P1^0;sbit dq=P1^1;</p>

93、<p>  sbit lcdrs=P1^2;sbit lcden=P1^3;</p><p>  sbit beep=P1^4;sbit s1=P1^5;</p><p>  sbit s2=P1^6;sbit s3=P1^7;</p><p>  sbit swd=P3^1;sbit irq=P3^2;</p><p>  sb

94、it rw=P3^3;sbit ds=P3^4;</p><p>  sbit cs=P3^5;sbit as=P3^6;</p><p>  uchar codetable[]="designed by shun";</p><p>  uchar code table1[]=" Welcome!" ;</p&g

95、t;<p>  uchar code table2[]="20 - - ";</p><p>  uchar code table3[]="00:00:00 C";</p><p>  uchar code table4[]="0123456789- ";</p><p&

96、gt;  void delay(uint z);</p><p>  void delay1(uint a);</p><p>  void init_1820();</p><p>  uint read_bit();</p><p>  void write_bit(uchar dat);</p><p>  ui

97、nt read_wdu();</p><p>  void display_wdu(uint ii);</p><p>  void display_sjian();</p><p>  void init_lcd();</p><p>  void write_con(uchar con);</p><p>  vo

98、id write_data(uchar dat);</p><p>  void xling();void baoj();</p><p>  void write_12887(uchar add,uchar dat);</p><p>  uchar read_12887(uchar add);</p><p>  void init_12

99、887();</p><p>  void xshi_sdat(uchar add,uchar date);</p><p>  void xshi_sdat1(uchar add,uchar date);</p><p>  void pduan(uchar a,uchar b,uchar c);</p><p>  oid jpian()

100、;</p><p>  void xqi_change(uchar b);</p><p>  void set_nzhong();</p><p>  char miao,fen,shi,ri,yue,nian,</p><p>  xqi,sji,flag,nshi,nfen,nmiao;</p><p>  uc

101、har a,fhao=0;uchar num=0;</p><p>  uchar num1=0;void main()</p><p>  {flag=0;EA=1;EX0=1;IT0=1;</p><p>  init_lcd();init_1820();init_12887();</p><p>  while(1){ jpian()

102、;pduan(nian,yue,ri);</p><p>  set_nzhong();if(flag==1)</p><p>  {for(a=10;a>0;a--)display_sjian();</p><p>  xling();}flag=0;}if(num==0)</p><p>  {if(num1==0||num1

103、==1){ </p><p>  xqi_change(xqi);display_sjian();</p><p>  display_wdu(read_wdu());}}}}</p><p>  void delay(uint z){while(z--);}</p><p>  void delay1(uint a) </p>

104、<p>  {uint c,d;for(c=a;c>0;c--)</p><p>  for(d=110;d>0;d--);}void init_1820()</p><p>  {uchar k=0;dq=1;delay(8);dq=0;</p><p>  delay(80);dq=1;delay(14);k=dq;</p>

105、<p>  delay(20);}uint read_bit()</p><p>  {uchar i=0;uint dat=0;</p><p>  for(i=8;i>0;i--){dq=0;dat>>=1;</p><p>  dq=1;if(dq)dat|=0x80;delay(4);</p><p>

106、  }return dat;}void write_bit(uchar dat)</p><p>  {uchar i=0;for(i=8;i>0;i--)</p><p>  {dq=0;dq=dat&0x01;delay(5);dq=1;</p><p>  dat>>=1;}}uint read_wdu()</p>&l

107、t;p>  {uchar a,b=0;uint t=0;</p><p>  float tt=0;a=0;init_1820();</p><p>  write_bit(0xcc);write_bit(0x44);</p><p>  init_1820();write_bit(0xcc);</p><p>  write_bit(

108、0xbe);</p><p>  a=read_bit();b=read_bit();</p><p>  fhao=b&0x80;if(fhao!=0){b=~b;a=~a;</p><p>  tt=((b*256)+a+1)*0.0625;</p><p>  tt=tt*10;t=(int)tt;}else</p>

109、<p>  {tt=((b*256)+a)*0.0625;</p><p>  tt=tt*10;t=(int)tt;}</p><p>  return t;}void display_wdu(uint ii)</p><p>  {uchar ws,wg;write_con(0x80+0x4c);</p><p>  ws

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論