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

下載本文檔

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

文檔簡(jiǎn)介

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

2、術(shù)專業(yè) </p><p>  班 級(jí) 應(yīng)電101 </p><p>  學(xué) 號(hào) </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 智能測(cè)溫儀的功能6</p><p>  1.2 系統(tǒng)方案簡(jiǎn)介6</p><p>  1.3系統(tǒng)控制方案:6</p><p>  2 智能測(cè)溫儀的基本結(jié)構(gòu)與工作原理6</p><p>  2.1 硬件結(jié)構(gòu)6</p><p>  2.2 工作原理7</p><p&g

5、t;  3 硬件電路設(shè)計(jì)7</p><p>  3.1 單片機(jī)最小系統(tǒng)的設(shè)計(jì)7</p><p>  3.1.1 主要性能參數(shù)8</p><p>  3.1.2 AT89C52管腳說明9</p><p>  3.2 數(shù)碼管顯示電路設(shè)計(jì)11</p><p>  3.3數(shù)據(jù)采集電路設(shè)計(jì)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溫度傳感器使用中注意事項(xiàng)13</p><p>  3.4 按鍵顯示電路的設(shè)計(jì)14</p&g

7、t;<p>  3.4.1鍵盤電路14</p><p>  3.5 報(bào)警電路14</p><p>  4 軟件電路設(shè)計(jì)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計(jì)算溫度子程序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:實(shí)物圖26</p><p>  智能測(cè)溫儀

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

11、/p><p>  關(guān)鍵詞:溫度傳感器 STC89C52 測(cè)量 報(bào)警 </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>  隨著我國(guó)社會(huì)科技和經(jīng)濟(jì)的不斷發(fā)展,對(duì)溫度的測(cè)量與控制在現(xiàn)代工業(yè)、農(nóng)業(yè)、生活中也是運(yùn)用的越來越廣泛。智能化的儀器儀表通常都有自動(dòng)零點(diǎn)調(diào)整和儀表滿度的校正,因此可以減小測(cè)量誤差,同時(shí)可實(shí)現(xiàn)一表多用。智能型溫度測(cè)量?jī)x可配不同類型、不同分度號(hào)的溫度傳感器,故又稱為溫度

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

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

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

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

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

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

21、S18B20來采集溫度,,DS18B20是采用1—wire總接口的數(shù)字溫度計(jì)測(cè)量溫度范圍為-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>  最后我選擇了方案二。因?yàn)榈谝恢苯佑肈S18B20采集數(shù)據(jù),直接用數(shù)碼管顯示出來,同時(shí)這個(gè)電路圖也比較方便。</p><p>  2 智能測(cè)溫儀的基本結(jié)構(gòu)與工作原理</p><p><b>  2.1 硬件結(jié)構(gòu) </b></p><p>  智能溫度測(cè)量?jī)x的硬件由單片機(jī)主機(jī)電路、復(fù)位電路、報(bào)警電路、按鍵、接

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

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

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

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

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

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

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

30、5;8字節(jié)內(nèi)部RAM</p><p> ?。?)32個(gè)可編程I/O口線</p><p> ?。?)3個(gè)16位定時(shí)/計(jì)數(shù)器</p><p><b>  (8)8個(gè)中斷源</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ù)用口。作為輸出口用時(shí),每位能吸收電流的 方式驅(qū)動(dòng)8 個(gè)TTL邏輯門電路,對(duì)端口P0 寫“1”時(shí),可作為高阻抗輸入端用。 在訪問外部數(shù)據(jù)存儲(chǔ)器或程序存儲(chǔ)器時(shí),這組口線分時(shí)轉(zhuǎn)換地址(低8 位)和

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

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

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

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

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

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

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

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

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

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

42、 由于每片DS1820含有唯一的硅串行數(shù)所以在一條總線上可掛接任意多個(gè)DS1820芯片。從DS1820讀出的信息或?qū)懭隓S1820的信息,僅需要一根口線(單線接口)。讀寫及溫度變換功率來源于數(shù)據(jù)總線,總線本身也可以向所掛接的DS1820供電,而無需額外電源。DS1820提供九位溫度讀數(shù),構(gòu)成多點(diǎn)溫度檢測(cè)系統(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ā)的溫度報(bào)警觸發(fā)器TH 和TL、配置寄存器。DS18B20 的管腳排列如圖3-5所示。</p><p>

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

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

46、gt;<p> ?。?)適用于DN15~25, DN40~DN250各種介質(zhì)工業(yè)管道和狹小空間設(shè)備測(cè)溫 </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的讀寫時(shí)序和測(cè)溫原理與DS1820相同,只是得到的溫度值的位數(shù)因分辨率不同而不同,且溫度轉(zhuǎn)換時(shí)的延時(shí)時(shí)間由2s 減為750ms。計(jì)數(shù)器1對(duì) 低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行減法計(jì)數(shù),當(dāng)計(jì)數(shù)器1的預(yù)置值減到0時(shí),溫度寄存器的值將加1,計(jì)數(shù)器1的預(yù)置將重新被裝入,計(jì)數(shù)器1重 新開始對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行計(jì)數(shù),如此循環(huán)直到計(jì)數(shù)器2計(jì)數(shù)到0時(shí),停止溫度寄存器值的累加,此時(shí)溫度寄存

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

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

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

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

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

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

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

55、后通過數(shù)碼管顯示不同功能所對(duì)應(yīng)的信息。如圖4-1</p><p>  圖4-1 系統(tǒng)軟件設(shè)計(jì)框圖</p><p><b>  4.2 溫度程序 </b></p><p>  4.2.1讀出溫度子程序</p><p>  主要功能是讀出RAM中的9字節(jié),在讀出時(shí)需進(jìn)行CRC校驗(yàn),校驗(yàn)有錯(cuò)時(shí)不進(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); // 跳過讀序號(hào)列號(hào)的操作</p><p>  WriteOneChar(0x44); // 啟動(dòng)溫度轉(zhuǎn)換</p><p>  Init_DS18B20();</p>&

58、lt;p>  WriteOneChar(0xCC); //跳過讀序號(hào)列號(hào)的操作</p><p>  WriteOneChar(0xBE); //讀取溫度寄存器等(共可讀9個(gè)寄存器) 前兩個(gè)就是溫度</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計(jì)算溫度子程序</p><p>  計(jì)算溫度子程序?qū)AM中讀取值進(jìn)行BCD碼的轉(zhuǎn)換運(yùn)算,并進(jìn)行溫度值正負(fù)的判定,其程序流程圖如圖 4-2。</p><p>  圖4-2 計(jì)算溫度子程序</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;//顯示個(gè)位</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ù)點(diǎn)</p><p>  P0=0x80; //顯示小數(shù)點(diǎn)</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ù)位,開定時(shí)</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)定時(shí)器</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)定時(shí)器</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è)計(jì)程序主要包括主程序、讀出溫度子程序、溫度轉(zhuǎn)換命令子程序、計(jì)算溫度子程序和報(bào)警程序。</p><p>  程序調(diào)試是比較的難的,比起硬件來說。在改程序的過程中也遇到過很大的問題,比如起先的程序數(shù)碼管無法顯示,到后來按鍵功能不對(duì)應(yīng)。但最后通過查資料和同學(xué)的幫助還是把程序成功的完成了。在調(diào)試程序的過程里,個(gè)人認(rèn)為顯示和計(jì)算程序是最難的。</p><p

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

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

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

84、;/p><p>  在這里要感謝cc老師,她盡心盡力的幫助我們,在制作畢業(yè)設(shè)計(jì)的過程中盡量滿足我們的要求,在次再次感謝老師。感謝大學(xué)三年來所有老師,辛苦的教導(dǎo)我們專業(yè)知識(shí)。各位任課老師認(rèn)真負(fù)責(zé),在他們的悉心幫助和支持下,我能夠很好的掌握和運(yùn)用專業(yè)知識(shí),并在設(shè)計(jì)中得以體現(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]張?jiān)綇堁籽榆娀贒S18]320溫度傳感器的數(shù)字溫度計(jì) [J]微電子學(xué)2007</p><p>  [3]《智能儀器原理及應(yīng)用》曹建平主編 西安電子科技大學(xué)出版社 2004.8第1版</p><p>  [4]《智能儀器設(shè)計(jì)基礎(chǔ)》趙新民

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

87、;/p><p>  [8]楊剛,周群.電子系統(tǒng)設(shè)計(jì)與實(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等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲(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)論