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