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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p>  本科畢業(yè)設計(論文)</p><p>  題目: 智能溫度檢測與顯示系統(tǒng)的設計 </p><p>  專 業(yè): 自動化 </p><p>  班 級: 自動化051 學 號: </p><p>  學生姓名:

2、 </p><p>  指導教師: 副教授 </p><p>  起訖日期: 2009.3~2009.6 </p><p>  設計地點: </p><p>  Graduation Desig

3、n (Thesis)</p><p>  Design of Intelligent temperature examination and display system</p><p><b>  摘 要</b></p><p>  近年來,形形色色家電器已經(jīng)在人們的日常生活中扮演著十分重要的角色。隨著科學技術的不斷創(chuàng)新,各種智能家電也

4、漸漸的走進了人們的日常生活,其中溫度控制方面在智能家電領域的應用將十分廣泛。</p><p>  本課題所研究的智能溫度檢測,采用目前市場普遍應用的數(shù)字溫度傳感器實現(xiàn),加之其人性化的液晶顯示功能,今后在家用電器領域具有廣闊的應用前景。系統(tǒng)主要的組成模塊如下:鍵盤掃描模塊(4個獨立按鍵);檢測信息提示模塊(發(fā)光二極管);日期顯示模塊(通過DS1302時鐘芯片實現(xiàn));液晶顯示模塊(采用12864液晶顯示芯片);溫度控

5、制模塊(使用DS18B20溫度傳感器設計);其實現(xiàn)的主要功能為:(1)日期顯示,用于實現(xiàn)實時的時間信息顯示(2)加熱模式,主要應用在智能熱水器方面,用于控制水溫。(3)制冷模式,主要應用在智能冰箱方面,用于控制冷藏食物的溫度。(4)恒溫模式,主要應用在空調方面,用于控制室內的溫度,保持恒溫。(5)附加功能:體溫檢測模式。由于目前世界各國人們正在遭受甲型H1N1流感的威脅,本設計所帶的附加功能,主要完成初步檢測的任務。</p>

6、<p>  關鍵詞:單片機;溫度控制;智能家電</p><p><b>  ABSTRACT</b></p><p>  The electrical appliances of all forms already were playing in recent years the very important role in people's d

7、aily life. Along with science's and technology's unceasing innovation, each kind of intelligent electrical appliances also gradually entered people's daily life, the temperature control aspect will be very wi

8、despread in the intelligent electrical appliances domain's application.</p><p>  This topic studies the intelligence temperature detector, uses the present market universal application the digit temperat

9、ure sensor to realize, in addition its user-friendly liquid crystal display function, from now on will have the broad application prospect in the domestic electric appliances domain. The system main composi</p>&l

10、t;p>  tion module is as follows: Keyboard scanning module (4 independent pressed keys); Simulation heating module (light emitter diode); The date display module (realizes through DS1302 clock chip); The liquid crystal

11、 display module (uses 12864 liquid crystal display chip); The temperature control module (uses DS18B20 temperature sensor design); It realizes the major function is: (1) the date demonstrated that uses in realizing the r

12、eal-time time information to demonstrate (2) heats up the pattern, th</p><p>  Keywords:Monolithic integrated circuit; Temperature control; Intelligent electrical appliances</p><p><b>  目錄

13、</b></p><p><b>  第一章 緒論3</b></p><p><b>  1.1 引言 3</b></p><p>  1.2選題的背景和意義3</p><p>  1.3本文的結構4</p><p>  第二章 系統(tǒng)總體方案設計5&

14、lt;/p><p><b>  2.1方案選擇5</b></p><p>  2.2 總體方案設計5</p><p>  第三章 系統(tǒng)硬件設計7</p><p>  3.1 單片機控制模塊設計7</p><p>  3.1.1 概述7</p><p>  3.1

15、.2 功能特性8</p><p>  3.1.3 引腳描述8</p><p>  3.1.4 時鐘振蕩電路與復位電路10</p><p>  3.1.5 AT89C52硬件連接圖:11</p><p>  3.2 溫度控制模塊設計(DS18B20)12</p><p>  3.2.1 DS18B20產(chǎn)

16、品的特點12</p><p>  3.2.2 DS18B20的引腳介紹12</p><p>  3.2.3 DS18B20硬件連接13</p><p>  3.2.4 DS18B20的工作原理14</p><p>  3.3 時鐘模塊設計(DS1302)17</p><p>  3.3.1 概述

17、17</p><p>  3.3.2 DS1302 引腳描述及與單片機硬件連接18</p><p>  3.4 液晶顯示模塊設計 (12864)19</p><p>  3.4.1 液晶顯示模塊概述19</p><p>  3.4.2 外形尺寸20</p><p>  3.4.3 模塊引腳說明20&

18、lt;/p><p>  3.4.4 12864液晶與單片機的硬件連接圖21</p><p>  3.5 發(fā)光二極管與獨立鍵盤模塊設計22</p><p>  3.5.1 發(fā)光二極管22</p><p>  3.5.2 獨立鍵盤22</p><p>  第四章 系統(tǒng)軟件設計24</p><

19、;p>  4.1溫度控制模塊程序設計24</p><p>  4.2 日期模塊程序設計27</p><p>  4.2.1 DS1302內部寄存器27</p><p>  4.2.2 DS1302的工作時序圖30</p><p>  4.3 液晶顯示模塊程序設計33</p><p>  4.3.1

20、 用戶指令集33</p><p>  4.3.2 顯示坐標關系37</p><p>  4.3.3 顯示RAM38</p><p>  4.3.4 12864工作時序圖39</p><p>  4.4 發(fā)光二級管與鍵盤程序設計42</p><p>  4.5 系統(tǒng)程序流程圖44</p>

21、;<p>  第五章 附加功能介紹45</p><p>  5.1 硬件連接圖45</p><p>  5.2 功能介紹45</p><p>  第六章 結論46</p><p>  6.1 論文總結46</p><p>  6.2 感想 46</p><p>&l

22、t;b>  致 謝47</b></p><p>  參 考 文 獻48</p><p>  附錄A: 英文資料49</p><p>  附錄B: 英文資料翻譯53</p><p>  附錄C PROTUES仿真硬件設計圖56</p><p>  附錄D 程序清單57&l

23、t;/p><p>  附件: 畢業(yè)論文光盤資料</p><p><b>  第一章 緒論</b></p><p><b>  1.1 引言</b></p><p>  隨著科學技術的飛速發(fā)展,各種高技術不斷涌入我們的生活、工作,也改變著我們的認識。融入一定智慧的各類智能技術,正在悄悄走近我們,并

24、將會成為下一個世紀技術的焦點。家用電器的功能控制大致經(jīng)歷了普通控制型、電子控制型、微電腦控制型、智能模糊控制型的發(fā)展歷程,其使用操作也是由簡單到復雜、再到簡單的過程,并且家用電器的功能越來越完善。現(xiàn)代家用電器已經(jīng)進入了微電腦(單片機)、傳感器智能模糊控制的新時代。隨著單片微型計算機不斷發(fā)展,由于它具有體積小、功能強、性價比高等特點,因此其在溫度控制領域方面的應用已經(jīng)逐步占據(jù)主導地位。由其構成的溫度控制器的已廣泛應用于家用電器、節(jié)能裝置等

25、諸多領域,使產(chǎn)品小型化、智能化,既提高了產(chǎn)品的功能和質量,又降低了成本,簡化了設計。其實對人類來說,先進和智能的家用電器的發(fā)明和使用是巨大的貢獻,我們應該從積極的和長遠的意義去看待這些發(fā)明。多虧了這些先進和智能的家用電器減輕了家務的繁雜和冗長,家庭主婦們可以節(jié)約大量的時間來陪伴家人、孩子,所以在現(xiàn)代,全職的家庭主婦就很少了,既能外出工作,又能回家做家務,里外都不耽誤。</p><p>  1.2選題的背景和意義&

26、lt;/p><p>  在人類的生活環(huán)境中,溫度扮演著極其重要的角色。無論你生活在哪兒,從事哪些工作,無時無刻不在與溫度打著交道。在溫度控制領域溫度傳感元件幾乎是無處不在。從空調系統(tǒng)、冰箱、電飯煲、電風扇等家電產(chǎn)品直至PC機、服務器、計算機外設、移動電話手機等,都需要具有溫度傳感功能的器件。雖然長期以來熱敏電阻器是最常用的元件,目前在一些工業(yè)應用領域仍然起重要的作用;但是,集成電路溫度傳感器比起熱敏電阻器有著明顯的優(yōu)

27、點,包括準確度更高,體積更小,功耗更低,更加適合在集成電路系統(tǒng)中應用。溫度傳感器集成電路的電壓輸出與溫度成正比,在相當寬的溫度范圍內,都具有很高的準確度。反之,熱敏電阻器的電壓輸出與溫度不具有線性關系,需通過查表或外加線性化電路,才能得到準確的溫度。而且,熱敏電阻器在高溫區(qū)段電壓變化率較小,不易分辨,造成溫度測量的誤差較大。這是熱敏電阻器的最大缺點。相比之下,集成電路溫度傳感器因其電壓輸出與溫度成線性關系,無論在高溫或低溫范圍內,準確度

28、都是一樣的。其次,熱敏電阻器產(chǎn)品在不同的批次間存在差異,電子響應性能不一致。因而,使用前都需要進行調校,在大量生產(chǎn)時增加成本和時間。集成電路溫度傳感器的輸出阻抗較低</p><p>  隨著科學技術的不斷創(chuàng)新,數(shù)字溫度傳感器已經(jīng)廣泛應用在家用電器、工業(yè)控制以及人們的日常生活等許多領域。特別是在家用電器領域應用的最為廣泛,例如智能熱水器、空調器恒溫裝置、電冰箱制冷系統(tǒng)等均可采用數(shù)字溫度傳感器來實現(xiàn)。隨著人們生活水平

29、的不斷提高,各種智能家電會成為家電行業(yè)的主要發(fā)展方向。屆時,數(shù)字溫度傳感器以及液晶顯示模塊將會進一步走進更加廣泛的家用電器領域。為人們的生活服務。</p><p><b>  1.3本文的結構</b></p><p>  本文以基于單片機的智能溫度檢測器的設計。對單片機應用與數(shù)字溫度傳感器、液晶顯示、時鐘芯片等的應用技術進行了研究。全文共分為六章,各章的主要內容如下:

30、</p><p>  第一章簡要地介紹智能家電的發(fā)展以及溫度控制技術在家電領域中的應用;</p><p>  第二章規(guī)劃并給出系統(tǒng)的總體設計方案;</p><p>  第三章介紹了系統(tǒng)各模塊的介紹,及其在PROTUES中的硬件仿真設計;</p><p>  第四章對系統(tǒng)的各模塊進行軟件設計,給出了程序的流程圖;</p><

31、p>  第五章對對于系統(tǒng)的附加功能(體溫檢測)進行了介紹;</p><p>  第六章總結了整個課題研究工作,總結了設計的成果和感想。</p><p>  第二章 系統(tǒng)總體方案設計</p><p><b>  2.1方案選擇</b></p><p>  由于數(shù)字溫度傳感器的各方面的優(yōu)點。在本設計中采用了目前市場上

32、廣泛應用的一款數(shù)字溫度傳感器——DS18B20。它是由美國DALLAS公司生產(chǎn)單總線器件,具有線路簡單,體積小的特點。以AT89C52為核心的單片機控制系統(tǒng),采用12864液晶來實現(xiàn)相應信息的顯示,用DS1302時鐘芯片來實現(xiàn)實時時間提示功能。</p><p>  2.2 總體方案設計</p><p>  系統(tǒng)主要的組成模塊如下:鍵盤掃描模塊(4個獨立按鍵);檢測信息提示模塊(發(fā)光二極管)

33、;日期顯示模塊(通過DS1302時鐘芯片實現(xiàn));液晶顯示模(采用12864液晶顯示芯片);溫度控制模塊(使用DS18B20溫度傳感器設計);附加功能模塊(體溫檢測)。系統(tǒng)總體方案設計框圖如圖2.1所示</p><p>  圖2.1 系統(tǒng)總體方案設計框圖</p><p>  其實現(xiàn)的以下的功能:</p><p> ?。?)日期顯示模塊:編程通過AT89C52控制DS

34、1302時鐘芯片實現(xiàn)時鐘功能(包括:年、月、日、星期、時、分、秒)。相應的時期信息發(fā)送到12864液晶上顯示。</p><p> ?。?)當S1鍵時:進入制冷模式,溫度控制模塊DS18B20采集當前溫度信息與制冷的設定值比較。并將相應的信息發(fā)送到12864液晶上顯示。</p><p> ?。?)當S2鍵時:進入加熱模式,溫度控制模塊DS18B20采集當前溫度信息與加熱的設定值比較。并將相應

35、的信息發(fā)送到12864液晶上顯示</p><p> ?。?)當S3鍵時:進入恒溫模式,溫度控制模塊DS18B20采集當前溫度信息與恒溫設定值比較。并將相應的信息發(fā)送到12864液晶上顯示</p><p> ?。?):當S4鍵時:進入附加功能模塊,溫度控制模塊DS18B20采集當前體溫數(shù)值并與設定值比較。并將相應的信息發(fā)送到12864液晶上以及發(fā)光二極管上顯示</p><

36、p>  第三章 系統(tǒng)硬件設計</p><p>  3.1 單片機主控制模塊設計</p><p><b>  3.1.1 概述</b></p><p>  AT89C52是美國ATMEL公司生產(chǎn)的低電壓,高性能CMOS電路8位單片機,片內含有8K bytes的可反復擦寫的FLASH只讀程序存儲器和256 bytes的隨機存取數(shù)據(jù)存儲器

37、(RAM)。芯片采用ATMEL公司的高密度、非易失性存儲技術生產(chǎn),兼容標準MCS-51指令系統(tǒng)。內置通用8位中央處理器(CPU)和Flash存儲單元,由于功能強大,可應用于多種高性價比場合。</p><p>  AT89C52的引腳如圖3.1所示。主要性能參數(shù)如下:</p><p>  與MCS-51產(chǎn)品指令系統(tǒng)完全兼容</p><p>  8K字節(jié)可重擦寫Flas

38、h閃速存儲器</p><p><b>  1000次擦寫周期</b></p><p>  全靜態(tài)操作:0Hz~24MHz</p><p><b>  三級加密程序存儲器</b></p><p>  256×8字節(jié)內部RAM</p><p>  32個可編程I/O口線

39、</p><p>  3個16位定時/計數(shù)器</p><p><b>  8個中斷源</b></p><p>  可編程串行UART通道</p><p>  低功耗空閑和掉電模式</p><p>  圖3.1 AT89C52芯片引腳圖</p><p>  3.1.2 功能特

40、性</p><p>  AT89C52提供以下的功能標準:8K字節(jié)閃爍存儲器,256字節(jié)隨機存取數(shù)據(jù)存儲器,32個I/O口,3個16位定時/計數(shù)器,1個6向量兩級中斷結構,1個全雙工串行通信口,片內振蕩器和時鐘電路。另外,AT89C52還可以進行0HZ的靜態(tài)邏輯操作,并支持兩種軟件的節(jié)電模式。空閑方式停止中央處理器的工作,能夠允許RAM、定時/計數(shù)器、串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM中的內容,但振

41、蕩器停止工作并禁止其它所有部件的工作直到下一個硬件復位。</p><p>  3.1.3 引腳描述</p><p>  VCC:電源電壓 </p><p><b>  GND:地</b></p><p><b>  P0口:</b></p><p>  P0口是一組8位

42、漏極開路雙向I/O口,即地址/數(shù)據(jù)總線復用口。作為輸出口時,每一個管腳都能夠驅動8個TTL電路。當“1”被寫入P0口時,每個管腳都能夠作為高阻抗輸入端。P0口還能夠在訪問外部數(shù)據(jù)存儲器或程序存儲器時,轉換地址和數(shù)據(jù)總線復用,并在這時激活內部的上拉電阻。P0口在FLASH編程時,P0口接收指令,在程序校驗時,輸出指令,需要外接上拉電阻。</p><p><b>  P1口:</b></p

43、><p>  P1口一個帶內部上拉電阻的8位雙向I/O口,P1的輸出緩沖級可驅動4個TTL電路。對端口寫“1”,通過內部的電阻把端口拉到高電平,此時可作為輸入口。因為內部有上拉電阻,某個引腳被外部信號拉低時輸出一個電流。與AT89C51不同之處是,P1.0和P1.1還可分別作為定時/計數(shù)器2的外部計數(shù)輸入和輸出。FLASH編程和程序校驗期間,P1接受低8位地址。</p><p><b&g

44、t;  P2口:</b></p><p>  P2口是一個內部帶有上拉電阻的8位雙向I/O口,P2的輸出緩沖級可驅動4個TTL電路。對端口寫“1”,通過內部的電阻把端口拉到高電平,此時,可作為輸入口。因為內部有上拉電阻,某個引腳被外部信號拉低時會輸出一個電流。在訪問外部程序存儲器或16位地址的外部數(shù)據(jù)存儲器時,P2口送出高8位地址數(shù)據(jù)。在訪問8位地址的外部數(shù)據(jù)存儲器時,P2口線上的內容在整個運行期間不

45、變。FLASH編程或校驗時,P2口接收高位地址和其它控制信號。</p><p><b>  P3口:</b></p><p>  P3口是一組帶有內部電阻的8位雙向I/O口,P3口輸出緩沖故可驅動4個TTL電路。對P3口寫如“1”時,它們被內部電阻拉到高電平并可作為輸入端時,被外部拉低的P3口將用電阻輸出電流。</p><p>  P3口除了作

46、為一般的I/O口外,更重要的用途是它的第二功能,如下表3.2所示:</p><p>  表3.2 P3口第二功能表</p><p>  P3口還接收一些用于FLASH存儲器編程和程序校驗的控制信號。</p><p><b>  RST:</b></p><p>  復位輸入。當振蕩器工作時,RET引腳出現(xiàn)兩個機器周期

47、以上的高電平將使單片機復位。</p><p><b> ?。?lt;/b></p><p>  當訪問外部程序存儲器或數(shù)據(jù)存儲器時,ALE輸出脈沖用于鎖存地址的低8位字節(jié)。即使不訪問外部存儲器,ALE以時鐘震蕩頻率的1/16輸出固定的正脈沖信號,因此它可對輸出時鐘或用于定時目的。要注意的是:每當訪問外部數(shù)據(jù)存儲器時將跳過一個ALE脈沖時,F(xiàn)LASH存儲器編程時,這個引腳還用

48、于輸入編程脈沖。如果必要,可對特殊寄存器區(qū)中的8EH單元的D0位置禁止ALE操作。這個位置后只有一條MOVX和MOVC指令ALE才會被應用。此外,這個引腳會微弱拉高,單片機執(zhí)行外部程序時,應設置ALE無效。</p><p><b>  PSEN:</b></p><p>  程序儲存允許輸出是外部程序存儲器的讀選通信號,當AT89C52由外部程序存儲器讀取指令時,每個

49、機器周期兩次PSEN 有效,即輸出兩個脈沖。在此期間,當訪問外部數(shù)據(jù)存儲器時,這兩次有效的PSEN 信號不出現(xiàn)。</p><p><b>  :</b></p><p>  外部訪問允許。欲使中央處理器僅訪問外部程序存儲器,EA端必須保持低電平。需要注意的是:如果加密位LBI被編程,復位時內部會鎖存EA端狀態(tài)。如EA端為高電平,CPU則執(zhí)行內部程序存儲器中的指令。閃爍

50、存儲器編程時,該引腳加上+12V的編程允許電壓VPP,當然這必須是該器件是使用12V編程電壓VPP。</p><p>  XTAL1:振蕩器反相放大器及內部時鐘發(fā)生器的輸入端。</p><p>  XTAL2:振蕩器反相放大器的輸出端。</p><p>  3.1.4 時鐘振蕩電路與復位電路</p><p>  AT89C52中有一個用于構

51、成內部振蕩器的高增益反相放大器,引腳XTAL1和XTAL2分別是該放大器的輸入端和輸出端。這個放大器與作為反饋元件的片外石英晶體或陶瓷諧振器一起構成自激震蕩器。 外接石英晶體及電容C1,C2接在放大器的反饋回路中構成并聯(lián)震蕩電路。對外接電容C1,C2雖然沒有十分嚴格的要求,但電容容量的大小會輕微影響震蕩頻率的高低、震蕩器工作的穩(wěn)定性、起振的難易程序及溫度穩(wěn)定性。如果使用石英晶體,我們推薦電容使用30PF±10PF,而如果使用陶

52、瓷振蕩器建議選擇40PF±10PF。用戶也可以采用外部時鐘。采用外部時鐘的電路如圖3.3示。這種情況下,外部時鐘脈沖接到XTAL1端,即內部時鐘發(fā)生器的輸入端,XTAL2則懸空。由于外部時鐘信號是通過一個2分頻觸發(fā)器后作為內部時鐘信號的,所以對外部時鐘信號的占空比沒有特殊要求,但最小高電平持續(xù)時間和最大的低電平持續(xù)時間應符合產(chǎn)品技術條件的要求</p><p>  圖3.3 時鐘振蕩電路</p&

53、gt;<p>  本設計中采用如圖3.4所示的振蕩電路:</p><p>  圖3.4 振蕩電路</p><p>  本設計中采用如圖3.5所示的復位電路:</p><p>  圖3.5 復位電路</p><p>  3.1.5 AT89C52硬件連接圖:</p><p>  本設計中采用AT89C

54、52硬件連接圖如圖3.6所示</p><p>  圖3.6 AT89C52硬件連接圖</p><p>  3.2 溫度控制模塊設計(DS18B20)</p><p>  DS18B20數(shù)字溫度計是DALLAS公司生產(chǎn)的1-Wire,即單總線器件,具有</p><p>  線路簡單,體積小的特點。因此用它來組成一個測溫系統(tǒng),具有線路簡單,

55、在一</p><p>  根通信線,可以掛很多這樣的數(shù)字溫度計,十分方便。</p><p>  3.2.1 DS18B20產(chǎn)品的特點</p><p>  (1)、只要求一個端口即可實現(xiàn)通信。</p><p> ?。?)、在DS18B20中的每個器件上都有獨一無二的序列號。</p><p> ?。?)、實際應用中不需

56、要外部任何元器件即可實現(xiàn)測溫。</p><p>  (4)、測量溫度范圍在-55。C到+125。C之間。</p><p> ?。?)、數(shù)字溫度計的分辨率用戶可以從9位到12位選擇。</p><p> ?。?)、內部有溫度上、下限告警設置。</p><p>  3.2.2 DS18B20的引腳介紹</p><p>  

57、TO-92封裝的DS18B20的引腳排列及其引腳功能描述見圖3.7所示:</p><p>  圖3.7 DS18B20的引腳說明</p><p>  3.2.3 DS18B20硬件連接</p><p>  首先介紹一下“單總線”的概念。主機可以是微控制器,從機是單總線器件,它們之間的數(shù)據(jù)交換只通過一條數(shù)據(jù)線。設備通過一個漏極開路或三態(tài)端口連至該數(shù)據(jù)線,以允許設

58、備在不發(fā)送數(shù)據(jù)時釋放總線,讓其他設備使用總線。單總線通常要求外接一個約5K的上拉電阻。</p><p>  Ds18b20芯片手冊上的典型連接如下圖3.8所示 .從圖中可以看出,DS18B20與單片機的連接非常簡單,單片機只需要一個I/O口就可以控制DS18B20。</p><p>  圖3.8 Ds18b20的典型硬件連接圖</p><p>  在本設計中,DS1

59、8B20與AT89C52硬件連接如圖3.9所示:</p><p>  圖3.9 Ds18b20硬件連接圖</p><p>  3.2.4 DS18B20的工作原理</p><p><b>  存儲器</b></p><p>  存儲器有一個暫存SRAM和一個存儲高低報警觸發(fā)值TH和TL的非易失性電可擦除EEPROM組

60、成。注意當報警功能不使用時,TH和TL寄存器可以被當作普通寄存器使用。</p><p>  位0和位1為測得溫度信息的LSB和MSB。這兩個字節(jié)是只讀的。</p><p>  第2和第3字節(jié)是TH和TL的拷貝。</p><p>  位4包含配置寄存器數(shù)據(jù)。</p><p>  位5,6和7被器件保留,禁止寫入。</p><

61、p>  高速暫存器的位8是只讀的,包含以上八個字節(jié)的CRC碼。</p><p>  DS18B20的存儲器結構示于圖3.10:</p><p>  圖3.10 DS18B20的存儲器結構圖</p><p><b>  測溫操作</b></p><p>  DS18B20的核心功能是它的直接讀數(shù)字的溫度傳感器。溫度傳

62、感器的精度為用戶</p><p>  可編程的9,10,11或12位,分別以0.5℃,0.25℃,0.125℃和0.0625℃增量</p><p>  遞增。在上電狀態(tài)下默認的精度為12位。DS18B20啟動后保持低功耗等待狀態(tài);</p><p>  當需要執(zhí)行溫度測量和AD轉換時,總線控制器必須發(fā)出[44h]命令。在那之后,</p><p>

63、;  產(chǎn)生的溫度數(shù)據(jù)以兩個字節(jié)的形式被存儲到高速暫存器的溫度寄存器中,</p><p>  溫度寄存器格式圖3.11。</p><p>  圖3.11 DS18B20溫度寄存器格式圖</p><p>  由于DS18B20在上電狀態(tài)下默認的精度為12位,最高位是符號位,即溫度值是11位,存儲在高速暫存器的溫度寄存器中0—1字節(jié)。單片機在讀取數(shù)據(jù)時,一次讀兩個字節(jié)共

64、16位數(shù)據(jù),其中高5位為符號位,低11位為溫度數(shù)據(jù)位。</p><p> ?。?) 當前5位為0時,讀取的溫度為正值,將讀到的11位二進制溫度值乘以0.0625,可以得到實際溫度值。</p><p>  (2) 當前5位為1時,讀取的溫度為負值,需要將讀到的11位二進制溫度值按位取反并加1,再乘以0.0625,才可以得到實際溫度值。</p><p>  本設計中,對

65、于讀取的溫度數(shù)值的處理過程現(xiàn)分析如下:</p><p>  首先從DS18B20中讀出轉換完成的當前溫度值</p><p>  a=ReadOneChar();//溫度值低位</p><p>  b=ReadOneChar();//溫度值高位</p><p><b>  t=b;</b></p><p

66、><b>  t<<=8;</b></p><p><b>  t=t|a;</b></p><p>  t=t*0.0625; //轉換為實際的十進制溫度</p><p><b> ?。?lt;/b></p><p>  DS18B20的指令</p&g

67、t;<p><b>  1、ROM指令</b></p><p>  一旦總線控制器探測到一個存在脈沖,它就發(fā)出一條ROM指令。如果總線上掛有</p><p>  多只DS18B20,這些指令將基于器件獨有的64位ROM片序列碼使得總線控制器</p><p>  選出特定要進行操作的器件。這些指令同樣也可以使總線控制器識別有多少只,

68、</p><p>  什么型號的器件掛在總線上,同樣,它們也可以識別哪些器件已經(jīng)符合報警條件。</p><p>  ROM指令有5條,都是8位長度??偩€控制器在發(fā)起一條DS18B20功能指令之前</p><p>  必須先發(fā)出一條ROM指令。</p><p>  64位(激)光刻只讀存儲器介紹:</p><p>  每

69、只DS18B20都有一個唯一存儲在ROM中的64位編碼。最前面8位是單線系列</p><p>  編碼:28h。接著的48位是一個唯一的序列號。最后8位是以上56位的CRC編</p><p><b>  碼。</b></p><p>  圖3.12 64位(激)光刻只讀存儲器</p><p>  F0h—(搜索ROM指

70、令)</p><p>  當系統(tǒng)上電初始化的時候,總線控制器必須通過識別總線上所有ROM片序列碼去</p><p>  得到從機的數(shù)目和型號??偩€控制器通過搜索ROM指令多次循環(huán)搜索ROM編碼,</p><p>  以確認所有從機器件。</p><p>  33h—(讀取ROM指令)</p><p>  只有在總線上存

71、在單只DS18B20的時候才能使用這條命令。該命令允許總線控制</p><p>  器在不使用搜索ROM指令的情況下讀取從機的64位片序列碼。如果總線上有不</p><p>  止一只從機,當所有從機試圖同時傳送信號時就會發(fā)生數(shù)據(jù)沖突。</p><p>  55h—(匹配ROM指令)</p><p>  匹配ROM指令,后跟64位ROM編碼序

72、列,讓總線控制器在多點總線上定位一只</p><p>  特定的DS18B20。只有和64位ROM片序列碼完全匹配的DS18B20才能響應隨后</p><p>  的存儲器操作指令;所有和64位ROM片序列碼不匹配的從機都將等待復位脈沖。</p><p>  CCh—(忽略ROM指令)</p><p>  這條指令允許總線控制器不用提供64位

73、ROM編碼就使用功能指令。例如,總線</p><p>  控制器可以先發(fā)出一條忽略ROM指令,然后發(fā)出溫度轉換指令[44h],從而完成</p><p>  溫度轉換操作。注意:當只有一只從機在總線上時,無論如何,忽略ROM指令之</p><p>  后只能跟著發(fā)出一條讀取暫存器指令[BEh]。在單點總線情況下使用該命令,器</p><p> 

74、 件無需發(fā)回64位ROM編碼,從而節(jié)省了時間。如果總線上有不止一只從機,若</p><p>  發(fā)出忽略ROM指令,由于多只從機同時傳送信號,總線上就會發(fā)生數(shù)據(jù)沖突。</p><p>  ECH—(報警搜索指令)</p><p>  這條命令的流程和搜索ROM指令相同,然而,只有滿足報警條件的從機才對該命</p><p>  令作出響應。只有

75、在最近一次測溫后遇到符合報警條件的情況,DS18B20才會響</p><p><b>  應這條命令。</b></p><p>  2、DS18B20功能指令</p><p>  在總線控制器發(fā)給欲連接的DS18B20一條ROM命令后,跟著可以發(fā)送一條DS18B20功能指令。這些命令允許總線控制器讀寫DS18B20的暫存器,發(fā)起溫度轉換和識別電

76、源模式。DS18B20的功能指令詳見下文。</p><p>  44h—(溫度轉換指令)</p><p>  這條命令用以啟動一次溫度轉換。溫度轉換指令被執(zhí)行,產(chǎn)生的溫度轉換結果數(shù)</p><p>  據(jù)以2個字節(jié)的形式被存儲在高速暫存器中,而后DS18B20保持等待狀態(tài)。</p><p>  4Eh—(寫暫存器指令)</p>

77、<p>  這條命令向DS18B20的暫存器寫入數(shù)據(jù),開始位置在TH寄存器(暫存器的第2</p><p>  個字節(jié)),接下來寫入TL寄存器(暫存器的第3個字節(jié)),最后寫入配置寄存器</p><p> ?。〞捍嫫鞯牡?個字節(jié))。數(shù)據(jù)以最低有效位開始傳送。上述三個字節(jié)的寫入必</p><p>  須發(fā)生在總線控制器發(fā)出復位命令前,否則會中止寫入。</p

78、><p>  BEh—(讀暫存器指令)</p><p>  這條命令讀取暫存器的內容。讀取將從字節(jié)0開始,一只進行下去,直到第9字節(jié)(字節(jié)8,CRC)讀完,如果不想讀完所有字節(jié),控制器可以在任何時間發(fā)出復位命令來中止讀取。</p><p>  48h—(拷貝暫存器指令)</p><p>  這條命令把TH,TL和配置寄存器(第2、3、4字節(jié))的內

79、容拷貝到EEPROM中。</p><p>  B8H—(召回EEPROM指令)</p><p>  這條命令把報警觸發(fā)器的值(TH和TL)以及配置數(shù)據(jù)從EEPROM拷回暫存器。總</p><p>  線控制器在發(fā)出該命令后讀時序,DS18B20會輸出拷回標識:0標識正在拷回,1</p><p>  標識拷回結束。這種拷回操作在DS18B20上

80、電時自動執(zhí)行,這樣器件一上電暫存</p><p>  器里馬上就存在有效的數(shù)據(jù)了。</p><p>  B4h—(讀電源模式指令)</p><p>  總線控制器在這條命令發(fā)給DS18B20后發(fā)出讀時序,若是寄生電源模式,DS18B20</p><p>  將拉低總線,若是外部電源模式,DS18B20將會把總線拉高。</p>&

81、lt;p>  本設計中,由于只采用了一個DS18B20溫度傳感器,則在具體程序設計中采用了以下指令。分析如下:</p><p>  WriteOneChar(0xCC); // 跳過讀序列號的操作,由于只有一個DS18B20</p><p>  WriteOneChar(0x44); // 啟動溫度轉換</p><p>  WriteOneChar(0xBE)

82、; //讀取溫度寄存器等(共可讀9個寄存器) 前兩個就是溫度值</p><p>  3.3 時鐘模塊設計(DS1302)</p><p><b>  3.3.1 概述</b></p><p>  DS1302是DALLAS公司推出的涓流充電時鐘芯片內含,有一個實時時鐘/日歷和31字節(jié)靜態(tài)RAM,通過簡單的串行接口與單片機進行通信。實時時鐘/日

83、歷電路提供秒、分、時、日、日期、月、年的信息,每月的天數(shù)和閏年的天數(shù)可自動調整,時鐘操作可通過AM/PM指示決定采用24或12小時格式。DS1302與單片機之間能簡單地采用同步串行的方式進行通信,僅需用到三個口線: RES(復位)、I/O(數(shù)據(jù)線) 、SCLK(串行時鐘)。串行時鐘時鐘/RAM的讀/寫數(shù)據(jù)以一個字節(jié)或多達31個字節(jié)的字符組方式通信。DS1302工作時功耗很低,保持數(shù)據(jù)和時鐘信息時功率小于1mW。</p>&

84、lt;p>  DS1302是由DS1202改進而來,增加了以下的特性:雙電源管腳用于主電源和備份電源供應,Vcc1為可編程涓流充電,電源附加七個字節(jié)存儲器。它廣泛應用于電話、傳真、便攜式儀器以及電池供電的儀器儀表等產(chǎn)品領域。下面將主要的性能指標作一綜合:</p><p>  (1)實時時鐘具有能計算2100年之前的秒、分、時、日、日期、星期、月、年的能力,還有閏年調整的能力。</p><

85、p>  (2)31 8位暫存數(shù)據(jù)存儲RAM</p><p> ?。?)串行I/O口方式使得管腳數(shù)量最少</p><p>  (4)寬范圍工作電壓:2.0 —5.5V</p><p>  (5)工作電流:2.0V時,小于300nA</p><p> ?。?)讀/寫時鐘或RAM數(shù)據(jù)時,有兩種傳送方式:單字節(jié)傳送和多字節(jié)傳送(字符組方式)&l

86、t;/p><p>  (8)腳DIP封裝或可選的8腳SOIC封裝(根據(jù)表面裝配)</p><p><b> ?。?)簡單3線接口</b></p><p> ?。?0)與TTL兼容(Vcc=5V)</p><p> ?。?1)可選工業(yè)級溫度范圍-40—85攝氏度</p><p> ?。?2)與DS120

87、2兼容</p><p> ?。?3)在DS1202基礎上增加的特性</p><p>  -對Vcc1有可選的涓流充電能力</p><p>  -雙電源管用于主電源和備份電源供應</p><p>  -備份電源管腳可由電池或大容量電容輸入</p><p>  -附加的7字節(jié)暫存存儲器</p><p&g

88、t;  3.3.2 DS1302 引腳描述及與單片機典型接口</p><p>  DS1302的管腳排列及描述如圖3.13所示</p><p><b>  管腳描述:</b></p><p>  X1,X2 ——32.768KHz晶振管腳</p><p><b>  GND ——地</b>&

89、lt;/p><p>  RST ——復位腳</p><p>  I/O ——數(shù)據(jù)輸入/輸出引腳</p><p>  SCLK ——串行時鐘</p><p>  Vcc1,Vcc2 ——電源供電管腳</p><p>  圖3.13 DS1302 引腳分布</p><p>  DS1302與

90、單片機典型接口由下圖表示</p><p>  圖3.14 DS1302與單片機典型連接</p><p>  在本設計中,DS1302與AT89C52硬件連接如圖3.15所示:</p><p>  圖3.15 DS1302的硬件連接</p><p>  3.4 液晶顯示模塊設計 (12864)</p><p>  

91、3.4.1 液晶顯示模塊概述</p><p>  AT12864漢字圖形點陣液晶顯示模塊,可顯示漢字及圖形,內置8192個中文漢字(16X16點陣)、128個字符(8X16點陣)及64X256點陣顯示RAM(GDRAM)。</p><p>  主要技術參數(shù)和顯示特性:</p><p>  電源:VDD 3.3V~+5V(內置升壓電路,無需負壓);</p>

92、;<p>  顯示內容:128列×64行</p><p><b>  顯示顏色:黃綠</b></p><p>  顯示角度:6:00鐘直視</p><p><b>  LCD類型:STN</b></p><p>  與MCU接口:8位或4位并行/3位串行</p>

93、<p><b>  配置LED背光</b></p><p>  多種軟件功能:光標顯示、畫面移位、自定義字符、睡眠模式等</p><p>  3.4.2 外形尺寸</p><p>  外觀尺寸:93×70×12.5mm視域尺寸:73×39mm</p><p>  外形尺寸如圖3

94、.16所示:</p><p>  圖3.16 12864外形尺寸圖</p><p>  3.4.3 模塊引腳說明</p><p>  128X64HZ引腳說明</p><p>  圖3.17 128X64HZ引腳說明</p><p>  邏輯工作電壓(VDD):4.5~5.5V</p><p>

95、;  電源地(GND):0V</p><p>  工作溫度(Ta):0~60℃(常溫)/-20~75℃(寬溫)</p><p>  3.4.4 12864液晶與單片機的硬件連接圖</p><p>  圖3.18 12864液晶與單片機的硬件連接圖</p><p>  3.5 發(fā)光二極管與獨立鍵盤模塊設計</p><p&g

96、t;  3.5.1 發(fā)光二極管</p><p>  本次設計中采用了兩只發(fā)光二極管:紅色和綠色。</p><p>  其與AT89C52的硬件連接方式如下:</p><p>  圖3.19 發(fā)光二極管硬件連接圖</p><p>  由于二極管的單向導電性可知:陽極連接VCC,陰極通過100歐姆(起限流的作用)的電阻連接到單片機的P1.5與

97、P1.6口。當P1.5與P1.6口為低電平時,則發(fā)光二極管亮起。</p><p>  3.5.2 獨立鍵盤</p><p>  鍵盤是微型計算機最常用的輸入設備,用戶可以通過鍵盤向計算機輸入指令、地址和數(shù)據(jù)。鍵盤分為:編碼鍵盤和非編碼鍵盤。一般單片機系統(tǒng)中采用非編碼鍵盤,非編碼鍵盤是由軟件來識別鍵盤上的閉合鍵,它具有結構簡單,使用靈活等特點,因此被廣泛應用于單片機系統(tǒng)。</p>

98、;<p>  獨立鍵盤與AT89C51的硬件連接如下圖所示:</p><p>  圖3.20 獨立鍵盤硬件連接圖</p><p>  按鍵開關的抖動問題 </p><p>  組成鍵盤的按鍵有觸點式和非觸點式兩種,單片機中應用的一般是由機械觸點構成的。在下圖中,當開關S未被按下時,P1。0輸入為高電平,S閉合后,P1。0輸入為低電平。由于按鍵是機械觸

99、點,當機械觸點斷開、閉合時,會有抖動,P1。0輸入端的波形如圖2所示。這種抖動對于人來說是感覺不到的,但對計算機來說,則是完全可以感應到的,因為計算機處理的速度是在微秒級,而機械抖動的時間至少是毫秒級,對計算機而言,這已是一個“漫長”的時間了。</p><p>  為使CPU能正確地讀出P1口的狀態(tài),對每一次按鍵只作一次響應,就必須考慮如何去除抖動,常用的去抖動的方法有兩種:硬件方法和軟件方法。單片機中常用軟件法

100、,因此,對于硬件方法我們不介紹。軟件法其實很簡單,就是在單片機獲得P1。0口為低的信息后,不是立即認定S1已被按下,而是延時10毫秒或更長一些時間后再次檢測P1。0口,如果仍為低,說明S1的確按下了,這實際上是避開了按鍵按下時的抖動時間。而在檢測到按鍵釋放后(P1。0為高)再延時5-10個毫秒,消除后沿的抖動,然后再對鍵值處理。不過一般情況下,我們通常不對按鍵釋放的后沿進行處理,實踐證明,也能滿足一定的要求。當然,實際應用中,對按鍵的要

101、求也是千差萬別,要根據(jù)不同的需要來編制處理程序,但以上是消除鍵抖動的原則。</p><p>  本次設計中采用以下的延時子函數(shù)來完成毫秒級的延時</p><p>  void delay1(unsigned int z)</p><p><b>  {</b></p><p>  unsigned int x,y;<

102、;/p><p>  for(x=z;x>0;x--)</p><p>  for(y=110;y>0;y--);</p><p><b>  }</b></p><p>  第四章 系統(tǒng)軟件設計</p><p>  4.1溫度控制模塊程序設計</p><p>  

103、DS18B20的工作時序圖 </p><p>  由于DS18B20采用的是1-Wire總線協(xié)議方式,即在一根數(shù)據(jù)線實現(xiàn)數(shù)據(jù)的</p><p>  雙向傳輸,而對AT89S51單片機來說,硬件上并不支持單總線協(xié)議,因此,我們</p><p>  必須采用軟件的方法來模擬單總線的協(xié)議時序來完成對DS18B20芯片的訪問。由于DS18B20是在一根I/O線上讀寫數(shù)據(jù),因

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

105、序</b></p><p>  圖4.1 復位時序圖</p><p><b>  由時序圖圖可知:</b></p><p>  1 現(xiàn)將數(shù)據(jù)線置為高電平。</p><p>  2 延時(時間盡可能短一點)</p><p>  3 數(shù)據(jù)線拉到低電平0</p><p&

106、gt;  4 延時750us(該時間范圍可以在480—960us)</p><p>  5 數(shù)據(jù)線拉到高電平1</p><p>  6 延時等待。如果初始化成功在15—60us產(chǎn)生一個有DS18B20返回的低電平0,根據(jù)該狀態(tài)可以確定它的存在。</p><p>  7 若CPU讀到數(shù)據(jù)線上的低電平0后,還要進行延時480us。將數(shù)據(jù)線再次拉到高電平1后結束。<

107、/p><p>  由以上的分析可以寫出DS18B20的初始化子函數(shù)如下:</p><p>  Init_DS18B20(void) //傳感器初始化</p><p><b>  {</b></p><p>  unsigned char x=0;</p><p>  DQ = 1; //

108、DQ復位</p><p>  delay(10); //稍做延時</p><p>  DQ = 0; //單片機將DQ拉低</p><p>  delay(80); //精確延時 大于 480us //450</p><p>  DQ = 1; //拉高總線</p><p>  delay(20);

109、</p><p>  x=DQ; //稍做延時后 如果x=0則初始化成功 x=1則初始化失敗</p><p>  delay(30);</p><p><b>  }</b></p><p><b>  讀時序</b></p><p>  對于DS18B20的讀時序

110、分為讀0時序和讀1時序兩個過程。DS18B20的讀時隙是從主機把單總線拉低之后,在15秒之內就得釋放單總線,以讓DS18B20把數(shù)據(jù)傳輸?shù)絾慰偩€上。DS18B20在完成一個讀時序過程,至少需要60us才能完成。</p><p>  圖4.2 讀時序時序圖</p><p><b>  由時序圖圖可知:</b></p><p>  1 將數(shù)據(jù)線拉

111、到低電平0,延時6us。</p><p>  3將數(shù)據(jù)線拉到高電平1,延時4us。</p><p>  4 讀數(shù)據(jù)線的狀態(tài)得到一位狀態(tài)位,并進行數(shù)據(jù)處理,延時。</p><p>  5 重復上面的步驟,讀完一個字節(jié)的數(shù)據(jù)。</p><p>  由以上的分析可以寫出DS18B20的讀數(shù)據(jù)子函數(shù)如下:</p><p>  

112、ReadOneChar(void)</p><p><b>  {</b></p><p>  unsigned char i=0;</p><p>  unsigned char dat = 0;</p><p>  for (i=8;i>0;i--)</p><p><b> 

113、 {</b></p><p>  DQ = 0; // 給脈沖信號</p><p><b>  dat>>=1;</b></p><p>  DQ = 1; // 給脈沖信號</p><p><b>  if(DQ)</b></p><p>  dat

114、|=0x80;</p><p><b>  delay(8);</b></p><p><b>  }</b></p><p>  return(dat);</p><p><b>  } </b></p><p><b>  寫時序<

115、/b></p><p>  對于DS18B20的寫時序仍然分為寫0時序和寫1時序兩個過程。</p><p>  DS18B20寫0時序和寫1時序的要求不同,當要寫0時序時,單總線要被拉低至少60us,保證DS18B20能夠在15us到45us之間能夠正確地采樣IO總線上的“0”電平,當要寫1時序時,單總線被拉低之后,在15us之內就得釋放單總線。</p><p&g

116、t;  圖4.3 寫時序時序圖</p><p>  1 數(shù)據(jù)線拉到低電平0。</p><p>  2 按從低到高位順序發(fā)送數(shù)據(jù),一次發(fā)送一位,延時50us</p><p>  3 將數(shù)據(jù)線拉到高電平1.</p><p>  4 重復上面的步驟,直到發(fā)送完一個字節(jié)。</p><p>  由以上的分析可以寫出DS18B2

117、0的寫字節(jié)子函數(shù)如下:</p><p>  WriteOneChar(unsigned char dat)</p><p><b>  {</b></p><p>  unsigned char i=0;</p><p>  for (i=8; i>0; i--)</p><p><b

118、>  {</b></p><p><b>  DQ = 0;</b></p><p>  DQ = dat&0x01;</p><p>  delay(10);</p><p><b>  DQ = 1;</b></p><p><b> 

119、 dat>>=1;</b></p><p><b>  }</b></p><p><b>  delay(8);</b></p><p><b>  }</b></p><p>  4.2 日期模塊程序設計</p><p> 

120、 4.2.1 DS1302內部寄存器</p><p>  CH:時鐘停止位 寄存器2的第7位:12/24小時標志</p><p>  CH=0 振蕩器工作允許 bit7=1 12小時模式</p><p>  CH=1 振蕩器停止 b

溫馨提示

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

評論

0/150

提交評論