基于DS18B20的MOA溫度遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計(jì)
當(dāng)一線制總線上僅有一個(gè)DS18B20器件時(shí), 可以用sk ip ROM 操作(即跳過(guò)ROM 匹配)命令來(lái)代替64位序列號(hào)的匹配過(guò)程, 省掉煩瑣的總線上器件序列號(hào)的查詢操作。在本設(shè)計(jì)中, 每個(gè)監(jiān)測(cè)站僅用4個(gè)DS18B20器件, 因此在硬件滿足要求的條件下可以設(shè)計(jì)成單片機(jī)的每個(gè)端口僅連接一個(gè)DS18B20, 即利用單片機(jī)的并行端口同時(shí)對(duì)多個(gè)DS18B20進(jìn)行統(tǒng)一的操作。
圖5 DS l8B20的多點(diǎn)測(cè)溫電路原理圖
2. 3 串口通信電路
本設(shè)計(jì)選用的單片機(jī)AT89S52 具有一個(gè)全雙工的串行口, 可以通過(guò)編程設(shè)定為4種工作方式, 完全滿足系統(tǒng)的串口通信要求。由于實(shí)際的溫度測(cè)量系統(tǒng)離PC機(jī)的監(jiān)控地點(diǎn)較遠(yuǎn), 如采用常用的RS-232串行通信接口在傳輸距離短, 信號(hào)易受干擾等缺點(diǎn), 因此本設(shè)計(jì)選用了RS- 485總線進(jìn)行遠(yuǎn)程通信。RS - 485是美國(guó)電氣工業(yè)聯(lián)合會(huì)制定的通信標(biāo)準(zhǔn), 其采用差分信號(hào)進(jìn)行傳輸, 最大傳輸距離約為1219 m, 最大的傳輸速率可達(dá)10Mbit/ s, 能夠滿足長(zhǎng)距離和高速率的串行異步通信, 得到了廣泛的應(yīng)用。在系統(tǒng)實(shí)現(xiàn)中, 單片機(jī)端使用MAX485芯片將TTL 電平轉(zhuǎn)換成RS - 485的電平輸出, 并在PC端連接RS232 /485轉(zhuǎn)換器, 從而實(shí)現(xiàn)了遠(yuǎn)程監(jiān)控。RS- 485總線接口電路如圖6所示。
圖6 RS- 485總線接口電路
2. 4 人機(jī)通信
監(jiān)測(cè)系統(tǒng)可采用數(shù)碼管和鍵盤(pán)作為人機(jī)交互界面, 通過(guò)鍵盤(pán)按鍵來(lái)顯示三相MOA 的當(dāng)前工作溫度和與環(huán)境的溫差, 鍵盤(pán)設(shè)定或修改兩個(gè)回路的上下限溫度報(bào)警值, 且一經(jīng)設(shè)定完成后即用新的參數(shù)值進(jìn)行監(jiān)控并發(fā)往PC 機(jī)更新數(shù)據(jù), 同時(shí)把新參數(shù)送入E2ROM中保存, 以防止系統(tǒng)掉電后參數(shù)的丟失。在溫度測(cè)量中, 系統(tǒng)用當(dāng)前測(cè)量值與設(shè)定的上下溫限值比較, 從而控制是否需要聲光報(bào)警。當(dāng)系統(tǒng)的運(yùn)行發(fā)生了偏差, 可以通過(guò)復(fù)位按鍵使系統(tǒng)重新開(kāi)始運(yùn)作。
3 軟件編程設(shè)計(jì)
3. 1 DS18B20時(shí)序圖
由于DS18B20采用的是1-W ire總線協(xié)議方式,即用一根數(shù)據(jù)線實(shí)現(xiàn)數(shù)據(jù)的雙向傳輸, 單線通信功能是分時(shí)完成的, 有嚴(yán)格的時(shí)序概念, 因此讀寫(xiě)時(shí)序很重要。系統(tǒng)對(duì)DS18B20的各種操作必須按協(xié)議進(jìn)行。操作協(xié)議為: 初始化DS18B20(發(fā)復(fù)位脈沖)-發(fā)ROM 操作命令-發(fā)存儲(chǔ)器操作命令-處理數(shù)據(jù)。
評(píng)論