基于8051單片機(jī)的遠(yuǎn)程溫度檢測系統(tǒng)設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
在現(xiàn)代社會(huì)中溫度在航空航天、工業(yè)自動(dòng)化、家用電器、環(huán)境保護(hù)和安全生產(chǎn)等方面都是最基本的監(jiān)測參數(shù)之一,但是在某些環(huán)境下溫度檢測比較危險(xiǎn)。因而需要一個(gè)智能檢測的監(jiān)測系統(tǒng)來代替危險(xiǎn)的工作,本文設(shè)計(jì)的系統(tǒng)就可以很好的解決此問題,不僅可以實(shí)時(shí)的對(duì)溫度進(jìn)行遠(yuǎn)程檢測監(jiān)控,還可以在十分惡劣的環(huán)境下工作,測量結(jié)果精度高,并且對(duì)所測數(shù)據(jù)可以直接通過無線模塊發(fā)送出去,在接收方利用無線接收設(shè)備接收實(shí)時(shí)的數(shù)據(jù);同時(shí)加報(bào)警裝置,在溫度不正常時(shí)給予提醒 ,從而將損失減少到最低。
1 系統(tǒng)組成
系統(tǒng)由單片機(jī)、溫度傳感器、串口通信模塊和無線傳輸模塊等幾部分組成。測溫系統(tǒng)將測得的溫度通過單片機(jī)在數(shù)碼管上實(shí)時(shí)顯示,同時(shí),通過串口通信部分和無線模塊將數(shù)據(jù)發(fā)送給上位機(jī)。系統(tǒng)結(jié)構(gòu)如圖1所示。
該設(shè)計(jì)以Atmel公司生產(chǎn)的單片機(jī)AT89C51為核心,以數(shù)字溫度傳感器DS18B20作為溫度采集,以SRWF-1無線模塊作為無線數(shù)據(jù)傳輸,從而構(gòu)成整體系統(tǒng)。
1.1 單片機(jī)系統(tǒng)
系統(tǒng)采用AT89C51作為核心控制,配備4位共陰極數(shù)碼管顯示電路。AT89C51是Atmel公司推出的一種低功耗、高性能CMOS 8位微處理器,具有8 KB系統(tǒng)可編程FLASH存儲(chǔ)器;256 B RAM;32個(gè)I/O引腳,分為4個(gè)8位控制端口;看門狗定時(shí)器;2個(gè)數(shù)據(jù)指針;3個(gè)16位定時(shí)器/計(jì)數(shù)器;兩級(jí)中斷優(yōu)先等級(jí);可編程全雙工串行傳輸端口;片內(nèi)晶振及時(shí)鐘電路;8個(gè)中斷源。數(shù)碼顯示采用Ytt-410391K四位7段8線數(shù)碼管,作為溫度顯示部分,并用最末一位顯示小數(shù)。
1.2 數(shù)字溫度傳感器DS18B20
DS18B20是美國Dallas公司生產(chǎn)的一款可編程1-Wire數(shù)字溫度計(jì)。具有精度高,全數(shù)字化,連線少等諸多優(yōu)點(diǎn)。其可直接將采集到的溫度轉(zhuǎn)換成數(shù)字信號(hào),通過單條數(shù)據(jù)線串行發(fā)送出去,只要嚴(yán)格遵循規(guī)定時(shí)序邏輯和脈沖間隔,就能舍去同步時(shí)鐘信號(hào)線,做到通信期間引腳最少化,達(dá)到溫度采集目的。
1.2.1 內(nèi)部結(jié)構(gòu)及外部管腳
數(shù)字式溫度傳感器DS18B20的內(nèi)部結(jié)構(gòu)如圖2所示,其主要由四部分組成:64位ROM和單總線接口、溫度傳感器、非揮發(fā)的溫度報(bào)警觸發(fā)器TH和TL、配置寄存器。
DS18B20 64位閃存ROM的開始8位是產(chǎn)品類型的編號(hào),接著的48位為每個(gè)器件的惟一序號(hào),最后8位是CRC校驗(yàn)碼。用于存儲(chǔ)用戶設(shè)定溫度上下限值的非易失性溫度報(bào)警觸發(fā)器TH和TL,使用時(shí)可通過軟件寫入、設(shè)定報(bào)警上下限值。DS18B20內(nèi)部配有一個(gè)電可擦除的E2PROM,用于存儲(chǔ)TH、TL值,用于確定溫度值的數(shù)字轉(zhuǎn)化分辨率。工作時(shí)按此寄存器中的分辨率將溫度轉(zhuǎn)化為相應(yīng)精度的溫度值。
DS18B20具有三引腳To-92小體積封裝形式,如圖3所示;溫度測量范圍為-55~+125℃,其工作電源既可在遠(yuǎn)端引入,也可使用寄生電源方式產(chǎn)生;CPU只需一根端口線就能與諸多DS18B20通信,由于其占用微處理器的端口較少,因此可節(jié)省大量的引線和邏輯電路。
DSB18B20各引腳介紹如下:GND為地;DQ為數(shù)據(jù)輸入/輸出端;VDD為外接供電電源輸入端(在寄生電源接線方式時(shí)接地);NC為SOIC封裝的,NC為空引腳。
1.2.2 工作原理
DS18B20內(nèi)部的低溫度系數(shù)振蕩器能產(chǎn)生穩(wěn)定的頻率信號(hào)f0,而高溫度系數(shù)振蕩器則將被測溫度轉(zhuǎn)化成頻率信號(hào)f.當(dāng)計(jì)數(shù)器打開時(shí),DS 18B20則對(duì)f0計(jì)數(shù),計(jì)數(shù)器開通時(shí)間由高溫度系數(shù)振蕩器決定。芯片內(nèi)部還有斜率累加器,可對(duì)頻率的非線性給予補(bǔ)償。其測量的結(jié)果將暫存在溫度寄存器中,可使單片機(jī)方便的將溫度讀出。
DS18B20的核心是一個(gè)直接的數(shù)字化溫度傳感器,可將溫度值按9 b,10 b,11 b,12 b分辨率進(jìn)行量化,默認(rèn)分辨率為12 b,對(duì)應(yīng)的溫度最小增量分別為0.5℃,0.25℃,0.125℃和0.062 5℃。當(dāng)主機(jī)向DS18B20發(fā)出溫度轉(zhuǎn)化命令后,開始溫度轉(zhuǎn)換,檢測的溫度結(jié)果將存放在兩個(gè)字節(jié)中,最低位LSB在前,最高位MSB為符號(hào)位。其數(shù)據(jù)格式如下:
其中,高位字節(jié)MSB的高5位為溫度的符號(hào)位,當(dāng)溫度為正時(shí),該5位為0,溫度為負(fù)時(shí),統(tǒng)一為1.高位字節(jié)MSB的低3位和低位字節(jié)LSB的高4位共同組成溫度值的整數(shù)部分,低位字節(jié)LSB的低4位為小數(shù)位,采用二進(jìn)制補(bǔ)碼方式存儲(chǔ)溫度數(shù)據(jù)。例如,當(dāng)溫度為+125℃時(shí),輸出溫度為07D0h;當(dāng)溫度為+85℃時(shí),輸出溫度為0550h;當(dāng)溫度為+25.062 5℃時(shí),輸出溫度為0191h;當(dāng)溫度為-10.125℃時(shí),輸出溫度為FF5Eh;當(dāng)溫度為-55℃時(shí),輸出溫度為FC90h.
1.2.3 硬件設(shè)計(jì)
將DS18B20的數(shù)據(jù)輸入/輸出端與單片機(jī)AT89C51的P3.7端口相連,并將溫度值通過P1端口顯示出來。硬件原理圖如圖4所示。
1.3 SRWF-1型無線數(shù)據(jù)模塊
SRWF-1型微功率無線數(shù)傳模塊是上海桑銳電子科技有限公司自主開發(fā)的智能型產(chǎn)品,該產(chǎn)品支持1 200 b/s,2 400 b/s,4 800 b/s,9 600 b/s,19 200 b/s等多種接口波特率,也可根據(jù)需要提供其他非標(biāo)準(zhǔn)接口波特率。
SRWF-1型微功率無線數(shù)傳模塊具有最大10 dBm的微發(fā)射功率;可提供多種載頻頻率;高抗干擾能力和低誤碼率,在視距下,可靠傳輸距離大于300 m;支持多信道,可以根據(jù)需要擴(kuò)展到16/32信道;雙串口,三種接口方式;智能的數(shù)據(jù)控制,無需編制多余程序,較大的數(shù)據(jù)緩沖區(qū),可一次傳輸無限長度的數(shù)據(jù);兩種接口收發(fā)等待時(shí)間,既能用于高速設(shè)備也可適用低速系統(tǒng);看門狗實(shí)時(shí)監(jiān)控,使設(shè)備永不死機(jī)。
1.3.1 外形尺寸結(jié)構(gòu)圖
SRWF-1的外形結(jié)構(gòu)如圖5所示。
1.3.2 接口定義
SRWF-1提供1個(gè)9針的連接器(CON1),其定義基于終端的連接方法如表1所示。
1.3.3 接口參數(shù)
SRWF-1的左下角有一組5位的短路跳線(J1),分別定義為ABCDE,設(shè)跳線開路(不插短路器)為狀態(tài)0,跳線短路(插入短路器)為狀態(tài)1.其配置方法為:
?。?)信道頻率
J1的ABC三位跳線提供8種選擇,可通過設(shè)置ABC的短接狀態(tài)確定使用0~7號(hào)信道,只要在通信網(wǎng)中,ABC的跳線方式相同,就可以相互通信,其對(duì)應(yīng)的頻道如表2所示。
?。?)接口方式選擇
SRWF-1提供兩個(gè)串口,COM1(CON1的Pin3,Pin4)固定為TTL電平的UART串行口;COM2(CON1的Pin6,Pin7)可通過J1的D位來選擇接口方式:
D=1(不接短路器)
COM2=RS 485,RS 485的A/B口
D=0(接短路器)
COM2=RS 232,RS 232的TXD/RXD
J1的E位是用來選擇校驗(yàn)方式的:
E=0(不插短路器)8E1/801 帶一位校驗(yàn)位
E=1(插短路器)8N1 不帶校驗(yàn)位
(3)波特率設(shè)定
SRWF-1模塊提供1 200/2 400/4 800/9 600 b/s等接口波特率,波特率的設(shè)定可通過改變模塊反面的焊盤跳線(J2~J4)的狀態(tài)來確定。假設(shè)焊盤斷開為0,短路為1,焊盤跳線J4~J2的狀態(tài)和波特率對(duì)應(yīng)關(guān)系如表3所示。
?。?)接口方式選擇
本設(shè)計(jì)與單片機(jī)串口相連,采用標(biāo)準(zhǔn)RS232接口方式連接,將短路跳線D短接,其示意圖如圖6所示。其他引腳可懸空不接,以免引入干擾。
選取3號(hào)信道,將短路跳線B,C短接,信號(hào)發(fā)送和接收頻率為431.4588MHz,將兩個(gè)SRWF-1模塊均選取此設(shè)置,則兩個(gè)無線模塊即可相互通信。
根據(jù)本設(shè)計(jì)的需要,將SRWF-1的焊盤跳線J3,J2短接,從而得到波特率為9 600 b/s.
2 軟件設(shè)計(jì)
2.1 程序流程圖
系統(tǒng)的程序流程圖如圖7所示。
2.2 部分程序
DS18B20初始化程序:
3 結(jié)語
單片微型計(jì)算機(jī)是隨著超大規(guī)模集成電路技術(shù)的發(fā)展而誕生的,由于它具有體積小、功能強(qiáng)、性價(jià)比高等特點(diǎn),所以廣泛應(yīng)用于電子儀表、家用電器、節(jié)能裝置、軍事裝備、機(jī)器人、工業(yè)控制等諸多領(lǐng)域,使產(chǎn)品小型化、智能化,既提高了產(chǎn)品的功能和質(zhì)量,又降低了成本,簡化了設(shè)計(jì)。
DS18B20以其簡單、精度高、測溫范圍廣而被廣泛應(yīng)用;8051單片機(jī)以其抗干擾強(qiáng)、可靠性強(qiáng)、容易上手等優(yōu)點(diǎn)而廣泛使用;加上SRWF-1的使用,使系統(tǒng)在溫度采集過程中,可通過無線發(fā)送數(shù)據(jù),方便使用,減少工作量。