基于A(yíng)T89S52的串口通信的測溫系統設計
3.1 下位機軟件設計
下位機程序設計包含三部分:微控制器的初始化、對DS18B20 的訪(fǎng)問(wèn)和對LCD1620 的讀寫(xiě)。AT89S52 是該系統的核心部分,控制著(zhù)溫度的轉換以及讀取溫度數值并轉化成十進(jìn)制數以及相應的ASCII 值在1602 上進(jìn)行顯示,通過(guò)RS232供PC 機讀取溫度值。其主要工作流程為:初始化內部部件以達到環(huán)境運行要求、初始化DS18B20 以及LCD1602;讀取溫度值并將采集到的數據進(jìn)行相應的轉化傳送到1602 上進(jìn)行顯示;當遇到中斷時(shí),進(jìn)入中斷服務(wù)函數,檢查上位機是否向其請求發(fā)送數據。一旦檢測到正確的請求即將讀取的溫度數值按照一定的格式放到緩沖器中,直到數據發(fā)送結束,返回中斷點(diǎn)繼續執行原函數。流程圖如圖3(a)所示。
3.2 上位機軟件設計
為方便進(jìn)行遠程控制可將采集到的溫度數據通過(guò)RS_232 口傳輸到控制中心的電腦上,以便實(shí)時(shí)監測。采用VB6.0[4]作為開(kāi)發(fā)平臺,可高效快速地完成軟件的開(kāi)發(fā)設計。
采用Viusal Basic 開(kāi)發(fā)串口通信程序主要有兩種方法:①使用MSComm 串口控件;②調用Window API 函數。
使用MSComm 串口控件實(shí)現通信的方法比調用API 動(dòng)態(tài)鏈接庫函數的方法方便、快捷、而且用編寫(xiě)代碼量少的有點(diǎn),可以大大地提高編程效率和系統設計的穩定性。該部分軟件完成窗體的設計,設置Timer 的間隔為300ms,完成MSComm控件的添加,設置其相應的屬性,對所得的數據進(jìn)行分析計算并在窗口中顯示。流程圖如圖3(b)所示。
圖3 測溫系統程序流程
4 結語(yǔ)
這里項目根據實(shí)際需要完成了測溫系統的設計和實(shí)現。
包括:整體架構設計、下位機底層硬件和軟件的具體實(shí)現、PC 串口上位機軟件設計,較好地達到了預期目的。系統實(shí)物圖如圖4 所示,前后臺溫度顯示如圖5(a)、圖5(b)所示。
系統充分利用了DS18B20 微型化、低功耗、高性能、抗干擾能力強等優(yōu)點(diǎn),將溫度數據通過(guò)串口傳輸到上位機進(jìn)行統一管理,有利于溫度數據的保存和查詢(xún),節省了人力成本。
該系統可應用于較多的測溫場(chǎng)合。更高級的基于嵌入式系統和無(wú)線(xiàn)傳感網(wǎng)絡(luò )的測溫系統目前也是人們研究的熱點(diǎn)。下一步的工作將展開(kāi)基于反饋控制的溫控系統設計。
圖4 系統實(shí)物
圖5 測溫結果顯示
評論