多點溫度監控系統的設計
2.1.3 輸出控制電路
上位機向下位機發送命令和預置溫度,下位機接收到之后,解析命令,并將預置溫度與實際溫度比較,根據命令和比較結果,利用P3.5口控制調溫設備。當P3.5輸出低電平時,U1導通發光,使晶體管導通,從而T1導通,驅動繼電器K工作,使調溫設備導通工作。當P3.5為高電平時,U1不導通,晶體管不導通,T1也截止,繼電器不通電,調溫設備不工作。
2.2 上位機電路
上位機電路包括RS 485總線接口電路、鍵盤電路和液晶顯示電路。其中總線接口電路與下位機總線接口電路基本一致。其電路原理圖如圖3所示。下面介紹鍵盤電路和顯示電路。本文引用地址:http://www.j9360.com/article/173748.htm
2.2.1 鍵盤電路
上位機電路中提供6個按鍵用于溫度設置、溫度查詢、系統時間設置、工作/待機設置。它們是“ON/OFF”鍵、“+”鍵、“―”鍵、“SET”鍵、“ENQ”鍵、“TIME”鍵,分別與AT89S51的P2.0,P2.1,P2.2,P2.3,P2.4,P2.5相連?!癝IET”鍵用于選擇下位機,之后可按“ON/OFF”鍵使對應的下位機工作/待機,也可按“+”,“一”鍵給該分機設置預置溫度。“ENQ”鍵用于查詢下位機的預置溫度、實際溫度值和調溫設備運轉狀態。設置系統時間需先按“TIME”鍵選擇時或分,然后利用“+”,“一”鍵設置系統時間。
2.2.2 顯示電路
上位機系統采用16×2字符型液晶模組(LCM),其為按鍵操作提供可視化依據,內部集成了LCD控制器、LCD驅動器、LCD顯示裝置。LCM與單片機的接口電路比較簡單,單片機的P1口接LCM的數據總線,P3.5,P3.6,P3.7用于控制LCM。LCM的第一行顯示系統時間,第二行顯示分機的設置溫度、實際溫度和工作狀態。如果在1 m內沒有任何操作,則液晶顯示屏上開始循環顯示各個點的實際溫度值、預置溫度值以及工作狀態,每一個點的數據在液晶屏上顯示的時間是8 s。
3 RS 485通信協議
為實現上位機與多臺下位機通信可靠穩定,上位機與下位機通信波特率都為9 600 b/s,通信方式均為串行工作方式3,每幀通信數據包括1個起始位,1個停止位,8個數據位,1個奇校驗位。通信模式采用主/從方式,上位機為主機,下位機為從機,主機地址為1,從機地址是2,3,4,…;主機與從機之間采用一問一答方式,從機之間不能相互通信。每個上行/下行的數據包的字節個數都是一樣的,從機收到數據包后向主機回復一個數據包。每個數據包長度為4 B,下行數據包格式:地址信息(1 B)、命令信息(1 B)、溫度設置值(1 B)、檢驗碼(1 B);上行數據包格式:主機地址信息(1 B)、命令應答信息(1 B)、實測溫度值(1 B)、檢驗碼(1 B)。命令信息和命令應答信息就是指從機的工作狀態。
主機采用輪詢方式訪問各從機,在發出指令后,主機進入查詢狀態,等待從機應答。從機不斷查詢總線,如主機訪問地址與從機地址相符,并且校驗通過,則執行指令,并保存設置溫度值,然后將相關信息以上行數據包格式發回主機。如不是本機地址或校驗碼錯誤,則丟棄指令及數據。傳輸過程中的誤碼校驗采用校驗和的方式,即先將要發送的數據包的所有字節相加,然后截短到一個字節長度。
4 系統軟件設計
4.1 下位機程序設計
下位機程序主要包括DSl8820傳感器溫度采集子程序、串行通信子程序、輸出控制子程序。主程序循環調用溫度采集子程序和輸出控制子程序,利用串行中斷來接收上位機發送的信息并回復主機(上位機),接收數據包的長度是4 B,發送數據包的長度也是4 B。其串行中斷接收發送程序流程圖如圖4所示。
4.2 上位機程序設計
上位機程序主要包括鍵盤掃描子程序、串行通信子程序、液晶顯示子程序。
利用T0產生50 ms定時中斷來進行時間換算、實時更新液晶顯示屏上的信息;在主程序中利用循環來查詢按鍵、向下位機發送數據;利用串行中斷來接收下位機的回復數據。上位機接收數據過程與下位機接收數據過程一樣,其主程序流程圖如圖5所示。系統采用一問一答的通信方式,上位機是主機,在向從機(下位機)發送完數據之后要調用延時程序等待從機的回復。
5 結 語
該系統能夠實現多點溫度檢測控制,操作方便,配置簡單,有效地節省了人力物力,實現自動化,具有通用性,可用于多種場合,具有很好的實用價值。
評論