《智能測溫儀》畢業(yè)設(shè)計---智能測溫儀的設(shè)計與制作_第1頁
已閱讀1頁,還剩26頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  畢業(yè)教學(xué)環(huán)節(jié)成果</b></p><p><b>  (2013屆)</b></p><p>  題 目 智能測溫儀的設(shè)計與制作 </p><p>  學(xué) 院 信息工程學(xué)院 </p><p>  專 業(yè) 應(yīng)用電子技

2、術(shù)專業(yè) </p><p>  班 級 應(yīng)電101 </p><p>  學(xué) 號 </p><p>  姓 名 </p><p>  指導(dǎo)教師 </p

3、><p>  2013年 5月25日</p><p><b>  目 錄</b></p><p><b>  摘要3</b></p><p><b>  引言5</b></p><p>  1 控制方案選擇6</p><

4、;p>  1.1 智能測溫儀的功能6</p><p>  1.2 系統(tǒng)方案簡介6</p><p>  1.3系統(tǒng)控制方案:6</p><p>  2 智能測溫儀的基本結(jié)構(gòu)與工作原理6</p><p>  2.1 硬件結(jié)構(gòu)6</p><p>  2.2 工作原理7</p><p&g

5、t;  3 硬件電路設(shè)計7</p><p>  3.1 單片機(jī)最小系統(tǒng)的設(shè)計7</p><p>  3.1.1 主要性能參數(shù)8</p><p>  3.1.2 AT89C52管腳說明9</p><p>  3.2 數(shù)碼管顯示電路設(shè)計11</p><p>  3.3數(shù)據(jù)采集電路設(shè)計11</p&g

6、t;<p>  3.3.1 DS18B20的內(nèi)部結(jié)構(gòu)與外形12</p><p>  3.3.2 技術(shù)性能描述12</p><p>  3.3.3 DS18B20工作原理12</p><p>  3.3.4 DS18B20溫度傳感器使用中注意事項13</p><p>  3.4 按鍵顯示電路的設(shè)計14</p&g

7、t;<p>  3.4.1鍵盤電路14</p><p>  3.5 報警電路14</p><p>  4 軟件電路設(shè)計15</p><p>  4.1 系統(tǒng)軟件介紹15</p><p>  4.2 溫度程序15</p><p>  4.2.1讀出溫度子程序15</p><

8、p>  4.2.2計算溫度子程序16</p><p>  4.2.3 顯示程序17</p><p>  4.3 按鍵程序17</p><p>  5 系統(tǒng)調(diào)試及性能分析19</p><p><b>  結(jié)論19</b></p><p><b>  謝辭20</b&

9、gt;</p><p><b>  參考文獻(xiàn)21</b></p><p>  附件1:仿真電路圖23</p><p>  附件 2:元器件清單24</p><p>  附件 3:PCB圖25</p><p>  附件 4:實物圖26</p><p>  智能測溫儀

10、的設(shè)計與制作</p><p>  摘要:本設(shè)計以AT89S51單片機(jī)為核心來設(shè)計溫度控制系統(tǒng)和報警系統(tǒng)。溫度信號由溫度芯片DS18B20采集,并以數(shù)字信號的方式傳送給單片機(jī)。這個智能測溫儀主要的功能是能測量當(dāng)前環(huán)境的溫度如果溫度高于或低于設(shè)定值則蜂鳴器會報警;其他則是可以自己設(shè)定報警溫度的上限和下限。此設(shè)計采用模塊化結(jié)構(gòu),主要模塊有:數(shù)碼管顯示程序、鍵盤掃描及按鍵處理程序、溫度信號處理程序、超溫報警程序。<

11、/p><p>  關(guān)鍵詞:溫度傳感器 STC89C52 測量 報警 </p><p>  Intelligent thermometer design and production</p><p>  Abstract:This design with AT89S51 as the core to design the temperature control sy

12、stem and alarm system. Temperature signal by the temperature chip DS18B20 acquisition, and digital signals by means of transfer to the single chip microcomputer. The intelligent thermometer main function is to measure th

13、e current environmental temperature if the temperature above or below the set value, buzzer will alarm; The other is can set up your alarm temperature upper limit and lower limit. This design USES a</p><p> 

14、 Key words:The temperature sensor STC89C52 measurement alarm 引言</p><p>  隨著我國社會科技和經(jīng)濟(jì)的不斷發(fā)展,對溫度的測量與控制在現(xiàn)代工業(yè)、農(nóng)業(yè)、生活中也是運用的越來越廣泛。智能化的儀器儀表通常都有自動零點調(diào)整和儀表滿度的校正,因此可以減小測量誤差,同時可實現(xiàn)一表多用。智能型溫度測量儀可配不同類型、不同分度號的溫度傳感器,故又稱為溫度

15、萬用表。溫度傳感器有四種主要類型熱電偶、熱敏電阻、電阻溫度檢測器(RTD)和IC溫度傳感器。IC溫度傳感器又包括模擬輸出和數(shù)字輸出兩種類型。接觸式溫度傳感器的檢測部分與被測對象有良好的接觸又稱溫度計。每個企業(yè)為了能把智能型溫度測量儀這一產(chǎn)品做到能發(fā)揮最大作用和最全的功能,都在積極的研發(fā)新的產(chǎn)品。從而大量的產(chǎn)品不斷的在生活里面世并且應(yīng)用到各個領(lǐng)域里。DS18B20型數(shù)字式溫度傳感器就是其中的一種。隨著人們生活水平的不斷提高,單片機(jī)控制

16、無疑是人們追求的目標(biāo)之一,它所給人帶來的方便也是不可否定的,但人們對它的要求越來越高,要為現(xiàn)代人工作、科研、生活、提供更好的更方便的設(shè)施就需要從數(shù)單片機(jī)技術(shù)入手,一切向著數(shù)字化控制,智能化控制方向發(fā)展</p><p>  溫度與我們的生活息息相關(guān),在工業(yè)生產(chǎn)過程中需要實時測量溫度,在農(nóng)業(yè)生產(chǎn)中也離不開溫度的測量。因此溫度對發(fā)展起到了舉足輕重的作用。本文所介紹的智能溫度測量系統(tǒng)是基于DS18B20型數(shù)字式溫度傳感器

17、,采用數(shù)字式溫度傳感器為檢測器件,進(jìn)行單點溫度檢測,用四位數(shù)碼管顯示溫度值。在STC89C52單片機(jī)的控制下,對環(huán)境溫度進(jìn)行實時控制。同時,當(dāng)溫度高于或低于設(shè)置的上下限值時報警器則會發(fā)出報警,并且我們還能設(shè)置控制的上下限值。</p><p>  1 控制方案選擇 </p><p>  1.1 智能測溫儀的功能</p><p> ?。?)溫度值用數(shù)碼管顯示,測溫范

18、圍-30°C ~125°C,測溫誤差大于0.1°C</p><p> ?。?)溫度的實時測量與顯示</p><p>  (3)支持正負(fù)溫度的顯示(精度為0.1 °C )</p><p> ?。?)正負(fù)溫度辨別(正溫度紅燈亮,負(fù)溫度綠燈亮)</p><p> ?。?)軟件預(yù)設(shè)上限溫度32°C,下

19、限溫度10°C</p><p> ?。?)支持手動按鍵配置溫度上下限 K1、 K2 、K3、 K4</p><p> ?。?)超過溫度上下限即實現(xiàn)報警功能,報警燈閃爍,蜂鳴器震動并發(fā)聲警示</p><p>  1.2 系統(tǒng)方案簡介</p><p>  用DS18B20來采集溫度,,DS18B20是采用1—wire總接口的數(shù)字溫度計測

20、量溫度范圍為-30°C ~125°C,精度為0.1 °C,在使用傳統(tǒng)的數(shù)碼管顯示,DS18B20可與芯片相連,以串行方式將數(shù)據(jù)送到處理器,經(jīng)處理器處理后直接顯示。</p><p>  1.3系統(tǒng)控制方案:</p><p>  方案一:采用了最簡單的方式,就是將傳感器輸出的信號,經(jīng)過D/A轉(zhuǎn)換后直接顯示。</p><p>  方案二:用D

21、S18B20來采集溫度,,DS18B20是采用1—wire總接口的數(shù)字溫度計測量溫度范圍為-30°C ~125°C,精度為0.1 °C,在使用傳統(tǒng)的數(shù)碼管顯示,DS18B20可與芯片相連,以串行方式將數(shù)據(jù)送到處理器,經(jīng)處理器處理后直接顯示。</p><p>  方案三:采用AD590作為溫度采集的傳感器,經(jīng)放大后,再由ADC0809送到單片機(jī)處理,最后在由顯示器將溫度顯示出來<

22、/p><p>  最后我選擇了方案二。因為第一直接用DS18B20采集數(shù)據(jù),直接用數(shù)碼管顯示出來,同時這個電路圖也比較方便。</p><p>  2 智能測溫儀的基本結(jié)構(gòu)與工作原理</p><p><b>  2.1 硬件結(jié)構(gòu) </b></p><p>  智能溫度測量儀的硬件由單片機(jī)主機(jī)電路、復(fù)位電路、報警電路、按鍵、接

23、口和顯示電路組成。如圖2-1所示。</p><p><b>  圖2-1 硬件結(jié)構(gòu)</b></p><p>  主機(jī)電路以單片機(jī)為核心,用來儲存數(shù)據(jù)和程序,并進(jìn)行一系列的運算和處理。利用按鍵盤可以實現(xiàn)功能的切換,而接口則用于連接數(shù)字的顯示模塊、報警模塊、復(fù)位模塊。</p><p><b>  2.2 工作原理</b>&l

24、t;/p><p>  智能型溫度測量儀由DS18B20溫度傳感器多采用單片機(jī)實現(xiàn)數(shù)據(jù)采集。處理時,將DS1820信號線與單片機(jī)一位口線相連,微處理器CPU對輸入的數(shù)據(jù)進(jìn)行加工處理、分析、計算后,將運算結(jié)果存入讀寫存儲器中。同時,將數(shù)據(jù)顯示到數(shù)碼管并且通過報警系統(tǒng)來監(jiān)測溫度是否超過上限或低于下限;而按鍵程序通過存入讀寫存儲器中來完成上限或下限報警值的設(shè)置和上下限的值切換。</p><p>&l

25、t;b>  3 硬件電路設(shè)計</b></p><p>  3.1 單片機(jī)最小系統(tǒng)的設(shè)計</p><p>  單片機(jī)最小系統(tǒng)是指用最少的元件組成的單片機(jī)可以工作的系統(tǒng)。它包括兩方面的內(nèi)容:單片機(jī)的選擇和單片機(jī)最小系統(tǒng)的設(shè)計。對于AT89C52單片機(jī)最小系統(tǒng)包括:單片機(jī)、晶振電路、復(fù)位電路。通過單片機(jī)的選擇,最大限度滿足應(yīng)用系統(tǒng)對硬件資源的要求。最小系統(tǒng)設(shè)計則是指單片機(jī)最基

26、本的、最通常的外圍電路設(shè)計。任何一個復(fù)雜的應(yīng)用系統(tǒng)都是以最小系統(tǒng)為基礎(chǔ),通過搭接外部功能模塊的方法實現(xiàn)的。如圖3-1</p><p>  圖3-1單片機(jī)最小系統(tǒng)</p><p>  AT89C52的介紹</p><p>  AT89C52是51系列單片機(jī)的一個型號,它是ATMEL公司生產(chǎn)的。 AT89C52是一個低電壓,高性能CMOS 8位單片機(jī),片內(nèi)含8k byt

27、es的可反復(fù)擦寫的Flash只讀程序存儲器和256 bytes的隨機(jī)存取數(shù)據(jù)存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲單元,功能強(qiáng)大的AT89C52單片機(jī)可為您提供許多較復(fù)雜系統(tǒng)控制應(yīng)用場合。 </p><p>  AT89C52具有以下標(biāo)準(zhǔn)功能:8K字節(jié)Flash,256字節(jié)RAM,32位I/O口線,3個16位

28、定時器/計數(shù)器,一個響亮2級中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時鐘電路。另外,AT89C52可降至0HZ靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU停止工作,允許RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個中斷或硬件復(fù)位為止。AT89C52單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且廉價的方案。故此選用AT89C52單片機(jī)。</p>

29、;<p>  3.1.1 主要性能參數(shù) </p><p>  (1)8K字節(jié)可重擦寫Flash閃速存儲器</p><p> ?。?)1000次可擦寫周期</p><p>  (3)全靜態(tài)操作:0Hz-24MHz</p><p> ?。?)三級加密程序存儲器</p><p>  (5)256

30、5;8字節(jié)內(nèi)部RAM</p><p>  (6)32個可編程I/O口線</p><p> ?。?)3個16位定時/計數(shù)器</p><p><b> ?。?)8個中斷源</b></p><p> ?。?)可編程串行UART通道</p><p>  (10)低功耗空閑和掉電模</p>&

31、lt;p>  圖3-2 AT89C52外部引腳圖</p><p>  3.1.2 AT89C52管腳說明</p><p>  P0口:是一組8 位漏極開路型雙向I/O 口, 也即地址/數(shù)據(jù)總線復(fù)用口。作為輸出口用時,每位能吸收電流的 方式驅(qū)動8 個TTL邏輯門電路,對端口P0 寫“1”時,可作為高阻抗輸入端用。 在訪問外部數(shù)據(jù)存儲器或程序存儲器時,這組口線分時轉(zhuǎn)換地址(低8 位)和

32、數(shù)據(jù)總線復(fù)用,在訪問期間激活內(nèi)部上拉電阻。 在Flash 編程時,P0 口接收指令字節(jié),而在程序校驗時,輸出指令字節(jié),校驗時,要求外接上拉電阻。</p><p>  P1口:是一個帶內(nèi)部上拉電阻的8 位雙向I/O 口, P1 的輸出緩沖級可驅(qū)動(吸收或輸出電流)4 個TTL 邏輯 門電路。對端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口。作輸入口使用時,因為內(nèi)部存在上拉 電阻,某個引腳被

33、外部信號拉低時會輸出一個電流(IIL)。 與AT89C51 不同之處是,P1.0 和P1.1 還可分別作為定時/計數(shù)器2 的外部計數(shù)輸入(P1.0/T2)和輸入(P1.1/T2EX), 參見表1。 Flash 編程和程序校驗期間,P1 接收低8 位地址</p><p>  P2口: 是一個帶有內(nèi)部上拉電阻的8 位雙向I/O 口,P2 的輸出緩沖級可驅(qū)動(吸收或輸出電流)4 個TTL 邏輯 門電路。對

34、端口P2 寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口,作輸入口使用時,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(IIL)。在訪問外部程序存儲器或16 位地址的外部數(shù)據(jù)存儲器(例如執(zhí)行MOVX @DPTR 指令)時,P2 口送出高8 位地址數(shù)據(jù)。在訪問8 位地址的外部數(shù)據(jù)存儲器(如執(zhí)行MOVX @RI 指令)時,P2 口輸出P2 鎖存器的內(nèi)容。 Flash 編程或校驗時,P2亦接收高位地址和一些控

35、制信號。 </p><p>  P3 口:是一組帶有內(nèi)部上拉電阻的8 位雙向I/O 口。P3 口輸出緩沖級可驅(qū)動(吸收或輸出電流)4 個TTL 邏 輯門電路。對P3 口寫入“1”時,它們被內(nèi)部上拉電阻拉高并可作為輸入端口。此時,被外部拉低的P3 口將用上拉電阻輸出電流(IIL)。 P3 口除了作為一般的I/O 口線外,更重要的用途是它的第二功能 P3 口還接收一些用于Flash 閃速存儲器編程和程序校

36、驗的控制信號。 </p><p>  RST:復(fù)位輸入。當(dāng)振蕩器工作時,RST引腳出現(xiàn)兩個機(jī)器周期以上高電平將使單片機(jī)復(fù)位。 </p><p>  ALE/PROG :當(dāng)訪問外部程序存儲器或數(shù)據(jù)存儲器時,ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8 位字節(jié)。一般情況下,ALE 仍以時鐘振蕩頻率的1/6 輸出固定的脈沖信號,因此它可對外輸出時鐘或用于定時目的。要注意的是:每當(dāng)訪問外部數(shù)據(jù)

37、存儲器時將跳過一個ALE 脈沖。如有必要,可通過對特殊功能寄存器(SFR)區(qū)中的8EH 單元的D0 位置位,可禁止ALE 操作。</p><p>  PSEN: 程序儲存允許(PSEN)輸出是外部程序存儲器的讀選通信號,當(dāng)AT89C52 由外部程序存儲器取指令(或數(shù)據(jù))時,每個機(jī)器周期兩次PSEN 有效,即輸出兩個脈沖。在此期間,當(dāng)訪問外部數(shù)據(jù)存儲器,將跳過兩次PSEN信號。</p><p&g

38、t;  EA/VPP:外部訪問允許。欲使CPU 僅訪問外部程序存儲器(地址為0000H—FFFFH),EA 端必須保持低電平(接地)。需注意的是:如果加密位LB1 被編程,復(fù)位時內(nèi)部會鎖存EA端狀態(tài)。如EA端為高電平(接Vcc端),CPU 則執(zhí)行內(nèi)部程序存儲器中的指令。</p><p>  XTAL1:振蕩器反相放大器的及內(nèi)部時鐘發(fā)生器的輸入端。</p><p>  XTAL2:振蕩器反相

39、放大器的輸出端。 特殊功能寄存器特殊功能寄存器特殊功能寄存器特殊功能寄存器 在AT89C52 片內(nèi)存儲器中,并非所有的地址都被定義,從80H—FFH 共12 個字節(jié)只有一部分被定義,還有相當(dāng)一部分沒有定義。對沒有定義的單元讀寫將是無效的,讀出的數(shù)值將不確定,而寫入的數(shù)據(jù)也將丟失。不應(yīng)將數(shù)據(jù)“1”寫入未定義的單元,由于這些單元在將來的產(chǎn)品中可能賦予新的功能,在這種情況下,復(fù)位后這些單元數(shù)值總是“0”。 </p><

40、;p>  3.2 數(shù)碼管顯示電路設(shè)計</p><p>  數(shù)碼管簡介[14] 數(shù)碼管是一種半導(dǎo)體發(fā)光器件,其基本單元是發(fā)光二極管。 數(shù)碼管按段數(shù)分為七段數(shù)碼管和八段數(shù)碼管。八段數(shù)碼管比七段數(shù)碼管多一個發(fā)光二極管單元按發(fā)光二極管單元連接方式分為共陽極數(shù)碼管和共陰極數(shù)碼管</p><p>  為了提高數(shù)碼管的顯示亮度在本系統(tǒng)的設(shè)計中沒有采用直接將數(shù)碼管的引腳接在單片機(jī)上而是采用了

41、74HC573作為借口電路其輸出能力相對于單片機(jī)要強(qiáng)很多數(shù)碼管的亮度達(dá)到一個滿意的效果因為考慮到系統(tǒng)傳感器精度的和采集范圍問題故此處只用了四位數(shù)碼管。下面是數(shù)碼管與單片機(jī)接口電路。如圖3-2</p><p><b>  圖3-3原理圖</b></p><p><b>  數(shù)據(jù)采集電路設(shè)計</b></p><p> 

42、 由于每片DS1820含有唯一的硅串行數(shù)所以在一條總線上可掛接任意多個DS1820芯片。從DS1820讀出的信息或?qū)懭隓S1820的信息,僅需要一根口線(單線接口)。讀寫及溫度變換功率來源于數(shù)據(jù)總線,總線本身也可以向所掛接的DS1820供電,而無需額外電源。DS1820提供九位溫度讀數(shù),構(gòu)成多點溫度檢測系統(tǒng)而無需任何外圍硬件。如圖3-4所示。</p><p>  圖3-4 DS18B20電路圖

43、 圖3-5 DS18B20電路圖 </p><p>  3.3.1 DS18B20的內(nèi)部結(jié)構(gòu)與外形</p><p>  DS18B20 內(nèi)部結(jié)構(gòu)主要由四部分組成:64 位光刻ROM、溫度傳感器、非揮發(fā)的溫度報警觸發(fā)器TH 和TL、配置寄存器。DS18B20 的管腳排列如圖3-5所示。</p><p>

44、;  3.3.2 技術(shù)性能描述</p><p>  (1)獨特的單線接口方式,DS18B20在與微處理器連接時僅需要一條口線即可實現(xiàn)微處理器與DS18B20的雙向通訊。   </p><p> ?。?)測溫范圍 -55℃~+125℃,固有測溫分辨率0.5℃。   </p><p>  (3)支持多點組網(wǎng)功能,多個DS18B20可以并聯(lián)在唯一的三線上,最多只能并聯(lián)8個

45、,實現(xiàn)多點測溫,如果數(shù)量過多,會使供電電源電壓過低,從而造成信號傳輸?shù)牟环€(wěn)定。   </p><p>  (4)工作電源: 3~5V/DC  </p><p> ?。?)在使用中不需要任何外圍元件   </p><p> ?。?)測量結(jié)果以9~12位數(shù)字量方式串行傳送   </p><p>  (7)不銹鋼保護(hù)管直徑 Φ6   </p&

46、gt;<p>  (8)適用于DN15~25, DN40~DN250各種介質(zhì)工業(yè)管道和狹小空間設(shè)備測溫 </p><p> ?。?)標(biāo)準(zhǔn)安裝螺紋 M10X1, M12X1.5, G1/2”任選  </p><p> ?。?0)PVC電纜直接出線或德式球型接線盒出線,便于與其它電器設(shè)備連接。</p><p>  3.3.3 DS18B20工作原理<

47、;/p><p>  DS18B20的讀寫時序和測溫原理與DS1820相同,只是得到的溫度值的位數(shù)因分辨率不同而不同,且溫度轉(zhuǎn)換時的延時時間由2s 減為750ms。計數(shù)器1對 低溫度系數(shù)晶振產(chǎn)生的脈沖信號進(jìn)行減法計數(shù),當(dāng)計數(shù)器1的預(yù)置值減到0時,溫度寄存器的值將加1,計數(shù)器1的預(yù)置將重新被裝入,計數(shù)器1重 新開始對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進(jìn)行計數(shù),如此循環(huán)直到計數(shù)器2計數(shù)到0時,停止溫度寄存器值的累加,此時溫度寄存

48、器中的數(shù)值即 為所測溫度。圖3-5中的斜率累加器用于補(bǔ)償和修正測溫過程中的非線性,其輸出用于修正計數(shù)器1的預(yù)置值,如圖3-6。</p><p>  圖3-6 DS18B20工作原理</p><p>  3.3.4 DS18B20溫度傳感器使用中注意事項</p><p>  (1)較小的硬件開銷需要相對復(fù)雜的軟件進(jìn)行補(bǔ)償,由于DS18B20溫度傳感器與微處理器間采用

49、串行數(shù)據(jù)傳送,因此,在對DS18B20進(jìn)行讀寫編程時,必須嚴(yán)格地保證讀寫時序,否則將無法讀取測溫結(jié)果。在使用PL/M、C等高級語言進(jìn)行系統(tǒng)程序設(shè)計時,對DS18B20操作部分最好采用匯編語言實現(xiàn)。 </p><p>  (2)在DS18B20溫度傳感器的有關(guān)資料中均未提及單總線上所掛DS18B20數(shù)量問題,容易使人誤認(rèn)為可以掛任意多個DS18B20,在實際應(yīng)用中并非如此。 </p><p>

50、;  (3)連接DS18B20溫度傳感器的總線電纜是有長度限制的。在采用DS18B20進(jìn)行長距離測溫系統(tǒng)設(shè)計時要充分考慮總線分布電容和阻抗匹配問題。</p><p>  (4)在DS18B20溫度傳感器測溫程序設(shè)計中,向DS18B20發(fā)出溫度轉(zhuǎn)換命令后,程序總要等待DS18B20的返回信號,一旦某個DS18B20接觸不好或斷線,當(dāng)程序讀該DS18B20時,將沒有返回信號,程序進(jìn)入死循環(huán)。 </p>

51、<p>  (5)測溫電纜線建議采用屏蔽4芯雙絞線,其中一對線接地線與信號線,另一對線接VCC和地線,屏蔽層在源端單點接地</p><p>  3.4 按鍵顯示電路的設(shè)計</p><p><b>  3.4.1鍵盤電路</b></p><p>  設(shè)置4個按鍵,每按下1次,K1狀態(tài)計數(shù)器加1,K1狀態(tài)計數(shù)器減1,使用“+”、“-”依次

52、逐位預(yù)置上限溫度百位、十位、個位和下限溫度百位、十位、個位。預(yù)置完畢后,K4為設(shè)置完成確定鍵,預(yù)置上、下限溫度范圍限制為-30°C ~125°C。K3為上下限報警切換,測溫時可切換上、下限報警溫度。按鍵設(shè)置如圖3-7。</p><p>  圖3-7 按鍵顯示電路</p><p><b>  3.5 報警電路</b></p><

53、;p>  電路圖上設(shè)置兩個紅色LED報警燈,蜂鳴器一只,測溫值超過預(yù)置的上限和下限溫度時、預(yù)置的溫度高于32°C時報警,下限溫度10°C時報警,發(fā)出聲光報警信號,如圖3-8。</p><p>  圖3-8 報警電路</p><p><b>  4 軟件電路設(shè)計</b></p><p>  系統(tǒng)程序主要包括主程序,讀出

54、溫度子程序,溫度轉(zhuǎn)換命令子程序,計算溫度子程序,顯示數(shù)據(jù)刷新子程序等</p><p>  4.1 系統(tǒng)軟件介紹</p><p>  智能溫度測量儀的系統(tǒng)軟件主要由主程序、定時器中斷處理程序以及實現(xiàn)各種算法的功能模塊等組成。</p><p>  硬件初始化后, 進(jìn)入循環(huán)工作模式, DS18B20采集當(dāng)前溫度值, 檢測是否有鍵按下, 如果有則執(zhí)行按鍵相對應(yīng)的功能, 然

55、后通過數(shù)碼管顯示不同功能所對應(yīng)的信息。如圖4-1</p><p>  圖4-1 系統(tǒng)軟件設(shè)計框圖</p><p><b>  4.2 溫度程序 </b></p><p>  4.2.1讀出溫度子程序</p><p>  主要功能是讀出RAM中的9字節(jié),在讀出時需進(jìn)行CRC校驗,校驗有錯時不進(jìn)行溫度數(shù)據(jù)的改寫。</

56、p><p>  int ReadTemperature(void) //讀取溫度</p><p><b>  {</b></p><p>  uchar a=0;</p><p>  uchar b=0;</p><p><b>  int t=0;</b></p>

57、<p>  float tt=0;</p><p>  Init_DS18B20();</p><p>  WriteOneChar(0xCC); // 跳過讀序號列號的操作</p><p>  WriteOneChar(0x44); // 啟動溫度轉(zhuǎn)換</p><p>  Init_DS18B20();</p>&

58、lt;p>  WriteOneChar(0xCC); //跳過讀序號列號的操作</p><p>  WriteOneChar(0xBE); //讀取溫度寄存器等(共可讀9個寄存器) 前兩個就是溫度</p><p>  a=ReadOneChar();//低位</p><p>  b=ReadOneChar();//高位</p><p>

59、<b>  t=b;</b></p><p><b>  t<<=8;</b></p><p><b>  t=t|a;</b></p><p>  tt=t*0.0625;</p><p>  t= tt*10+0.5; </p><p>

60、  return(t);</p><p><b>  }</b></p><p>  4.2.2計算溫度子程序</p><p>  計算溫度子程序?qū)AM中讀取值進(jìn)行BCD碼的轉(zhuǎn)換運算,并進(jìn)行溫度值正負(fù)的判定,其程序流程圖如圖 4-2。</p><p>  圖4-2 計算溫度子程序</p><p&

61、gt;  4.2.3 顯示程序</p><p>  void display()</p><p><b>  {</b></p><p>  buf[1]=temp/1000;//顯示百位</p><p>  buf[2]=temp/100%10;//顯示十位</p><p>  buf[3

62、]=temp%100/10;//顯示個位</p><p>  buf[0]=temp%10; //小數(shù)位</p><p>  for(j=0;j<3;j++) </p><p><b>  {</b></p><p>  P2=0xff; // 初始燈為滅的</p><p><b>

63、;  P0=0x00;</b></p><p>  P2=0xfd; //顯示小數(shù)點</p><p>  P0=0x80; //顯示小數(shù)點</p><p>  delay(300);</p><p>  P2=0xff; // 初始燈為滅的</p><p><b>  P0=0x00;<

64、/b></p><p>  P2=0xf7; //片選LCD1</p><p>  P0=table[buf[1]];</p><p>  delay(300);</p><p><b>  P2=0xff;</b></p><p><b>  P0=0x00;</b>

65、</p><p>  P2=0xfb; //片選LCD2</p><p>  P0=table[buf[2]];</p><p>  delay(300);</p><p><b>  P2=0xff;</b></p><p><b>  P0=0x00;</b></p

66、><p>  P2=0Xfd; //片選LCD3</p><p>  P0=table[buf[3]];</p><p>  delay(300);</p><p><b>  P2=0xff;</b></p><p><b>  P0=0x00;</b></p>

67、<p><b>  P2=0Xfe;</b></p><p>  P0=table[buf[0]];//片選LCD4</p><p>  delay(300);</p><p><b>  P2=0xff;</b></p><p><b>  }</b></

68、p><p><b>  }</b></p><p><b>  4.3 按鍵程序 </b></p><p>  void key()//按鍵掃描子程序</p><p>  { if(k1!=1)</p><p><b>  {</b></p>

69、;<p>  delay(20);</p><p><b>  if(k1!=1)</b></p><p><b>  {</b></p><p>  while(k1!=1)</p><p>  { key_to1();</p><p>  for(n=0;n

70、<8;n++)</p><p><b>  Show();</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  

71、if(k2!=1)</b></p><p><b>  {</b></p><p>  delay(20);</p><p><b>  if(k2!=1)</b></p><p><b>  {</b></p><p>  while(k2

72、!=1)</p><p>  { key_to2(); </p><p>  for(n=0;n<8;n++)</p><p><b>  Show();</b></p><p><b>  }</b></p><p><b>  }</b><

73、;/p><p><b>  } </b></p><p><b>  if(k3!=1)</b></p><p>  {TR0=1; //復(fù)位,開定時</p><p>  temp=ReadTemperature();</p><p><b>  }</b&g

74、t;</p><p><b>  if(k4!=1)</b></p><p>  { delay(20);</p><p><b>  if(k4!=1)</b></p><p>  { while(k4!=1);</p><p><b>  set=!set;

75、</b></p><p>  if(set==0)</p><p>  { Red=0;Green=1;}</p><p>  else { Green=0;Red=1;}</p><p><b>  }</b></p><p><b>  }</b></p

76、><p><b>  }</b></p><p>  void key_to1()</p><p><b>  {</b></p><p>  TR0=0; //關(guān)定時器</p><p><b>  temp+=10;</b></p><

77、;p>  if(temp>=1100)</p><p>  {temp=-550;}</p><p>  if(set==0)</p><p>  {alarmH=temp;}</p><p>  else {alarmL=temp;}</p><p><b>  }</b><

78、/p><p>  void key_to2()</p><p><b>  {</b></p><p>  TR0=0; //關(guān)定時器</p><p><b>  temp-=10;</b></p><p>  if(temp<=-550)</p><p

79、>  {temp=1100;}</p><p>  if(set==0)</p><p>  { alarmH=temp;}</p><p>  else { alarmL=temp;}</p><p><b>  }</b></p><p>  5 系統(tǒng)調(diào)試及性能分析</p>

80、<p>  首先講下軟件調(diào)試,本次設(shè)計程序主要包括主程序、讀出溫度子程序、溫度轉(zhuǎn)換命令子程序、計算溫度子程序和報警程序。</p><p>  程序調(diào)試是比較的難的,比起硬件來說。在改程序的過程中也遇到過很大的問題,比如起先的程序數(shù)碼管無法顯示,到后來按鍵功能不對應(yīng)。但最后通過查資料和同學(xué)的幫助還是把程序成功的完成了。在調(diào)試程序的過程里,個人認(rèn)為顯示和計算程序是最難的。</p><p

81、>  性能測試可用制作的溫度計和已有的成品溫度計同時進(jìn)行測量比較。由于DS18B20的精度很高,所以誤差指標(biāo)可以限制在+0.5℃以內(nèi)。同時,也可以去不同的地方去測量溫度并與現(xiàn)成的溫度計測量值進(jìn)行比較來檢驗這個作品的精確性。</p><p>  在硬件調(diào)試部分,用PROTUES仿真時我發(fā)現(xiàn)仿真不能與實物相比,有時不加最小系統(tǒng)或數(shù)碼管的使能也能成功仿真。所以,我們在做實物時必須要把這些該加的元器件加上。通過最后

82、的努力還是把畢業(yè)作品給完成了。 </p><p><b>  結(jié)論</b></p><p>  經(jīng)過我的努力完成了本次課題,設(shè)計制作的數(shù)字溫度計LED顯示屏通過仿真很好的完成了基本要求部分和發(fā)揮需要的功能達(dá)到了預(yù)期的目的</p><p>  從這次的課程設(shè)計中,我感覺到,在做一件事情時,要理論聯(lián)系實際,把我們所學(xué)的理論知識用到實際當(dāng)中,

83、做畢業(yè)設(shè)計也是這樣,只有在運用的過程中才能提高,這就是我在這次課程設(shè)計中的最大收獲</p><p><b>  謝辭</b></p><p>  本論文設(shè)計在老師的指導(dǎo)下業(yè)已完成,從課題選擇到具體的寫作過程,經(jīng)過一個月的工作,本次畢業(yè)設(shè)計已完成,由于專業(yè)知識不是很全面在制作中遇到不少困難,如果沒有導(dǎo)師的督促指導(dǎo),以及一起工作的同學(xué)們的幫助,很難完成這個畢業(yè)設(shè)計。<

84、;/p><p>  在這里要感謝cc老師,她盡心盡力的幫助我們,在制作畢業(yè)設(shè)計的過程中盡量滿足我們的要求,在次再次感謝老師。感謝大學(xué)三年來所有老師,辛苦的教導(dǎo)我們專業(yè)知識。各位任課老師認(rèn)真負(fù)責(zé),在他們的悉心幫助和支持下,我能夠很好的掌握和運用專業(yè)知識,并在設(shè)計中得以體現(xiàn),順利完成畢業(yè)論文。 </p><p><b>  參考文獻(xiàn)</b></p><

85、;p>  [1]張萌姜斌.單片機(jī)應(yīng)用系統(tǒng)開發(fā) [M].北京清華大學(xué)出版社清華大學(xué)出版社,2007</p><p>  [2]張越張炎延軍基于DS18]320溫度傳感器的數(shù)字溫度計 [J]微電子學(xué)2007</p><p>  [3]《智能儀器原理及應(yīng)用》曹建平主編 西安電子科技大學(xué)出版社 2004.8第1版</p><p>  [4]《智能儀器設(shè)計基礎(chǔ)》趙新民

86、主編 哈爾濱工業(yè)大學(xué)出版社 1999.7第1版</p><p>  [5]《AT89系列單片機(jī)原理及接口技術(shù)》王幸之,鐘愛琴,王磊編著. 北京航空航天大學(xué)出版社,2004.5 第4版</p><p>  [6]譚浩強(qiáng).C程序設(shè)計[M].清華大學(xué)出版社,2009.10</p><p>  [7]蘭吉昌.51單片機(jī)應(yīng)用設(shè)計百例[M].化學(xué)工業(yè)出版社,2009.2<

87、;/p><p>  [8]楊剛,周群.電子系統(tǒng)設(shè)計與實踐[M].北京:電子工業(yè)出版社,2004,24-26</p><p><b>  附件1:仿真電路圖</b></p><p><b>  原理圖</b></p><p>  附件 2:元器件清單</p><p><b&g

溫馨提示

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

評論

0/150

提交評論