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