版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、基于單片機(jī)的多路溫度測控系統(tǒng)設(shè)計(jì) 摘要 隨著社會(huì)的發(fā)展,溫度的測量及控制變得越來越重要,溫度是生產(chǎn)過程和科學(xué)實(shí)驗(yàn)中普遍而且重要的物理參數(shù)。本文利用單片機(jī)結(jié)合傳感器技術(shù)而開發(fā)設(shè)計(jì)了這一多路溫度監(jiān)控系統(tǒng)。本文詳細(xì)地講述了基于at89s52單片機(jī)和溫度傳感器ds18b20的溫度監(jiān)控系統(tǒng)的設(shè)計(jì)方案與軟硬件實(shí)現(xiàn)方案。溫度采集采用數(shù)字溫度傳感器ds18b20采集環(huán)境溫度,采集到的溫度通過lcd1602液晶顯示器顯示溫度數(shù)據(jù),數(shù)據(jù)顯示精度達(dá)到0.1,通過按鍵可以1的步進(jìn)改變溫度設(shè)定值,設(shè)置溫度的上下限。當(dāng)溫度低于設(shè)定的下限溫度或者高于設(shè)定的上限溫度時(shí)蜂鳴器發(fā)聲和led發(fā)光報(bào)警。本文設(shè)計(jì)出了系統(tǒng)總體框架,電路
2、圖及程序,經(jīng)過調(diào)試并在硬件平臺(tái)上實(shí)現(xiàn)了所設(shè)計(jì)的功能。關(guān)鍵詞 單片機(jī) 多路溫度測量 溫度控制 ds18b20溫度傳感器temperature detecting system design based on mcu abstract with the societys development, control and measuring temperature is becoming more and more important as temperature is an general and signal physical parameter. this article exploits a
3、nd designs a temperature monitoring system through the technology of combined with sensor. it describes the design & achieving scheme of temperature monitoring system basing on at89s52 and temperature sensor ds18b20. device takes use of digital temperature sensor ds18b20. the main from shows the fig
4、ure through lcd1602, and change the set value of temperature by 1 via key to set the bound. when the actual temperature value is lower than the lower limit or higher than the upper limit, buzzer sounds with led flashes. the essay gives a general fame work of the system, circuit diagram and procedure
5、, and after debugging it achieves all designed functions on hardware platform.顯示對(duì)應(yīng)的拉丁字符的拼音字典keywords mcu, temperature monitoring system, temperature detection,temperature sensords18b20, 目錄1 引言52 概述621 課題背景與研究意義622 系統(tǒng)設(shè)計(jì)要求723 系統(tǒng)設(shè)計(jì)方案72.3.1 系統(tǒng)設(shè)計(jì)方案論證72.3.2 系統(tǒng)設(shè)計(jì)方案硬件實(shí)現(xiàn)框圖83系統(tǒng)硬件電路設(shè)計(jì)931 系統(tǒng)元器件選型及參數(shù)介紹93.1.1 系統(tǒng)單
6、片機(jī)選型93.1.2 系統(tǒng)溫度傳感器選型與介紹103.1.3 系統(tǒng)顯示器的選型與介紹1232 系統(tǒng)硬件電路分析133.2.1 系統(tǒng)單片機(jī)主控電路分析133.2.2 系統(tǒng)溫度采集部分電路分析153.2.3 系統(tǒng)顯示部分電路分析153.2.4 系統(tǒng)報(bào)警提示部分電路分析1633 系統(tǒng)硬件電路繪制與pcb線路板制作183.3.1 protel99se軟件介紹183.3.2 系統(tǒng)原理圖繪制與印刷線路板制作184系統(tǒng)軟件設(shè)計(jì)分析2141 系統(tǒng)軟件編程環(huán)境介紹2142 系統(tǒng)軟件實(shí)現(xiàn)功能要求2143 系統(tǒng)主程序流程圖2244 系統(tǒng)溫度采集的實(shí)現(xiàn)234.4.1 ds18b20初始化時(shí)序234.4.2 ds18b
7、20寫時(shí)序244.4.3 ds18b20讀時(shí)序2445 系統(tǒng)液晶顯示部分的實(shí)現(xiàn)255 系統(tǒng)的制作安裝于調(diào)試275.1實(shí)物電路的繪制與pcb板的制作275.2實(shí)物元件的安裝與焊接28結(jié) 論29致 謝30參 考 文 獻(xiàn)31 引言微電子技術(shù)、自動(dòng)控制技術(shù)與計(jì)算機(jī)技術(shù)的發(fā)展將人類社會(huì)帶入了一個(gè)電子信息世界。各種電子控制系統(tǒng)應(yīng)用于生活的每一個(gè)角落。溫度的測量與控制已經(jīng)滲透到了工農(nóng)業(yè)生產(chǎn)及人們的日常生活中,工業(yè)上鍋爐加熱、水溫控制、烤爐溫度控制等諸多場合對(duì)溫度的測量與控制要求越來越多。農(nóng)業(yè)上倉庫溫度監(jiān)控、花房溫度檢測、孵化室溫度控制等方面對(duì)溫度的自動(dòng)控制的要求越來越高,傳統(tǒng)的以人工來測溫及調(diào)節(jié)溫控設(shè)備已經(jīng)
8、不能滿足人們的要求。采用單片機(jī)及傳感技術(shù)實(shí)現(xiàn)對(duì)溫度測量與控制不僅具有控制方便、簡單和靈活性大等優(yōu)點(diǎn),而且可以大幅度提高被控溫度的技術(shù)指標(biāo),從而能夠大大的提高控制效率、節(jié)約勞動(dòng)力。因此,如何很好的實(shí)現(xiàn)溫度自動(dòng)測量與控制是當(dāng)前擺在科技工作者面前亟待解決的問題。隨著各式各樣的傳感器的出現(xiàn),傳感技術(shù)的應(yīng)用也逐漸成熟,伴隨著傳感器價(jià)格的逐步降低,其應(yīng)用領(lǐng)域越來越廣泛,從航天科技到工業(yè)控制再到農(nóng)業(yè)生產(chǎn),傳感器的應(yīng)用水平已成為衡量一個(gè)國家科學(xué)技術(shù)發(fā)展水平的重要標(biāo)志之一。因此,了解并掌握各類傳感器的基本結(jié)構(gòu)、工作原理及特性是非常重要的。當(dāng)前傳感器的被測信號(hào)來自于各個(gè)應(yīng)用領(lǐng)域,在諸多領(lǐng)域中溫度傳感器是其中重要的
9、一類傳感器。其發(fā)展速度之快,以及其應(yīng)用范圍之廣我們已經(jīng)有目共睹,其技術(shù)革新及成本節(jié)儉同樣是技術(shù)工作者不斷攻克的難題。本著節(jié)約設(shè)計(jì)成本及合理應(yīng)用溫度傳感器實(shí)現(xiàn)溫度測量、溫度調(diào)節(jié)與控制、報(bào)警控制等功能,本文利用單片機(jī)結(jié)合傳感器技術(shù)而開發(fā)設(shè)計(jì)了多路溫度測控系統(tǒng)。文中傳感器理論與單片機(jī)實(shí)際應(yīng)用有機(jī)結(jié)合,詳細(xì)地講述了基于單片機(jī)at89s52和溫度傳感器ds18b20的溫度控制系統(tǒng)的設(shè)計(jì)方案與軟硬件實(shí)現(xiàn)方案。系統(tǒng)包括4路數(shù)據(jù)采集模塊、電源系統(tǒng)模塊、單片機(jī)控制模塊、人機(jī)交互液晶顯示模塊、溫度設(shè)置模塊、輸出控制模塊及報(bào)警電路七個(gè)部分組成。文中對(duì)每個(gè)部分功能、實(shí)現(xiàn)過程作了詳細(xì)介紹。本設(shè)計(jì)應(yīng)用性比較強(qiáng),系統(tǒng)稍微改
10、裝便可作為生物培養(yǎng)液溫度監(jiān)控系統(tǒng),可以做熱水器溫度調(diào)節(jié)系統(tǒng)、實(shí)驗(yàn)室溫度監(jiān)控系統(tǒng)等等。設(shè)計(jì)后的系統(tǒng)具有操作方便,控制靈活等優(yōu)點(diǎn)。2 概述21 課題背景與研究意義隨著科技的發(fā)展及生活水平的提高,人們對(duì)環(huán)境參數(shù)的要求也越來越高,溫度做為環(huán)境參數(shù)的一個(gè)重要因素,從人們對(duì)生活環(huán)境的要求,家用空調(diào)、電冰箱、烤箱等溫度參數(shù)的控制極大的影響著人們的生活環(huán)境,正是有了這些溫度測量及控制設(shè)備,人們的生活水平才能得到逐步的提高;從工農(nóng)業(yè)生產(chǎn)來看,現(xiàn)代溫室大棚、糧倉、工業(yè)恒溫控制箱等對(duì)溫度參數(shù)的要求至關(guān)重要,因此對(duì)溫度的精確測量及溫度的精確控制是使得工農(nóng)業(yè)生產(chǎn)順利進(jìn)行的先決條件。在工業(yè)生產(chǎn)過程中為了高效地進(jìn)行生產(chǎn),簡
11、單的溫度測量已經(jīng)不能滿足日益高效的生產(chǎn)節(jié)拍,隨著科技的進(jìn)步,智能控制已經(jīng)得到了廣泛的應(yīng)用,如何把溫度的測量與智能控制相結(jié)合已經(jīng)成為大家關(guān)注的焦點(diǎn)。由于現(xiàn)代工藝越來越多的實(shí)現(xiàn)智能控制,以降低日益提高的勞動(dòng)力成本。所以國內(nèi)外科技工作者無不關(guān)注如何更好的使溫度測量與自動(dòng)控制結(jié)合一起,本文正是本著這一思想,采用集成溫度傳感器與單片微處理器像結(jié)合實(shí)現(xiàn)溫度的測量與控制,由于單片微處理器的性能日益提高、價(jià)格又不斷降低,使其性能價(jià)格比的優(yōu)勢非常明顯。本課題采用數(shù)字溫度傳感器采集溫度,51單片機(jī)來對(duì)溫度數(shù)據(jù)進(jìn)行處理顯示并自動(dòng)控制報(bào)警及降溫裝置。采用此方案設(shè)計(jì)不僅具有控制方便、組態(tài)簡單和靈活性大等優(yōu)點(diǎn),而且可以大
12、幅度提高被控溫度的技術(shù)指標(biāo)。作為控制系統(tǒng)中的一個(gè)典型實(shí)驗(yàn)設(shè)計(jì),單片機(jī)溫度控制系統(tǒng)綜合運(yùn)用了微機(jī)原理、自動(dòng)控制原理、傳感器原理、模擬電子技術(shù)、數(shù)字控制技術(shù)、鍵盤顯示技術(shù)等諸多方面的知識(shí),是對(duì)所學(xué)知識(shí)的一次綜合測試。22 系統(tǒng)設(shè)計(jì)要求設(shè)計(jì)并制作一個(gè)基于單片機(jī)的多路溫度監(jiān)控系統(tǒng),要求能夠?qū)?個(gè)測量點(diǎn)的溫度進(jìn)行采集,顯示、判斷,當(dāng)溫度超出設(shè)定的溫度范圍時(shí)系統(tǒng)具備報(bào)警提示功能,同時(shí)系統(tǒng)應(yīng)具備自動(dòng)調(diào)節(jié)溫度功能,當(dāng)檢查點(diǎn)溫度超出范圍應(yīng)能通過相應(yīng)的裝置使溫度自動(dòng)回到合理范圍內(nèi),保證溫度在設(shè)定的范圍內(nèi)工作,同時(shí)系統(tǒng)報(bào)警上下限范圍可通過人工按鍵設(shè)定。具體設(shè)計(jì)指標(biāo)如下:1: 四路溫度采集與顯示,顯示界面采用lcd1
13、602液晶,要求同時(shí)顯示4路溫度值,顯示精度+/-0.5。2:溫度調(diào)節(jié)控制部分采用單片機(jī)控制四路繼電器的通斷來實(shí)現(xiàn),繼電器控制風(fēng)扇,用來調(diào)節(jié)溫度,風(fēng)扇的開與關(guān)通過判定溫度值自動(dòng)開關(guān)。3:溫度超出設(shè)定值,系統(tǒng)應(yīng)具備緊急報(bào)警功能,報(bào)警模式采用聲光報(bào)警,具體實(shí)現(xiàn)采用蜂鳴器與led發(fā)光二極管實(shí)現(xiàn)。4:具備按鍵設(shè)置與調(diào)整功能,可通過按鍵設(shè)置報(bào)警警戒溫度,風(fēng)扇開啟溫度點(diǎn)。23 系統(tǒng)設(shè)計(jì)方案2.3.1 系統(tǒng)設(shè)計(jì)方案論證結(jié)合所學(xué)知識(shí),通過查找資料和論證,可通過以下方案來實(shí)現(xiàn)課題要求實(shí)現(xiàn)的指標(biāo),各方案介紹如下所述。方案一:采用純硬件的閉環(huán)控制系統(tǒng)。該系統(tǒng)的優(yōu)點(diǎn)在于速度較快,但可靠性比較差、控制精度比較低、靈活性
14、小、線路復(fù)雜、調(diào)試安裝都不方便。且要實(shí)現(xiàn)題目所有的要求難度較大。方案二:fpga/cpld或采用帶有ip內(nèi)核的fpga/cpld方式。即用fpga/cpld完成采集,存儲(chǔ),顯示及a/d等功能,由ip核實(shí)現(xiàn)人機(jī)交互及信號(hào)測量分析等功能。這種方案的優(yōu)點(diǎn)在于系統(tǒng)結(jié)構(gòu)緊湊,可以實(shí)現(xiàn)復(fù)雜的測量與與控制,操作方便;缺點(diǎn)是調(diào)試過程復(fù)雜,設(shè)計(jì)成本較高。方案三:采用單片機(jī)與高精度數(shù)字溫度傳感器相結(jié)合的方式。即用單片機(jī)完成人機(jī)界面,系統(tǒng)控制,信號(hào)分析處理,由前端溫度傳感器完成信號(hào)的采集。這種方案克服了方案一、二的缺點(diǎn),所以本課題任務(wù)是“基于單片機(jī)的多路溫度測控系統(tǒng)設(shè)計(jì)”。2.3.2 系統(tǒng)設(shè)計(jì)方案硬件實(shí)現(xiàn)框圖4路溫
15、度的采集采用數(shù)字型溫度傳感器ds18b20,采集到的溫度值送單片機(jī)進(jìn)行處理,通過lcd1602液晶進(jìn)行顯示;系統(tǒng)電源電路采用寬電壓直流輸入,通過集成三端穩(wěn)壓芯片lm7805進(jìn)行穩(wěn)壓后供單片機(jī)及液晶顯示模塊用電;溫度調(diào)節(jié)控制電路通過繼電器控制小風(fēng)扇的方案實(shí)現(xiàn),使設(shè)計(jì)簡單化,既能驗(yàn)證設(shè)計(jì)功能又能很好的降低設(shè)計(jì)成本。系統(tǒng)主控部分采用單片機(jī)at89s52配以外圍電路實(shí)現(xiàn)。系統(tǒng)硬件實(shí)現(xiàn)框圖如圖2-1所示。4路ds18b2溫度傳感感器at89s52單片機(jī)最小系統(tǒng)溫度調(diào)節(jié)控制電路lcd1602液晶顯示界面按鍵輸入電路系統(tǒng)電源電路圖2-13系統(tǒng)硬件電路設(shè)計(jì)31 系統(tǒng)元器件選型及參數(shù)介紹3.1.1 系統(tǒng)單片機(jī)選
16、型單片機(jī)的選擇在整個(gè)系統(tǒng)設(shè)計(jì)中至關(guān)重要,要滿足大內(nèi)存、高速率、通用性、價(jià)格便宜等要求,本課題選擇at89s52作為主控芯片。at89s52是一個(gè)低功耗,高性能cmos 8位單片機(jī),片內(nèi)含4k bytes isp(in-system programmable)的可反復(fù)擦寫1000次的flash只讀程序存儲(chǔ)器,器件采用atmel公司的高密度、非易失性存儲(chǔ)技術(shù)制造,兼容標(biāo)準(zhǔn)mcs-51指令系統(tǒng)及80c51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和isp flash存儲(chǔ)單元,功能強(qiáng)大的微型計(jì)算機(jī)的at89s52可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價(jià)比的解決方案。at89s52芯片具有以下特性附錄a系統(tǒng)電
17、路圖4:指令集和芯片引腳與intel公司的8051兼容;4kb片內(nèi)在系統(tǒng)可編程flash程序存儲(chǔ)器;時(shí)鐘頻率為033mhz;128字節(jié)片內(nèi)隨機(jī)讀寫存儲(chǔ)器(ram);32個(gè)可編程輸入/輸出引腳;2個(gè)16位定時(shí)/計(jì)數(shù)器;6個(gè)中斷源,2級(jí)優(yōu)先級(jí);全雙工串行通信接口;監(jiān)視定時(shí)器;2個(gè)數(shù)據(jù)指針。at89s52單片機(jī)的40個(gè)引腳中有2個(gè)專用于主電源引腳,2個(gè)外接晶振的引腳,4個(gè)控制或與其它電源復(fù)用的引腳,以及32條輸入輸出i/o引腳5。at89s52單片機(jī)引腳圖如圖3-1所示:圖3-13.1.2 系統(tǒng)溫度傳感器選型與介紹早期常見的溫度控制系統(tǒng)多數(shù)是模擬電路設(shè)計(jì),主要是使用熱敏電阻或使用鉑電阻,或使用熱電偶
18、等,其溫度控制的準(zhǔn)確度和精確度都不太好。如今,數(shù)字技術(shù)高速發(fā)展,早先的溫度控制系統(tǒng)也被基于數(shù)字技術(shù)的新一代產(chǎn)品所替代。其中溫度傳感器ds18b20應(yīng)用非常廣泛,它在測溫精度、轉(zhuǎn)換時(shí)間、傳輸距離、分辨率等方面有很大的改進(jìn)。而隨著高性能和低成本的單片機(jī)的不斷發(fā)展,新式無線溫度控制系統(tǒng)的應(yīng)用也越來越廣泛,它的功能強(qiáng)大,體積小,重量輕,靈活耐用,備受大家青睞。因此,本系統(tǒng)選用的是美國dallas 半導(dǎo)體公司生產(chǎn)的ds18b20 溫度傳感器。選用該傳感器的原因有:ds18b20與微處理器僅需要一條線即可實(shí)現(xiàn)雙向通訊,簡化連接難度;無需其他的ad轉(zhuǎn)化器件,降低成本,也減少了硬件制板的費(fèi)用;可供使用電壓范圍
19、大:3.0v到5.5v都可以使用,器件的功耗較低;測溫分辨率高,最高可達(dá)0.125度,便于溫度精確控制附錄b系統(tǒng)源程序#include #include #define uint unsigned int#define uchar unsigned char/*顯示lcd1602*sbit rs = p25;sbit wela = p26;sbit lcden = p27;sbit s1 = p20;sbit s2 = p21;sbit s3 = p22;sbit s4 = p23;sbit dq1 = p10; /溫度傳感器sbit dq2 = p11;sbit dq3 = p12;sbit
20、 dq4 = p13;sbit led1 = p14; /ledsbit led2 = p15;sbit led3 = p16;sbit led4 = p17;sbit buzz=p30; /蜂鳴器sbit sw1 = p34; /控制sbit sw2 = p35;sbit sw3 = p36;sbit sw4 = p37;bit hl_flag;uchar chn; /通道選擇 /dq通道 uchar dq1_set2; /dq1上下限設(shè)置 dq1_set0 下限 dq1_set1 上限;uchar dq2_set2; /dq1上下限設(shè)置 dq1_set0 下限 dq1_set2 上限;uc
21、har dq3_set2; /dq1上下限設(shè)置 dq1_set0 下限 dq1_set3 上限;uchar dq4_set2; /dq1上下限設(shè)置 dq1_set0 下限 dq1_set4 上限;uchar chn; /通道選擇/-lcd1602-/-溫度傳感器ds18b20-uchar ng; /負(fù)號(hào)標(biāo)志uchar code tab=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x58,0xff; /* 0 1 2 3 4 5 6 7 8 9 c 無*/uchar code df_table= 0,1,1,2,3,3,4,4,5,6,6
22、,7,8,8,9,9; /溫度小數(shù)位對(duì)照表uchar currentt = 0; /當(dāng)前讀取的溫度整數(shù)部分uchar temp_value=0x00,0x00; /從ds18b20讀取的溫度值uchar display_digit=0,0,0,0;/待顯示的各溫度數(shù)位bit ds18b20_is_ok = 1; /傳感器正常/-溫度傳感器ds18b20-/-lcd1602-void delayms(uint ms) /延時(shí)n ms uchar i;while(ms-) for(i=0;i0;x-)for(y=110;y0;y-);void write_com(uchar com) /1602液
23、晶寫指令rs=0;lcden=0;p0=com;delay(1);lcden=1;delay(1);lcden=0;void write_date(uchar date) /1602液晶寫數(shù)據(jù)rs=1;lcden=0;p0=date;delay(1);lcden=1;delay(1);lcden=0;void init_lcd() /初始化液晶,及畫面初始化wela=0;lcden=0;write_com(0x38);write_com(0x0c);write_com(0x06);write_com(0x01);write_com(0x80);/-lcd1602-/*18b20*/延時(shí)void
24、 delay_18b20(uint x) while(-x);uchar init_ds18b20() uchar status; switch(chn) case 0:break; case 1:dq1 = 1;delay_18b20(8); /延時(shí)dq1 = 0;delay_18b20(90);/延時(shí)dq1 = 1;delay_18b20(8);status = dq1;delay_18b20(100);dq1 = 1;return (status); break; case 2: dq2 = 1;delay_18b20(8); /延時(shí)dq2 = 0;delay_18b20(90);/延時(shí)
25、dq2 = 1;delay_18b20(8);status = dq2;delay_18b20(100);dq2 = 1;return (status); break; case 3: dq3 = 1;delay_18b20(8); /延時(shí)dq3 = 0;delay_18b20(90);/延時(shí)dq3 = 1;delay_18b20(8);status = dq3;delay_18b20(100);dq3 = 1;return (status); break; case 4: dq4 = 1;delay_18b20(8); /延時(shí)dq4 = 0;delay_18b20(90);/延時(shí)dq4 =
26、1;delay_18b20(8);status = dq4;delay_18b20(100);dq4 = 1;return (status); break; default : break; /讀一個(gè)字節(jié)uchar readonebyte() uchar i,dat=0; switch(chn) case 0: break; case 1: dq1 = 1;_nop_();for(i=0;i= 1;dq1 = 1;_nop_();_nop_();if(dq1)dat |= 0x80;delay_18b20(30);dq1 = 1;return(dat); break; case 2:dq2 =
27、 1;_nop_();for(i=0;i= 1;dq2 = 1;_nop_();_nop_();if(dq2)dat |= 0x80;delay_18b20(30);dq2 = 1;return(dat); break; case 3: dq3 = 1;_nop_();for(i=0;i= 1;dq3 = 1;_nop_();_nop_();if(dq3)dat |= 0x80;delay_18b20(30);dq3 = 1;return(dat); break; case 4: dq4 = 1;_nop_();for(i=0;i= 1;dq4 = 1;_nop_();_nop_();if(d
28、q4)dat |= 0x80;delay_18b20(30);dq4 = 1;return(dat); break; default : break; /寫一個(gè)字節(jié)void writeonebyte(uchar dat) uchar i; switch(chn) case 0: break; case 1: for(i=0;i= 1; case 2: for(i=0;i= 1; case 3: for(i=0;i= 1; case 4: for(i=0;i= 1; default : break; /讀溫度值void read_temperature() if(init_ds18b20()=1
29、)ds18b20_is_ok=0;elsewriteonebyte(0xcc); /跳過序列號(hào)writeonebyte(0x44); /啟動(dòng)溫度轉(zhuǎn)換init_ds18b20();writeonebyte(0xcc);/跳過序列號(hào)writeonebyte(0xbe);/讀取溫度寄存器temp_value0 = readonebyte(); /溫度低8位temp_value1 = readonebyte();/溫度高8位ds18b20_is_ok=1;/處理溫度值void display_temperature()/ uchar i;uchar t = 150;/,延時(shí) ng = 0; /與負(fù)值標(biāo)
30、志if(temp_value1&0xf8)=0xf8) temp_value1 = temp_value1;temp_value0 = temp_value0+1;if(temp_value0=0x00)temp_value1+;ng = 1;elseng = 0;display_digit0 = df_tabletemp_value0&0x0f; /查表得溫度小數(shù)部分currentt = (temp_value0&0xf0)4) | (temp_value1&0x07)4)chn=1; while(!s1);/等待按鍵釋放 if(s2=0) /上限或者下限切換delayms(100);if(
31、s2=0) hl_flag=hl_flag; /hl_flag=1;上限 hl_flag=0下限 while(!s2);/等待按鍵釋放if(s3=0)&(hl_flag=0) /加下限delay(50);if(s3=0) switch(chn) case 0: break; case 1: dq1_set0+;break; /顯示設(shè)置下限 case 2: dq2_set0+;break; /顯示設(shè)置下限 case 3: dq3_set0+;break; /顯示設(shè)置下限 case 4: dq4_set0+;break; /顯示設(shè)置下限 default : break; else /加上限 del
32、ay(50);if(s3=0) switch(chn) case 0: break; case 1: dq1_set1+;break; /顯示設(shè)置下限 case 2: dq2_set1+;break; /顯示設(shè)置下限 case 3: dq3_set1+;break; /顯示設(shè)置下限 case 4: dq4_set1+;break; /顯示設(shè)置下限 default : break; if(s4=0)&(hl_flag=0) /-下限delay(50);if(s4=0) switch(chn) case 0: break; case 1: dq1_set0-;break; /顯示設(shè)置下限 case
33、 2: dq2_set0-;break; /顯示設(shè)置下限 case 3: dq3_set0-;break; /顯示設(shè)置下限 case 4: dq4_set0-;break; /顯示設(shè)置下限 default : break; else /-上限 delay(50);if(s4=0) switch(chn) case 0: break; case 1: dq1_set1-;break; /顯示設(shè)置下限 case 2: dq2_set1-;break; /顯示設(shè)置下限 case 3: dq3_set1-;break; /顯示設(shè)置下限 case 4: dq4_set1-;break; /顯示設(shè)置下限
34、default : break; /主程序void main() /uchar i; init_lcd(); /1602初始化開始界面init(); /初始化蜂鳴器chn=0x01;read_temperature();/初始化dq1chn=0x02;read_temperature();/初始化dq2chn=0x03; read_temperature(); /初始化dq3chn=0x04;read_temperature(); /初始化dq4 delayms(1000); /延時(shí)1s/-超溫初始-dq1_set0=10; /dq1下限 dq1_set1=30; /dq1上限 dq2_set
35、0=10;dq2_set1=40;dq3_set0=10;dq3_set1=50;dq4_set0=10;dq4_set1=60;/-chn=0x01; /開機(jī)通道1/-while(1) /循環(huán)檢測你 dis_chn(0,chn); key_scan(); /-溫度- read_temperature();if(ds18b20_is_ok) display_temperature(); switch(chn) case 0: break; case 1: dis_set(2,dq1_set0);break; /顯示設(shè)置下限 case 2: dis_set(2,dq2_set0);break;
36、/顯示設(shè)置下限 case 3: dis_set(2,dq3_set0);break; /顯示設(shè)置下限 case 4: dis_set(2,dq4_set0);break; /顯示設(shè)置下限 default : break; switch(chn) case 0: break; case 1: dis_set(8,dq1_set1);break; /設(shè)置上限 case 2: dis_set(8,dq2_set1);break; /設(shè)置上限 case 3: dis_set(8,dq3_set1);break; /設(shè)置上限 case 4: dis_set(8,dq4_set1);break; /設(shè)置上
37、限 default : break; switch(chn) case 1: if(currenttdq1_set1)sw1=0;tr0=1;break;elsesw1=1;buzz=1;tr0=0;break; /超高溫報(bào)警 case 2: if(currenttdq2_set1)sw2=0;tr0=1;break;elsesw2=1;tr0=0;buzz=1;break; case 3: if(currenttdq3_set1)sw3=0;tr0=1;break;elsesw3=1;buzz=1;tr0=0;break; case 4:if(currenttdq4_set1)sw4=0;t
38、r0=1;break;elsesw4=1;buzz=1;tr0=0;break; default : break; void timer0() interrupt 1 using 1 /蜂鳴器報(bào)警聲音static uchar count=0;th0=(65536-50000)/256;tl0=(65536-50000)%256;count+;if(count=5)count=0;buzz=buzz; /蜂鳴器響8。ds18b20的管腳排列如圖3-2所示。圖3-2ds18b20高速暫存器共9個(gè)存存單元,如表3-1所示: 表3-1 ds18b20高速暫存器序號(hào)寄存器名稱作 用序號(hào)寄存器名稱作用01
39、23溫度低字節(jié)溫度高字節(jié)th/用戶字節(jié)1hl/用戶字節(jié)2以16位補(bǔ)碼形式存放以16位補(bǔ)碼形式存放存放溫度上限存放溫度下限4、5678保留字節(jié)1、2計(jì)數(shù)器余值計(jì)數(shù)器/crc當(dāng)溫度轉(zhuǎn)換命令發(fā)布后,經(jīng)轉(zhuǎn)換所得的溫度值以二字節(jié)補(bǔ)碼形式存放在高速暫存存儲(chǔ)器的第0和第1個(gè)字節(jié)。單片機(jī)可通過單線接口讀到該數(shù)據(jù),讀取時(shí)低位在前,高位在后,數(shù)據(jù)格式如表1所示。對(duì)應(yīng)的溫度計(jì)算:當(dāng)符號(hào)位s=0時(shí),直接將二進(jìn)制位轉(zhuǎn)換為十進(jìn)制;當(dāng)s=1時(shí),先將補(bǔ)碼變?yōu)樵a,再計(jì)算十進(jìn)制值。第九個(gè)字節(jié)是冗余檢驗(yàn)字節(jié)。ds18b20有六條控制命令,如表3-2所示:表3-2 ds18b20控制命令指 令約定代碼操 作 說 明溫度轉(zhuǎn)換讀暫存器寫暫存器復(fù)制暫存器
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度企業(yè)股權(quán)激勵(lì)計(jì)劃轉(zhuǎn)讓合同
- 2025年大數(shù)據(jù)處理與分析軟件服務(wù)采購協(xié)議3篇
- 二零二五年建筑資質(zhì)掛靠與工程進(jìn)度調(diào)整服務(wù)協(xié)議3篇
- 2025年度二手房買賣合同附加物業(yè)管理費(fèi)結(jié)算協(xié)議3篇
- 二零二五年度大型商業(yè)綜合體工程分包管理協(xié)議2篇
- 2025年教育培訓(xùn)行業(yè)技術(shù)培訓(xùn)與教育資源共享協(xié)議3篇
- 二零二五年度企業(yè)研發(fā)場地使用權(quán)轉(zhuǎn)讓合同匯編2篇
- 2025版環(huán)保型標(biāo)磚購銷合同范本帶可持續(xù)發(fā)展詳細(xì)條款2篇
- 二零二五年度農(nóng)業(yè)農(nóng)業(yè)科技人才培養(yǎng)貸款合同
- 二零二五年度0號(hào)柴油批發(fā)合作協(xié)議2篇
- 四則混合運(yùn)算100道題四年級(jí)上冊(cè)及答案
- 四川省高職單招電氣技術(shù)類《電子基礎(chǔ)》歷年考試真題試題庫(含答案)
- 中級(jí)半導(dǎo)體分立器件和集成電路裝調(diào)工技能鑒定考試題庫(含答案)
- 2024年江西生物科技職業(yè)學(xué)院單招職業(yè)技能測試題庫帶解析答案
- 橋本甲狀腺炎-90天治療方案
- (2024年)安全注射培訓(xùn)課件
- 2024版《建設(shè)工程開工、停工、復(fù)工安全管理臺(tái)賬表格(流程圖、申請(qǐng)表、報(bào)審表、考核表、通知單等)》模版
- 部編版《道德與法治》六年級(jí)下冊(cè)教材分析萬永霞
- 酒店人防管理制度
- 油田酸化工藝技術(shù)
- 上海高考英語詞匯手冊(cè)列表
評(píng)論
0/150
提交評(píng)論