基于單片機的測溫萬年歷畢業(yè)設(shè)計_第1頁
已閱讀1頁,還剩48頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  目 錄</b></p><p><b>  1 緒論1</b></p><p>  1.1 課題研究的背景1</p><p>  1.2 課題的研究目的與意義1</p><p>  1.3 課題研究的主要內(nèi)容1</p><p>  2

2、系統(tǒng)功能要求與總體設(shè)計3</p><p>  2.1 系統(tǒng)功能要求3</p><p>  2.2 系統(tǒng)方案選擇3</p><p>  2.3系統(tǒng)總體設(shè)計4</p><p>  3 系統(tǒng)硬件設(shè)計6</p><p>  3.1單片機主控模塊的設(shè)計6</p><p>  3.1.1 AT8

3、9S52功能特性6</p><p>  3.1.2 AT89S52引腳結(jié)構(gòu)介紹6</p><p>  3.1.3 單片機最小系統(tǒng)9</p><p>  3.2 時鐘電路模塊的設(shè)計10</p><p>  3.2.1 DS1302簡介10</p><p>  3.2.2 DS1302與單片機接口電路11&l

4、t;/p><p>  3.3 溫度采集模塊的設(shè)計13</p><p>  3.3.1 DS18B20簡介13</p><p>  3.3.2 DS18B20與單片機接口電路14</p><p>  3.4 鍵盤顯示模塊的設(shè)計15</p><p>  3.4.1 按鍵電路的設(shè)計15</p><

5、p>  3.4.2 顯示電路的設(shè)計16</p><p>  3.5 電源電路設(shè)計18</p><p>  4 系統(tǒng)軟件設(shè)計20</p><p>  4.1 主程序設(shè)計20</p><p>  4.2 時鐘子程序的設(shè)計21</p><p>  4.3 測溫子程序22</p><p&g

6、t;  4.4 顯示子程序23</p><p>  5 系統(tǒng)仿真與測試24</p><p>  5.1 Proteus ISIS簡介24</p><p>  5.1.1 啟動Proteus24</p><p>  5.1.2 Proteus運行界面25</p><p>  5.1.3 Proteus功能仿真

7、25</p><p>  5.2 系統(tǒng)仿真結(jié)果26</p><p>  5.3 系統(tǒng)測試28</p><p><b>  結(jié)束語30</b></p><p><b>  致 謝31</b></p><p><b>  參考文獻32</b><

8、;/p><p><b>  附 錄33</b></p><p>  附錄一:整機原理圖33</p><p>  附錄二:整機PCB圖34</p><p>  附錄三:部分源程序35</p><p>  電子萬年歷的設(shè)計與實現(xiàn)</p><p><b>  摘

9、 要</b></p><p>  本文介紹一種基于AT89S52單片機的帶溫度顯示的數(shù)字萬年歷的實現(xiàn)方法,系統(tǒng)包括單片機最小系統(tǒng)模塊、時鐘計時模塊、溫度采集模塊、鍵盤顯示模塊。時鐘模塊采用高性能時鐘芯片DS1302,溫度采集模塊采用DS18B20集成溫度傳感器,顯示模塊以LCD1602液晶屏作為顯示。能夠?qū)崿F(xiàn)年、月、日、時、分、秒、星期、溫度同時顯示,而且能區(qū)分平年、閏年和月份的大小并帶有掉電保護、整

10、點報時及鬧鐘等功能。該系統(tǒng)具有電路設(shè)計新穎、功耗低、體積小、顯示清晰等優(yōu)點。</p><p>  關(guān)鍵字: AT89S52/萬年歷/DS1302/DS18B20</p><p>  The design and implementation </p><p>  of the electronic calendar</p><p><

11、b>  ABSTARCT</b></p><p>  This paper introduces a AT89S52 SCM with temperature of based on the digital display calendar design, system including single chip minimize system module, clock module, tem

12、perature acquisition module, keyboard display module. The clock module by high performance clock chip DS1302, temperature gathering module USES integrated temperature sensor DS18B20, display module to LCD1602 as display

13、LCD screen. To realize the date and time, minutes and seconds, week, temperature shows at the same time, and</p><p>  Key word: AT89S52, calendar, DS1302, DS18B20</p><p><b>  1 緒論</b&g

14、t;</p><p>  1.1 課題研究的背景</p><p>  二十一世紀的今天,最具代表性的計時產(chǎn)品就是電子萬年歷,它是近代世界鐘表業(yè)界的第三次革命。第一次是擺和擺輪游絲的發(fā)明,相對穩(wěn)定的機械振蕩頻率源使鐘表的走時差從分級縮小到秒級,代表性的產(chǎn)品就是帶有擺或擺輪游絲的機械鐘或表。第二次革命是石英晶體振蕩器的應(yīng)用,發(fā)明了走時精度更高的石英電子鐘表,使鐘表的工作時日差從分級縮小到秒級。

15、第三次革命就是單片機數(shù)碼計時技術(shù)的應(yīng)用(電子萬年歷),使計時產(chǎn)品的走時日差從分級縮小到1/600萬秒,從原有傳統(tǒng)指針計時的方式發(fā)展為人們?nèi)粘8鼮槭煜さ囊构鈹?shù)字顯示方式,直觀明了,并增加了全自動日期、星期、溫度以及其他日常附屬信息的顯示功能,它更符合消費者的生活需求!因此,電子萬年歷的出現(xiàn)帶來了鐘表計時業(yè)界跨躍性的進步[1]。</p><p>  隨著當今世界經(jīng)濟的快速發(fā)展和信息化時代的來臨,各種各樣的小型智能家電

16、產(chǎn)品陸續(xù)出現(xiàn)在我們的生活中。日歷是人們不可或缺的日常用品。萬年歷目前已經(jīng)不再局限于以紙質(zhì)形式出現(xiàn)。以電腦軟件或者電子產(chǎn)品形式出現(xiàn)的萬年歷被稱為電子萬年歷。與傳統(tǒng)紙質(zhì)形式的萬年歷相比,電子萬年歷得到了越來越廣泛的應(yīng)用,采用電子時鐘作為時間顯示已經(jīng)成為一種時尚。目前市場上各式各樣的電子時鐘數(shù)不勝數(shù),但多數(shù)是只針對時間顯示,功能單一,使用不便,壽命不長不能滿足人們?nèi)粘I钚枨?。而電子萬年歷采用智能電子控制和顯示技術(shù),改善了紙制日歷的缺陷。&l

17、t;/p><p>  1.2課題的研究目的與意義</p><p>  二十一世紀是數(shù)字化技術(shù)高速發(fā)展的時代,而單片機在數(shù)字化高速發(fā)展的時代扮演著極為重要的角色。電子萬年歷的開發(fā)與研究在信息化時代的今天亦是當務(wù)之急,因為它應(yīng)用在學(xué)校、機關(guān)、企業(yè)、部隊等單位禮堂、訓(xùn)練場地、教學(xué)室、公共場地等場合,可以說遍及人們生活的每一個角落。所以說電子萬年歷的開發(fā)是國家之所需,社會之所需,人民之所需。<

18、/p><p>  由于社會對信息交換不斷提高的要求及高新技術(shù)的逐步發(fā)展,數(shù)字萬年歷具有讀取方便、顯示直觀、功能多樣、電路簡潔、成本低廉等諸多優(yōu)點,符合電子儀器儀表的發(fā)展趨勢,促使電子萬年歷發(fā)展并且投入市場得到廣泛應(yīng)用,具有廣闊的市場前景。</p><p>  1.3課題研究的主要內(nèi)容</p><p>  本課題所研究的電子萬年歷是單片機控制技術(shù)的一個具體應(yīng)用,主要研究內(nèi)

19、容包括以下幾個方面:</p><p>  (1) 選用電子萬年歷芯片時,應(yīng)重點考慮功能實在、使用方便、單片存儲、低功耗、抗斷電的器件。</p><p>  (2) 根據(jù)選用的電子萬年歷芯片設(shè)計外圍電路和單片機的接口電路。</p><p>  (3) 在硬件設(shè)計時,結(jié)構(gòu)要盡量簡單實用、易于實現(xiàn),使系統(tǒng)電路盡量簡單。</p><p>  (4)

20、根據(jù)設(shè)計的硬件電路,自制PCB電路板完成器件的焊接,并編寫控制AT89S52芯片的單片機程序。</p><p>  (5) 通過編程、編譯、調(diào)試,把程序下載到單片機上運行,并實現(xiàn)本設(shè)計的功能。</p><p>  (6) 軟件設(shè)計時必須要有完善的思路,要做到程序簡單,調(diào)試方便。</p><p>  2系統(tǒng)功能要求與總體設(shè)計</p><p> 

21、 2.1 系統(tǒng)功能要求</p><p>  設(shè)計一個能顯示年、月、日、時、分、秒、星期和當前溫度的數(shù)字萬年歷,采用LCD顯示并具備以下功能:</p><p><b>  一、 基本功能</b></p><p>  能夠任意設(shè)定年、月、日、時、分、秒、星期。</p><p><b>  二、 發(fā)揮功能</b

22、></p><p>  (1) 任意設(shè)定報時時間;</p><p>  (2) 帶有溫度顯示;</p><p>  (3) 能夠區(qū)分平年、閏年和月份的大?。?lt;/p><p>  (4) 帶有掉電保護(停電后時鐘正常運行,可以不顯示)。</p><p>  (5) 有整點提示和鬧鐘。</p><

23、p>  2.2 系統(tǒng)方案選擇</p><p>  根據(jù)系統(tǒng)功能要求,初步確定系統(tǒng)由主控模塊、時鐘模塊、顯示模塊、按鍵接口模塊、電源模塊5部分模塊組成,另外再擴充一個溫度檢測模塊,用于顯示測的實時的溫度,具體可由以下兩種方案實現(xiàn)。</p><p>  方案一:單片機為主控制核心,時間和溫度數(shù)據(jù)是通過時鐘芯片DS1302和數(shù)字溫度傳感器DS18B20來讀取的,通過液晶顯示器顯示出來,并采

24、用按鍵來完成對當前時間的調(diào)整和定時時間的設(shè)定。</p><p>  方案二:以單片機為住控制核心,時間通過軟件編程來實現(xiàn),通過單片機的定時器,得出一秒的時間,再根據(jù)秒、分、時、日、星期、年之間的進制關(guān)系,完成基本的時鐘功能,再通過LED顯示模塊顯示出來。溫度檢測部分有熱敏電阻將溫度轉(zhuǎn)換成模擬量的電壓信號,經(jīng)A/D轉(zhuǎn)換器,將其轉(zhuǎn)換成對應(yīng)的數(shù)字量,再通過單片機把溫度值傳給LED顯示模塊顯示出來,并用按鍵來完成對當前時

25、間的調(diào)整和定時時間的設(shè)定。</p><p>  方案一和方案二的比較:時鐘設(shè)計可以用軟件編程或硬件實現(xiàn),若用軟件設(shè)計誤差相對于硬件設(shè)計略大,在軟件設(shè)計中定時器如采用軟件查詢的方法占用大量的CPU資源,所以最好采用中斷的方式以節(jié)約資源,但用軟件編程的方法對晶振要求很高。因為時間的誤差主要來源于理想機器周期和實際周期之間的微小差距,此外還有送定時器初值時產(chǎn)生的誤差,況且用軟件編程比較復(fù)雜,所以本設(shè)計采用日歷時鐘芯片。

26、時鐘芯片時間精確度高,性價比高,相對于軟件編程性能有很大提高,且可二次開發(fā),用于實時記錄一些重要的數(shù)據(jù)。為了增加設(shè)計的實用性方案一和方案二都增加了溫度顯示模塊,采用數(shù)字溫度芯片具有體積小、抗干擾能力強、調(diào)試方便或不用調(diào)試、易于實現(xiàn)群測等優(yōu)點,而且直接輸出數(shù)字量的溫度值,簡化了測量電路的同時又保證了測溫精度。采用熱敏電阻檢測溫度,其原理是熱敏電阻的阻值隨溫度的變化而變化,從而改變電路電壓或電流,這樣就得出與溫度有對應(yīng)電壓或電流的信號,再經(jīng)

27、計算,就可得出被測溫度。由于電壓或電流量都是模擬量,易于受外界干擾,并且熱敏元件存在非線性誤差,這都將影響溫度的測量精度,還給計算帶來了麻煩。顯示模塊采用LCD能同時顯示所有信息,顯示直觀,軟</p><p>  綜合上面比較論證,本設(shè)計采用方案一來實現(xiàn)。</p><p><b>  2.3系統(tǒng)總體設(shè)計</b></p><p>  系統(tǒng)包括單片

28、機主控模塊、時鐘模塊、溫度采集模塊、顯示模塊、按鍵接口模塊、電源模塊??驁D如圖2-1所示。</p><p>  系統(tǒng)主控模塊由AT89S52單片機組成,完成整個系統(tǒng)的信息采集和控制。時鐘模塊采用的是DS1302數(shù)字時鐘芯片,主要為萬年歷提供系統(tǒng)時鐘,并帶有掉電保護。外接電源為一個3.6伏的紐扣電池,以保證系統(tǒng)電源掉電后時鐘正常運行,可以不顯示。按鍵有四個獨立按鍵組成。顯示模塊選用的是LCD1602做顯示,完成系統(tǒng)

29、時間和溫度的顯示。溫度采集選用的是DS18B20,主要完成實時溫度的采集。蜂鳴器完成整點提示和鬧鐘功能。電源模塊為經(jīng)典的7805穩(wěn)壓模塊,為整個系統(tǒng)提供電源。</p><p>  本系統(tǒng)由DS1302提供萬年歷系統(tǒng)時鐘,DS18B20采集實時溫度,經(jīng)單片機由軟件處理后顯示實時時鐘和實時溫度。并且通過按鍵對時鐘和鬧鐘的調(diào)整,有蜂鳴器完成鬧鐘提示。</p><p><b>  3系統(tǒng)

30、硬件設(shè)計</b></p><p>  3.1單片機主控模塊的設(shè)計</p><p>  3.1.1 AT89S52功能特性 </p><p>  AT89S52[2]是一種低功耗、高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程Flash存儲器。使用Atmel公司高密度非易失性存儲器技術(shù)制造,與工業(yè)80C51 產(chǎn)品指令和引腳完全兼容。片上Flash允

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

32、S52可降至0Hz靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU停止工作,允許RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機一切工作停止,直到下一個中斷或硬件復(fù)位為止。同時該芯片還具有PDIP、TQFP和PLCC等三 種封裝形式,以適應(yīng)不同產(chǎn)品的需求。</p><p>  3.1.2 AT89S52引腳結(jié)構(gòu)介紹</p><p&g

33、t;  AT89S52單片機引腳圖如圖3-1所示:</p><p>  AT89S52單片機共有40個引腳,主電源引腳Vcc和GND,外部晶振引腳XATL1和XATL2,控制和復(fù)位引腳,輸入/輸出引腳。輸入/輸出有4個準雙向并行的8位I/O口P0~P3,P0口為三態(tài)雙向口,可以驅(qū)動8個TTL電路,P1,P2,P3口為準雙向口(作為輸入時,口線被拉成高電平故稱為準雙向口),其負載能力為4個TTL電路。</p&

34、gt;<p>  VCC(40腳):電源端,接+5V。</p><p>  GND(20腳):接電源地。</p><p>  P0口:P0口是一個8位漏極開路的雙向I/O口。作為輸出口,每位能驅(qū)動8個TTL邏輯電平。對P0端口寫“1”時,引腳用作高阻抗輸入。當訪問外部程序和數(shù)據(jù)存儲器時,P0口也被作為低8位地址/數(shù)據(jù)復(fù)用。在這種模式下,P0口具有內(nèi)部上拉電阻。在Flash編程

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

36、數(shù)輸入(P1.0/T2)和時器/計數(shù)器2的觸發(fā)輸入(P1.1/T2EX),具體如下表所示。在flash編程和校驗時,P1口接收低8位地址字節(jié)。</p><p>  P2口:P2口是一個具有內(nèi)部上拉電阻的8 位雙向I/O 口,P2輸出緩沖器能驅(qū)動4個TTL邏輯電平。對P2 端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(TTL)。在訪問

37、外部程序存儲器或用16位地址讀取外部數(shù)據(jù)存儲器(例如執(zhí)行MOVX @DPTR)時,P2口送出高八位地址。在這種應(yīng)用中,P2口使用很強的內(nèi)部上拉發(fā)送“1”。在使用8位地址(如MOVX @RI)訪問外部數(shù)據(jù)存儲器時,P2口輸出P2鎖存器的內(nèi)容。在Flash編程和校驗時,P2口也接收高8位地址字節(jié)和一些控制信號。</p><p>  P3口:P3口是一個具有內(nèi)部上拉電阻的8位雙向I/O口,P2輸出緩沖器能驅(qū)動4個TTL

38、 邏輯電平。對P3 端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。P3口亦作為AT89S52特殊功能(第二功能)使用,如下表3-1所示。在flash編程和校驗時,P3口也接收一些控制信號。</p><p>  RST(9引腳):復(fù)位輸入。晶振工作時,RST腳持續(xù)2個機器周期高電平將使單片機復(fù)位。看門狗計時完成后,RST 腳

39、輸出96個晶振周期的高電平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能無效。DISRTO默認狀態(tài)下,復(fù)位高電平有效。</p><p>  ALE/PROG(30引腳):地址鎖存控制信號(ALE)是訪問外部程序存儲器時,鎖存低8 位地址的輸出脈沖。在flash編程時,此引腳(PROG)也用作編程輸入脈沖。在一般情況下,ALE 以晶振六分之一的固定頻率輸出脈沖,可用來作為外部定時器或時鐘使用。然而

40、,特別強調(diào),在每次訪問外部數(shù)據(jù)存儲器時,ALE脈沖將會跳過。如果需要,通過將地址為8EH的SFR的第0位置 “1”,ALE操作將無效。這一位置 “1”,ALE 僅在執(zhí)行MOVX 或MOVC指令時有效。否則,ALE 將被微弱拉高。這個ALE 使能標志位(地址為8EH的SFR的第0位)的設(shè)置對微控制器處于外部執(zhí)行模式下無效。</p><p>  PSEN(29引腳):外部程序存儲器選通信號(PSEN)是外部程序存儲器

41、選通信號。當AT89S52從外部程序存儲器執(zhí)行外部代碼時,PSEN在每個機器周期被激活兩次,而在訪問外部數(shù)據(jù)存儲器時,PSEN將不被激活。</p><p>  EA/VPP(31引腳):訪問外部程序存儲器控制信號。為使能從0000H 到FFFFH的外部程序存儲器讀取指令,EA必須接GND。為了執(zhí)行內(nèi)部程序指令,EA應(yīng)該接VCC。在Flash編程期間,EA也接收12伏VPP電壓。</p><p&

42、gt;  XTAL1(19引腳):振蕩器反相放大器和內(nèi)部時鐘發(fā)生電路的輸入端。</p><p>  XTAL2(18引腳):振蕩器反相放大器的輸出端。</p><p>  3.1.3 單片機最小系統(tǒng)</p><p>  單片機最小系統(tǒng)電路主要有晶體振蕩電路和復(fù)位電路組成。</p><p><b>  (1) 振蕩電路</b&g

43、t;</p><p>  石英晶體振蕩器也稱石英晶體諧振器,它用來穩(wěn)定頻率和選擇頻率,是一種可以取代LC諧振回路的晶體諧振元件。 </p><p>  本設(shè)計所用的晶體振蕩電路如圖3-2所示。 </p><p>  圖3-2 晶體振蕩電路</p><p>  此晶振電路所選用的石英晶振頻率為11.0592MHz。時鐘周期就是單片機外接晶振的倒

44、數(shù),它的時間周期就是(1/12 us),是計算機中最基本的、最小的時間單位。</p><p>  在一個時鐘周期內(nèi),CPU僅完成一個最基本的動作。對于某種單片機來說,若采用了1MHz的時鐘頻率,則時鐘周期為1us;若采用4MHz的時鐘頻率,則時鐘周期為250μs。由于時鐘脈沖是計算機的基本工作脈沖,它控制著計算機的工作節(jié)奏(使計算機的每一步都統(tǒng)一到它的步調(diào)上來)。顯然,對同一種機型的計算機,時鐘頻率越高,計算機的

45、工作速度就越快。但是,由于不同的計算機硬件電路和器件的不完全相同,所以其所需要的時鐘周頻率范圍也不一定相同。一般的設(shè)計中使用到的單片機的時鐘范圍是12MHz或11.0592MHz。</p><p><b>  (2) 復(fù)位電路</b></p><p>  單片機復(fù)位是使CPU和系統(tǒng)中的其他功能部件都處在一個確定的初始狀態(tài),并從這個狀態(tài)開始工作,例如復(fù)位后PC=0000

46、H,使單片機從第一個單元取指令。無論是在單片機剛開始接上電源時,還是斷電后或者發(fā)生故障后都要復(fù)位,所以必須弄清楚AT89S52型單片機復(fù)位的條件、復(fù)位電路和復(fù)位后狀態(tài)。</p><p>  單片機復(fù)位的條件是:必須使RST/Vpd或RST引腳(9)加上持續(xù)兩個機器周期(即24個振蕩周期)的高電平。例如,若時鐘頻率為12MHz,每機器周期為1us,則只需2us以上時間的高電平,在RST引腳出現(xiàn)高電平后的第二個機器周

47、期執(zhí)行復(fù)位。單片機常用的復(fù)位電路如圖3-3所示。</p><p><b>  圖3-3 復(fù)位電路</b></p><p>  圖3-3為復(fù)位電路也是本次設(shè)計所用的復(fù)位電路,其復(fù)位方法為只要單片機一上電REST為高電平單片機即復(fù)位。除此之外我們所學(xué)的電路還有手動復(fù)位電路和自動復(fù)位電路。</p><p>  3.2 時鐘電路模塊的設(shè)計</p&

48、gt;<p>  3.2.1 DS1302簡介</p><p>  DS1302[3][4]是美國DALLAS公司推出的一種高性能、低功耗、帶RAM的實時時鐘芯片,它可以對年、月、日、周、時、分、秒進行計時,具有閏年補償功能,工作電壓為2.5V~5.5V。采用三線接口與CPU進行同步通信,并可采用突發(fā)方式一次傳送多個字節(jié)的時鐘信號或RAM數(shù)據(jù)。DS1302內(nèi)部有一個31×8的用于臨時性存

49、放數(shù)據(jù)的RAM寄存器。DS1302是DS1202的升級產(chǎn)品,與DS1202兼容,但增加了主電源/后背電源雙電源引腳,同時提供了對后背電源進行涓泳電流充電的能力。</p><p>  DS1302的引腳排列如圖3-4,其中Vcc1為后備電源,Vcc2為主電源。在主電源關(guān)閉的情況下,也能保持時鐘的連續(xù)運行。DS1302由Vcc1或Vcc2兩者中的較大者供電。當Vcc2大于Vcc1+0.2V時,Vcc2給DS1302供

50、電。當Vcc2小于Vcc1時,DS1302由Vcc1供電。X1和X2是振蕩源,外接32.768KHz晶振。RST是復(fù)位/片選線,通過把RST輸入驅(qū)動置高電平來啟動所有的數(shù)據(jù)傳送。RST輸入有兩種功能:首先,RST接通控制邏輯,允許地址/命令序列送入移位寄存器;其次,RST提供終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。當RST為高電平時,所有的數(shù)據(jù)傳送被初始化,允許對DS1302進行操作。如果在傳送過程中RSTS置為低電平,則會終止此次數(shù)據(jù)傳送,

51、I/O引腳變?yōu)楦咦钁B(tài)。上電動行時,在Vcc大于等于2.5V之前,RST必須保持低電平。中有在SCLK 為低電平時,才能將RST置為高電平,I/O為串行數(shù)據(jù)輸入端(雙向)。SCLK始終是輸入端。</p><p>  3.2.2 DS1302與單片機接口電路</p><p>  DS1302與單片機接口電路如圖3-5所示。電路原理圖如圖,DS1302與單片機的連接也僅需要3條線:CE引腳、SC

52、LK串行時鐘引腳、I/O串行數(shù)據(jù)引腳,Vcc2為備用電源,外接32.768kHz晶振,為芯片提供計時脈沖。</p><p>  DS1302在任何數(shù)據(jù)傳送時必須先初始化,把RST腳置為高電平,然后把8位地址和命令字裝入移位寄存器,數(shù)據(jù)在SCLK的上升沿被訪問到。在開始8個時鐘周期,把命令字節(jié)裝入移位寄存器后,另外的時鐘周期在讀操作時輸出數(shù)據(jù),在寫操作時寫入數(shù)據(jù)。時鐘脈沖的個數(shù)在單字節(jié)方式下為8+8,在多字節(jié)方式下

53、為8+字節(jié)數(shù),最大可達248字節(jié)數(shù)。如果在傳送過程中置RST腳為低電平,則會終止本次數(shù)據(jù)傳送,并且I/O引腳變?yōu)楦咦钁B(tài)。上電運行時,在Vcc≥2.5V之前,RST腳必須保持低電平。只有在SCLK為低電平時,才能將RST置為高電平。</p><p>  DS1302的控制字如表3-2所示??刂谱止?jié)的最高有效位(位7)必須是邏輯1,如果它為0,則不能把數(shù)據(jù)寫入到DS1302中。位6如果為0,則表示存取日歷時鐘數(shù)據(jù);為

54、1則表示存取RAM數(shù)據(jù)。位5~1(A4~A0)指示操作單元的地址。最低有效位(位0)如果為0,則表示藥進行寫操作;為1表示進行讀操作??刂谱止?jié)總是從最低位開始輸入/輸出。</p><p>  為了提高對32個地址尋址能力(地址/命令位1~5=邏輯1),可以把時鐘/日歷或RAM寄存器規(guī)定為多字節(jié)(burst)方式。位6規(guī)定時鐘或RAM,而位0規(guī)定讀或?qū)?。在時鐘/日歷寄存器中的地址9~31或RAM寄存器中的地址31不

55、能存儲數(shù)據(jù)。在多字節(jié)方式下,讀或?qū)憦牡刂?的位0開始。必須按數(shù)據(jù)傳送的次序?qū)懽钕鹊?個寄存器。但是,當以多字節(jié)方式寫RAM時,為了傳送數(shù)據(jù)不必寫所有的31字節(jié),不管是否謝了全部31字節(jié),所寫的每一字節(jié)都將傳送至RAM。</p><p>  DS1302共有12個寄存器,其中有7個寄存器與日歷、時鐘相關(guān),存放的數(shù)據(jù)位為BCD碼形式。其日歷、時間寄存器及其控制字如下表所示,其中奇數(shù)為讀操作,偶數(shù)為寫操作。</p

56、><p>  時鐘暫停:秒寄存器的位7定義位時鐘暫停位。當它為1時,DS1302停止振蕩,進入低功耗的備份方式,通常在對DS1302進行寫操作時(如進入時鐘調(diào)整程序),停止振蕩。當它為0時,時鐘將開始啟動。</p><p>  AM-PM/12-24小時方式:小時寄存器的位7定義為12或24小時方式選擇位。它為高電平時,選擇12小時方式。在此方式下,位5為第二個10小時位(20~23h)。&l

57、t;/p><p>  DS1302有主電源/后備電源雙電源引腳:Vcc1在單電源與電池供電的系統(tǒng)中提供低電源,并提供低功率的電磁備份;Vcc1在雙電池系統(tǒng)中提供主電源。在這種運行方式中,Vcc1里連接到后備電源,以便在沒有主電源的情況下能保存時間信息以及數(shù)據(jù)。DS1302由Vcc1或Vcc2中較打大者供電。當Vcc2>(Vcc1+0.2V)時,Vcc2給DS1302供電;當Vcc2<Vcc1時,DS1302由Vcc1

58、供電。Vcc1為后備電源,Vcc2為主電源。在主電源關(guān)閉的情況下,也能保持時鐘的連續(xù)運行。實現(xiàn)停電后時鐘正常運行,可以不顯示,實現(xiàn)掉電保護[5]。</p><p>  3.3 溫度采集模塊的設(shè)計</p><p>  3.3.1 DS18B20簡介</p><p>  系統(tǒng)采用數(shù)字式溫度傳感器DS18B20[6],它是數(shù)字式溫度傳感器,具有測量精度高,電路連接簡單特

59、點,此類傳感器僅需要一條數(shù)據(jù)線進行數(shù)據(jù)傳輸,DS18B20引腳功能如表3-6所示。獨特的一線接口,只需要一條口線通信多點能力,簡化了分布式溫度傳感應(yīng)用無需外部元件可用數(shù)據(jù)總線供電[7],電壓范圍為3.0V至5.5V無需備用電源測量溫度范圍為-55度至+125度。-10度至+85度范圍內(nèi)精度為±0.5度溫度傳感器可編程的分辨率為9~12位[8][9]。</p><p>  DS18B20的主要特征:<

60、;/p><p>  (1) 全數(shù)字溫度轉(zhuǎn)換及輸出。</p><p>  (2) 先進的單總線數(shù)據(jù)通信。</p><p>  (3) 最高12位分辨率,精度可達土0.5攝氏度。</p><p>  (4) 12位分辨率時的最大工作周期為750毫秒。</p><p>  (5) 可選擇寄生工作方式。</p>&l

61、t;p>  (6) 檢測溫度范圍為–55°C ~+125°C (–67°F ~+257°F)</p><p>  (7) 內(nèi)置EEPROM,限溫報警功能。</p><p>  (8) 64位光刻ROM,內(nèi)置產(chǎn)品序列號,方便多機掛接。</p><p>  (9) 多樣封裝形式,適應(yīng)不同硬件系統(tǒng)。</p>&l

62、t;p>  DS18B20芯片封裝結(jié)構(gòu)如圖3-6:</p><p>  圖3-6 DS18B20芯片封裝</p><p>  DS18B20引腳功能: (1) GND 電壓地; (2) DQ 單數(shù)據(jù)總線;(3) VDD 電源電壓 </p><p>  3.3.2 DS18B20與單片機接口電路</p><p>  如圖3-7所示,DS1

63、8B20只需要接到控制器(單片機)的一個I/O口上[10],由于單總線為開漏所以需要外接一個4.7K的上拉電阻。如要采用寄生工作方式,只要將VDD電源引腳與單總線并聯(lián)即可。但在程序設(shè)計中,寄生工作方式將會對總線的狀態(tài)有一些特殊的要求。</p><p>  DS18B20的溫度檢測與數(shù)字數(shù)據(jù)輸出全集成于一個芯片之上,從而抗干擾力更強。一個工作周期可分為兩個部分,即溫度檢測和數(shù)據(jù)處理[11]。在講解其工作流程之前我們

64、有必要了解DS18B20的內(nèi)部存儲器資源。DS18B20共有三種形態(tài)的存儲器資源,它們分別是: </p><p>  ROM 只讀存儲器:用于存放DS18B20ID編碼,其前8位是單線系列編碼(DS18B20的編碼是19H),后面48位是芯片唯一的序列號,最后8位是以上56的位的CRC碼(冗余校驗)。數(shù)據(jù)在出產(chǎn)時設(shè)置不由用戶更改。DS18B20共64位ROM。</p><p>  RAM

65、數(shù)據(jù)暫存器:用于內(nèi)部計算和數(shù)據(jù)存取,數(shù)據(jù)在掉電后丟失,DS18B20共9個字節(jié)RAM,每個字節(jié)為8位。第1、2個字節(jié)是溫度轉(zhuǎn)換后的數(shù)據(jù)值信息,第3、4個字節(jié)是用戶EEPROM(常用于溫度報警值儲存)的鏡像。在上電復(fù)位時其值將被刷新。第5個字節(jié)則是用戶第3個EEPROM的鏡像。第6、7、8個字節(jié)為計數(shù)寄存器,是為了讓用戶得到更高的溫度分辨率而設(shè)計的,同樣也是內(nèi)部溫度轉(zhuǎn)換、計算的暫存單元。第9個字節(jié)為前8個字節(jié)的CRC碼。EEPROM 非易

66、失性記憶體,用于存放長期需要保存的數(shù)據(jù),上下限溫度報警值和校驗數(shù)據(jù),DS18B20共3位EEPROM,并在RAM都存在鏡像,以方便用戶操作。</p><p>  3.4鍵盤顯示模塊的設(shè)計</p><p>  3.4.1 按鍵電路的設(shè)計</p><p>  本系統(tǒng)按鍵采用獨立按鍵設(shè)計,具有電路簡單,軟件實現(xiàn)簡單等有點。按鍵電路設(shè)計如圖3-8所示。</p>

67、<p>  系統(tǒng)共有四個獨立按鍵,分別為“鬧鐘停止鍵”、“設(shè)置鍵”、“增加鍵”、“減小鍵”,當鬧鐘響起后只能手動關(guān)閉,即按下“鬧鐘停止鍵”鬧鐘停止;當調(diào)整時間或者調(diào)整鬧鐘時間時按“設(shè)置鍵”選擇要設(shè)置的選項,本系統(tǒng)“設(shè)置鍵”采用循環(huán)選擇被調(diào)對象的模式,選中要調(diào)整的對象后按“增加鍵”或“減小鍵”調(diào)整完成后按“設(shè)置鍵”確認。</p><p>  圖 3-8 按鍵電路</p><p>

68、  3.4.2顯示電路的設(shè)計</p><p>  一、LCD1602簡介</p><p>  液晶顯示器以其微功耗、體積小、顯示內(nèi)容豐富、超薄輕巧的諸多優(yōu)點,在各類儀表和低功耗系統(tǒng)中得到廣泛的應(yīng)用[12]。根據(jù)顯示內(nèi)容可以分為字符型液晶,圖形液晶。根據(jù)顯示容量又可以分為單行16字,2行16字[13],兩行20字等等。這里介紹常用的字16字X2行的字符型液晶模塊的使用方法。這是一種通用模塊。

69、與數(shù)碼管相比該模塊有如下優(yōu)點:</p><p>  (1) 位數(shù)多,可顯示32位,32個數(shù)碼管體積相當龐大了。</p><p>  (2) 顯示內(nèi)容豐富,可顯示所有數(shù)字和大、小寫字母。</p><p>  (3) 程序簡單,如果用數(shù)碼管動態(tài)顯示,會占用很多時間來刷新顯示,而1602自動完成此功能。</p><p>  1602采用標準的16腳

70、接口,其外觀圖如圖3-9所示,其中引腳如圖3-10所示(模塊背面有標注)。</p><p>  第1腳:VSS為地電源</p><p>  第2腳:VDD接5V正電源</p><p>  第3腳:V0為液晶顯示器對比度調(diào)整端,接正電源時對比度最弱,接地電源時對比度最高,對比度過高時會產(chǎn)生“鬼影”,使用時可以通過一個10K的電位器調(diào)整對比度(建議接地,弄不好有的模塊會

71、不顯示)</p><p>  第4腳:RS為寄存器選擇,高電平時選擇數(shù)據(jù)寄存器、低電平時選擇指令寄存器。</p><p>  第5腳:RW為讀寫信號線,高電平時進行讀操作,低電平時進行寫操作。</p><p>  第6腳:E端為使能端,當E端由高電平跳變成低電平時,液晶模塊執(zhí)行命令。</p><p>  第7~14腳:D0~D7為8位雙向數(shù)據(jù)

72、線。</p><p>  第15~16腳:空腳(有的用來接背光)</p><p>  二、LCD1602與單片機接口電路</p><p>  1602液晶模塊內(nèi)部的控制器共有11條控制指令,如表3-3所示:</p><p>  1602液晶模塊的讀寫操作、屏幕和光標的操作都是通過指令編程來實現(xiàn)的。(說明:1為高電平、0為低電平)</p&

73、gt;<p>  指令1:清顯示,指令碼01H,光標復(fù)位到地址00H位置。</p><p>  指令2:光標復(fù)位,光標返回到地址00H。</p><p>  指令3:光標和顯示模式設(shè)置 I/D:光標移動方向,高電平右移,低電平左移S:屏幕上所有文字是否左移或者右移。高電平表示有效,低電平則無效。</p><p>  指令4:顯示開關(guān)控制。 D:控制整體

74、顯示的開與關(guān),高電平表示開顯示,低電平表示關(guān)顯示 C:控制光標的開與關(guān),高電平表示有光標,低電平表示無光標 B:控制光標是否閃爍,高電平閃爍,低電平不閃爍。</p><p>  指令5:光標或顯示移位 S/C:高電平時移動顯示的文字,低電平時移動光標。</p><p>  指令6:功能設(shè)置命令 DL:高電平時為4位總線,低電平時為8位總線 N:低電平時為單行顯示,高電平時雙行顯示 F: 低

75、電平時顯示5x7的點陣字符,高電平時顯示5x10的點陣字符。</p><p>  指令7:字符發(fā)生器RAM地址設(shè)置。</p><p>  指令8:DDRAM地址設(shè)置。</p><p>  指令9:讀忙信號和光標地址 BF:為忙標志位,高電平表示忙,此時模塊不能接收命令或者數(shù)據(jù),如果為低電平表示不忙。</p><p><b>  指令

76、10:寫數(shù)據(jù)。</b></p><p><b>  指令11:讀數(shù)據(jù)。</b></p><p>  單片機與LCD的接口電路如圖3-11所示。</p><p>  圖3-11 LCD1602接口電路</p><p>  3.5 電源電路設(shè)計</p><p>  圖3-12 電源電路原理

77、圖</p><p>  電源電路采用經(jīng)典穩(wěn)壓電源電路。采用市電220V經(jīng)變壓器變?yōu)?V交流電壓,經(jīng)過橋式整流,電容濾波,通過三端穩(wěn)壓芯片7805穩(wěn)壓后再通過電容濾波后輸出+5V的系統(tǒng)電路所用電源。7805是三端集成穩(wěn)壓電路器件,其內(nèi)具有過流和過熱保護功能,即使過負載時穩(wěn)壓器也不會遭到損壞,一方面限制輸出電流,使其不會過大,過熱時切斷輸出,使內(nèi)部電流不致過大。7805的三端分別為輸入Vin、輸出端Vo和公共端COM

78、,使用時公共端COM通常接地。內(nèi)部等效電路由調(diào)整管、控制電路、誤差放大器、保護電路等組成。原理圖如圖3-12所示。</p><p><b>  4.系統(tǒng)軟件設(shè)計</b></p><p>  軟件的設(shè)計是設(shè)計控制系統(tǒng)的應(yīng)用程序。其任務(wù)是在整體設(shè)計和硬件設(shè)計的基礎(chǔ)上,確定程序結(jié)構(gòu),分配內(nèi)RAM資源,劃分功能模塊,然后進行主程序和各模塊程序的設(shè)計,最后連接起來成為一個完整應(yīng)

79、用程序,與硬件相結(jié)合完成相應(yīng)功能。</p><p>  系統(tǒng)軟件主要有主程序、DS1302時鐘子程序、DS18B20測溫子程序、顯示按鍵子程序。</p><p><b>  4.1 主程序設(shè)計</b></p><p>  主程序的組成是通過分別調(diào)用各子程序組成總體系統(tǒng)功能,能很直觀的看出主程序所要完成的功能,首先是初始化各模塊,之后調(diào)用鍵盤完成

80、時間的調(diào)整,調(diào)用日歷子程序完成日歷時鐘的初始化和時間數(shù)據(jù)的讀寫,調(diào)用溫度子程序完成溫度芯片的初始化和讀寫,調(diào)用鬧鐘子程序當時間達到定時時間時鬧鈴打開,一分鐘后自動關(guān)閉,調(diào)用顯示子程序顯示數(shù)據(jù),最后又轉(zhuǎn)到鍵盤程序來回循環(huán)。</p><p>  初始化部分主要有初始化定時器部分和和一些寄存器、標志位、初始化時間等對定時器T0初始化時,首先置初值,CPU開中斷,定時器T0開中斷,并且開始計數(shù),而對定時器T1初始化時,首

81、先置初值,,定時器T1關(guān)中斷,并且停止計數(shù),只有收到命令時才能產(chǎn)生中斷。主程序采用模塊化設(shè)計,流程圖如圖4-1所示。</p><p>  寄存器的初始化主要是初始化執(zhí)行程序時用到的部分RAM空間,防止程序執(zhí)行時帶來混亂。</p><p>  標志位初始化是對時間調(diào)整時判斷是調(diào)分還是調(diào)時等而專設(shè)的位標志,初始化過程中標志位全部置“0”,即開始時是處于顯示狀態(tài),而不是調(diào)整狀態(tài),這一點在程序中相

82、當明了。</p><p>  初始化時間是開機時顯示的時間,并通過調(diào)用日歷時鐘的寫程序來完成時間的置初值。</p><p>  4.2 時鐘子程序的設(shè)計</p><p>  DS1302與CPU的連接需要三條線[14],即SCLK(7)、I/O(6)、RST(5)。</p><p>  圖4-2 日歷時鐘的寫和讀</p><

83、;p>  日歷時鐘DS1302的讀寫和溫度芯片DS18B20一樣,都需要初始化時序、讀時序、寫時序。所有時序都是將主機作為主設(shè)備,單總線器件作為從設(shè)備。而每一次命令和數(shù)據(jù)的傳輸都是從主機啟動寫時序開始,如果要求單總線器件回送是低位在先。讀寫都是16位數(shù)據(jù)高8位是地址低8位是數(shù)據(jù),在讀寫時要嚴格遵從其讀寫時序,否則讀寫將會失效。流程圖如圖4-2所示。</p><p>  當RST為高電平時,所有的數(shù)據(jù)傳送被初

84、始化,允許對DS1302進行操作。如果在傳送過程中RST置為低電平,則會終止此次數(shù)據(jù)傳送,I/O引腳變?yōu)楦咦钁B(tài)。上電運行時,在Vcc≥2.5V之前,RST必須保持低電平。只有在SCLK為低電平時,才能將RST置為高電平,這一點我們要一定注意。</p><p>  當RST置為高電平時,在串行時鐘的SCLK的上升沿,DS1302從I/O端口讀入一位數(shù)據(jù),8個串行時鐘脈沖就可以讀入一個字節(jié)的數(shù)據(jù)。在串行時鐘的下降沿,

85、DS1302向I/O端口輸出一位數(shù)據(jù),8個串行時鐘脈沖就可以輸出一個字節(jié)的數(shù)據(jù)。</p><p><b>  4.3 測溫子程序</b></p><p>  由于DS18B20采用的是單總線協(xié)議方式,即在一根數(shù)據(jù)線上實現(xiàn)數(shù)據(jù)的雙向傳輸,而對AT89S51單片機來說,硬件上并不支持單總線協(xié)議,因此,我們必須采用軟件的方法來模擬單總線的協(xié)議時序來完成對DS18B20芯片的

86、訪問。由于DS18B20是在一根I/O線上讀寫數(shù)據(jù),因此,對讀寫的數(shù)據(jù)位有著嚴格的時序要求。DS18B20有嚴格的通信協(xié)議來保證各位數(shù)據(jù)傳輸?shù)恼_性和完整性。該協(xié)議定義了幾種信號的時序:初始化時序、讀時序、寫時序。所有時序都是將主機作為主設(shè)備,單總線器件作為從設(shè)備。而每一次命令和數(shù)據(jù)的傳輸都是從主機啟動寫時序開始,如果要求單總線器件回送數(shù)據(jù),在進行寫命令后,主機需啟動讀時序完成數(shù)據(jù)接收。數(shù)據(jù)和命令的傳輸都是低位在先。讀溫度子程序如圖4-

87、3所示。</p><p><b>  4.4 顯示子程序</b></p><p>  首先對1602顯示屏進行初始化(初始化大約持續(xù)10ms左右),然后檢查盲信號,若BF=0,則獲得顯示RAM的地址,寫入相應(yīng)的數(shù)據(jù)顯示;如BF=1,則代表模塊正在進行內(nèi)部操作,不接受任何外部指令和數(shù)據(jù),直到BF=0為止。顯示流程如圖4-4所示。</p><p>

88、<b>  5系統(tǒng)仿真與測試</b></p><p>  5.1 Proteus ISIS簡介</p><p>  Proteus ISIS是英國Labcenter公司開發(fā)的電路分析與實物仿真軟件。它運行于Windows操作系統(tǒng)上,可以仿真、分析(SPICE)各種模擬器件和集成電路[15][16]。</p><p><b>  該軟件

89、的特點是:</b></p><p>  (1) 全部滿足我們提出的單片機軟件仿真系統(tǒng)的標準,并在同類產(chǎn)品中具有明顯的優(yōu)勢。</p><p>  (2) 具有模擬電路仿真、數(shù)字電路仿真、單片機及其外圍電路組成的系統(tǒng)的仿真、RS-232動態(tài)仿真、I2C調(diào)試器、SPI調(diào)試器、鍵盤和LCD系統(tǒng)仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信號發(fā)生器等。</p><

90、;p>  (3)目前支持的單片機類型有:ARM7系列、68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各種外圍芯片。</p><p>  (4)支持大量的存儲器和外圍芯片。</p><p>  總之,該軟件是一款集單片機和SPICE分析于一身的仿真軟件,功能極其強大,可仿真ARM、51、AVR、PIC。</p

91、><p>  5.1.1 啟動Proteus </p><p>  雙擊桌面上的ISIS 7 Professional圖標或者單擊屏幕左下方的“開始”→“程序”→“Proteus 7 Professional” →“ISIS 7 Professional”,出現(xiàn)如圖5.1所示屏幕,表明進入Proteus ISIS集成環(huán)境。</p><p>  Proteus啟動畫面如圖

92、5-1所示。</p><p>  5.1.2 Proteus運行界面</p><p>  Proteus ISIS的工作界面是一種標準的Windows界面,如圖5-2所示。</p><p>  包括:標題欄、主菜單、標準工具欄、繪圖工具欄、狀態(tài)欄、對象選擇按鈕、預(yù)覽對象方位控制按鈕、仿真進程控制按鈕、預(yù)覽窗口、對象選擇器窗口、圖形編輯窗口。運行Proteus程序后

93、,進入軟件的主界面。通過左側(cè)工具欄中的P(從庫中選擇元件命令)命令,在Pick Devices 左側(cè)窗口中選擇所需元件的關(guān)鍵字,然后放置元件并調(diào)整方向和位置以及參數(shù)設(shè)置,最后進行連線。</p><p>  5.1.3 Proteus功能仿真</p><p>  按照原理圖畫好連接線后,最后載入hex文件后按Proteus運行按鈕可以進行模擬仿真,可以全速運行也可以單步調(diào)試運行。完整的連接

94、圖如圖5-3所示。</p><p>  5.2 系統(tǒng)仿真結(jié)果</p><p>  按下運行按鈕LCD顯示如圖5-4所示。顯示的時間日期數(shù)據(jù)是程序內(nèi)部設(shè)置的初值。</p><p>  對萬年歷的參數(shù)調(diào)整時參照以下步驟:當鬧鐘響起后只能手動關(guān)閉,即按下“鬧鐘停止鍵”鬧鐘停止;當調(diào)整時間或者調(diào)整鬧鐘時間時按“設(shè)置鍵”選擇要設(shè)置的選項,本設(shè)計“設(shè)置鍵”采用循環(huán)選擇被調(diào)對象的

95、模式,選中要調(diào)整的對象后按“增加鍵”或“減小鍵”調(diào)整完成后按“設(shè)置鍵”確認。</p><p>  一、調(diào)整時間時如圖5-5所示,光標閃爍的位置是調(diào)整的對象。</p><p>  二、調(diào)整定時:閃爍M調(diào)整的是定時的秒,如圖5-6所示;閃爍F調(diào)整的是定</p><p>  時的分,如圖5-7所示;閃爍S調(diào)整定時的時,如圖5-8所示。</p><p&g

96、t;  三、閏年和平年的調(diào)整</p><p>  閏年和平年顯示結(jié)果:2010年是平年所以2月只有28天,當調(diào)整“日”加時只能到“28”, 如圖5-9所示。2012年是閏年所以2月有29天,當調(diào)整“日”可加到“29”,如圖5-10所示。</p><p><b>  5.3 系統(tǒng)測試</b></p><p>  系統(tǒng)測試分為硬件測試和軟件測試兩部

97、分。</p><p>  在電路板焊接完成后首先進行硬件測試,檢測硬件電路是否有短路、斷路、虛焊等。主要檢測DS1302和18B20的硬件電路, DS1302很簡單,只通過3根線與單片機相連,很容易檢測,主要是檢查其引腳,如晶振和電源等是否接好。另外可以通過軟件來調(diào)試硬件,如為了測試顯示電路連接是否正確,可以編寫一個簡單的顯示程序來測試它。接下來可進行軟件調(diào)試,可以編寫只含DS1302的計時和讀寫程序、顯示程序,

98、測試DS1302是否正常工作。18B20的硬件電路只有一根數(shù)據(jù)線。檢測完成后給系統(tǒng)上電,液晶顯示屏顯示結(jié)果如圖5-11所示。</p><p>  調(diào)節(jié)10K電位器R4可調(diào)整液晶顯示屏的亮度。顯示結(jié)果可以看出DS1302的硬件和軟件都是正常的,而溫度顯示是錯誤的,初步判斷是單片機讀取溫度數(shù)據(jù)時錯誤,而在仿真中讀取是正確的,仿真中的時間延時比較長,所以判斷溫度子程序中的延時不夠長造成的,所以增加溫度子程序中的延時長。

99、把程序重新編譯后燒寫,上電</p><p>  圖5-11 液晶顯示屏的顯示</p><p>  結(jié)果顯示如圖5-12所示,顯示結(jié)果證明時鐘和溫度都已正常。</p><p>  圖5-12 液晶顯示屏的顯示</p><p>  調(diào)整到合適亮度后,按控制按鈕,光標會從陽歷年位開始閃爍,進入設(shè)定調(diào)整狀態(tài)。此時按加按鈕,當前數(shù)字就可改變。按一次,數(shù)

100、字加1;若長按,則數(shù)字連續(xù)加。此時,調(diào)整的位一直在閃爍,直到再次按光標移動控制位,光標跳到下一位閃爍。調(diào)整順序依次為:陽歷年、月、日,陰歷年、月、日,時、分、秒,鬧鈴時、分。當全部參數(shù)調(diào)整完畢后,按退出按鈕,光標停止閃爍,退出設(shè)定調(diào)整狀態(tài);當再次按下此按鈕,鬧鈴顯示“開”;當?shù)谌伟聪麓随I,鬧鈴顯示“關(guān)”。若當前月為閏月,則屏幕左下角會顯示“閏月”;若不是閏月,則無顯示。</p><p>  調(diào)試分為硬件調(diào)試和軟

101、件調(diào)試。硬件調(diào)試主要是DS1302的硬件電路很簡單,只通過3根線與單片機相連,很容易檢測,主要是檢查其引腳,如晶振和電源等是否接好。另外可以通過軟件來調(diào)試硬件,如為了測試顯示電路連接是否正確,可以編寫一個簡單的顯示程序來測試它。接下來可進行軟件調(diào)試,可以編寫只含DS1302的計時和讀寫程序、顯示程序,測試DS1302是否正常工作。最后調(diào)試時間調(diào)整程序和陰歷推算程序。</p><p>  經(jīng)過反復(fù)的調(diào)試和實驗,電子

102、萬年歷可以正常顯示時間并進行時間調(diào)整,基本完成了預(yù)期要實現(xiàn)的目標。</p><p><b>  結(jié)束語</b></p><p>  本設(shè)計介紹了電子萬年歷的實現(xiàn),完成了單片機最小系統(tǒng)、時鐘計時、溫度采集、鍵盤顯示、電源等模塊的設(shè)計。時鐘模塊采用高性能時鐘芯片DS1302,溫度采集模塊采用DS18B20集成溫度傳感器,顯示模塊以LCD1602液晶屏作為顯示。能夠?qū)崿F(xiàn)年、

103、月、日、時、分、秒、星期、溫度同時顯示,有平年閏年和鬧鐘等功能,完成了設(shè)計任務(wù)和要求。</p><p>  本設(shè)計雖完成基本的任務(wù)和要求,但是本設(shè)計還有很多功能的欠缺有待進一步的完善和改進,比如設(shè)定時間和鬧鐘過程繁瑣,顯示可以用顯示面積大的數(shù)碼管,加入語音報時功能,增加顯示陰歷功能等。</p><p><b>  致 謝</b></p><p>

104、;  通過本次畢業(yè)設(shè)計,感覺學(xué)到了很多東西,我不僅加深了對電路設(shè)計原理、單片機原理和Protel DXP等方面的知識的理解,更重要的是學(xué)會怎么樣將理論很好地應(yīng)用到實際當中去,而且我還學(xué)會了如何去培養(yǎng)我的創(chuàng)新精神,從而不斷地戰(zhàn)勝自己,超越自己。當然在本次的畢業(yè)設(shè)計過程中,我遇到過許多困難,但是我經(jīng)過自己的不斷地努力,通過復(fù)習(xí)以前學(xué)過的知識、上網(wǎng)查閱資料、請教老師和同學(xué)等多種解決方法,最終順利完成了本次畢業(yè)設(shè)計。這也對我們今后的工作敲響了警

105、鐘:要認真的看待每個需要處理的問題,不要認為事情過于簡單,不能急于求成,但不要放棄。當然由于自己的知識和技術(shù)水平有限,定有許多不足之處希望老師批評指正!</p><p>  這次畢業(yè)設(shè)計從開始確定設(shè)計方案到最終完成設(shè)計,首先要感謝指導(dǎo)老師的悉心教導(dǎo)!還要感謝的是以前交給我這些理論知識的老師們!在此對您們表示由衷的感謝!</p><p><b>  參考文獻</b>&l

106、t;/p><p>  [1] AlModarresi, SMT;White, NM. Calendar conversion for real-time systems[J].Advances in Engineering Software, 2004, 35(8/9):511-516.</p><p>  [2] 余發(fā)山 王福忠.單片機原理及應(yīng)用技術(shù)[M]. 北京:中國礦業(yè)大學(xué)出版社,20

107、07:9-13.</p><p>  [3] 鄭春來, 韓團軍, 賈建科. 帶日歷時鐘的實時溫度檢測系統(tǒng)設(shè)計.科技廣場,2011(7):123-126</p><p>  [4] 肖炎根,舒望.基于實時鐘芯片的電子萬年歷的設(shè)計[J]. 電子技術(shù),2007,36(11):91-94.</p><p>  [5] 趙敏. 一種多功能串行E2FROM的編程與應(yīng)用[J].

108、福建電腦,2002(12):35-36.</p><p>  [6] 廖琪梅,韓彬,楊文昭等.基于單總線器件DS18B20的溫度測量儀[J].國外電子器件,2008(2):24-27.</p><p>  [7] 張永安,王睿. 基于DS12C887的數(shù)字時鐘的實現(xiàn)[J]. 內(nèi)蒙古農(nóng)業(yè)大學(xué)學(xué)報(自然科學(xué)版),2010, 31(3):263-265.</p><

109、p>  [8] 胡紹祖,曾連蓀. 基于單片機的室內(nèi)溫度采集和控制系統(tǒng)[J].電腦知識與技術(shù),(7):1743-1744.</p><p>  [9] 奚建榮. 基于51單片機的多點溫度控制系統(tǒng)設(shè)計[J].現(xiàn)代電子技術(shù),2009,(2):186-188.</p><p>  [10] 楊偉偉. 淺談基于單片機的溫度測控系統(tǒng)設(shè)計[J].信息與電腦,2010,(2):50-51.</

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論