用單片機實現溫度遠程顯示
(3)儀表通信格式
@ DE 幀類型 幀數據 CRC CR
◇ @:通信起始符。
◇ DE:儀表設備號(地址)。
◇ 幀類型:操作命令。
◇ 幀數據:各種操作命令所對應的命令及數據。
◇ CRC:校驗字節(除@外CRC之前的其它幾個字節的異或值)。
◇ CR:結束符(回車符)。
(4)應用中用到的命令及數據格式
◇ 讀儀表全部動態數據命令幀
@ DE RD CRC CR
◇ 命令回送幀 正確 @DE RD 幀數據 CRC CR
錯誤 @DE * * CRC CR
例:讀28號儀表的全部動態數據
命令:
'@1CRD64',0D(ASCII碼40 31 43 52 44 36 34 d) 錯誤返回碼
'@1C**72',0D(ASCII碼40 31 43 2A 2A 37 32 0D) 正確返回數據 '@ 1C RD XXXX XXXX
第0通道
XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX
第1通道 第2通道 第3通道 第4通道 第5通道 第6通道
XXXX XXXX XX' ,0D
第7通道 校驗
4 單片機選擇及硬件電路設計
① 選用Atmel公司生產的AT89S8252-24PC單片機,其主要參數及特點如下。
◇ 與MCS-51產品兼容。
◇ 具有8K字節可擦寫的Flash內部程序存儲器,可擦寫1000次;2K字節EEPROM,可擦寫 100 000次;SPI口(用PC機的并口連接5條線即可通過SPI口下載程序,軟件可從網上下載,這樣可節省購買編程器的費用;如果用1片AT89C2051 自編1個小程序可制成1個燒寫式仿真器,不占用單片機任何資源,并且燒寫完可自動運行程序,非常方便。本文介紹的遠程溫度顯示裝置就是用這種方法開發完成的)。
◇ 256字節RAM,32根可編程I/O線,可編程串行口,內置看門狗。
與看門狗有關的特殊功能寄存器WMCON 地址= 96H,與看門狗有關的控制位為96H中的第0、1、5、6、7位。第5、6、7位用于設置看門狗定時時間。本應用中第5、6、7位均置1,設置看門狗溢出時間為2048 ms,第0位為看門狗使能控制位。該位置1將使能看門狗,其第1位為復用位,向第1位寫1將復位看門狗定時器,具體操作如下:
a. 使能看門狗,并將其溢出時間設定為2048 ms:ORL 96H, #0E1H;
b. 看門狗定時器清0:ORL 96H, #2。
② 按鍵設計。為方便使用,設計了3個按鍵,分別為巡回/定點切換鍵、上鍵、下鍵。切換鍵用于巡檢與定點模式的切換,上鍵向上切換通道,下鍵向下切換通道。其中巡檢/定點切換鍵通過外部中斷1以中斷方式工作,中斷程序將巡回/定點標志取反后直接跳到主程序中巡回/定點標志判斷程序前運行,由判斷程序完成巡回 /定點的切換。按鍵信號由單片機P3.3、P3.4、P3.5引腳輸入。
③ 顯示電路設計。為方便觀察,選用3個2位共陽級8段數碼顯示管(TOD5201AE)動態顯示,1位顯示儀表地址(A~F),1位顯示通道號(0~7通道),其余4位用來顯示實時溫度值;用單片機P1口驅動1片74HC244以吸收電流的方式控制段碼,用單片機P0.0~P0.5引腳驅動6個PNP三極管(9012)控制位選。
④ 電源選用5V/1A市售成品開關電源。
⑤ 根據智能儀表通信協議的要求,串行口定義為方式1工作,1幀10位:1個起始位、8個數據位、1個停止位;用1片75176完成數據的發送與接收,由于 RS485為半雙工,故用單片機P3.2引腳控制發送與接收的切換;2個智能儀表處于RS485總線的2個端點,為提高可靠性,在RS485總線的2個端點上分別并聯1個120Ω、1/4W終端電阻。
看門狗溢出時間表如表1所列。系統方框圖如圖2所示。
評論