申偉成,宮家寶,王家偉,王玉祥,李 娜
(沈陽工學(xué)院 信息與控制學(xué)院,遼寧 撫順 113122)
串口通信對(duì)于計(jì)算機(jī)操作非常重要,通過串口通信能夠進(jìn)行計(jì)算機(jī)控制,幫助人類解決工作中的各種難題,文章針對(duì)串口通信的控制系統(tǒng)進(jìn)行研究,利用VB.net實(shí)現(xiàn)了單片機(jī)和PC機(jī)之間的串口通信過程。
文章所用的單片機(jī)采集系統(tǒng)的構(gòu)成:STM8S單片機(jī)控制電路,溫濕度傳感器采集電路,串口轉(zhuǎn)換模塊。根據(jù)不同的單片機(jī)系統(tǒng)完成電腦和單片機(jī)之間的串口通信過程,對(duì)溫濕度檢測(cè)系統(tǒng)為基礎(chǔ),完成的串口電路設(shè)計(jì),其系統(tǒng)的結(jié)構(gòu)如圖1所示。
圖1 串口通信結(jié)構(gòu)圖
如圖1所示,通信過程可以完成發(fā)送和接收功能。根據(jù)溫濕度采集數(shù)據(jù)的特點(diǎn),需要在串口界面上顯示出實(shí)時(shí)采集的溫濕度值,同時(shí)為了滿足串行通信過程的可靠性,需要在界面中對(duì)串行通信的參數(shù)進(jìn)行設(shè)置。為了進(jìn)一步滿足系統(tǒng)的要求,當(dāng)采集的溫度或者濕度值處于不正常范圍之內(nèi)時(shí),系統(tǒng)需要進(jìn)行報(bào)警。界面的結(jié)構(gòu)如圖2所示。
圖2 串口界面結(jié)構(gòu)圖
所設(shè)計(jì)的串口的界面包含以下幾部分:
(1)串口的參數(shù)模塊。串行通信過程采用異步串行通信過程,異步串行通信需要設(shè)置的參考包括:數(shù)據(jù)位、停止位、校驗(yàn)位、波特率、硬件數(shù)據(jù)流控制。本文采用的參數(shù)為115200,N,8,1。
(2)溫度值顯示模塊。單片機(jī)傳送的溫度數(shù)據(jù)為16位二進(jìn)制數(shù)據(jù),串口界面通過串口緩沖區(qū)讀取數(shù)據(jù)后完成溫度數(shù)據(jù)的顯示工作。
(3)濕度值顯示模塊。單片機(jī)傳送的濕度數(shù)據(jù)為16位二進(jìn)制數(shù)據(jù),串口界面通過串口緩沖區(qū)讀取數(shù)據(jù)后完成濕度數(shù)據(jù)的顯示工作。
(4)報(bào)警信息模塊。單片機(jī)采集的溫度或者濕度值超出正常值,界面中會(huì)進(jìn)行報(bào)警,可以通過兩種方式進(jìn)行體現(xiàn)。第一通過LED燈的圖片進(jìn)行體現(xiàn),第二通過文字提示進(jìn)行體現(xiàn)。
利用VB.net語言編寫的界面程序流程圖如圖2所示。在程序的處理過程如下:首先,程序開始導(dǎo)入需要的庫,然后進(jìn)行初始化操作,接下來讀取緩沖區(qū)中的溫度值和濕度值,并判斷溫度或者濕度是否超出正常值,如果超出進(jìn)行報(bào)警信息處理。
圖3 程序流程圖
本系統(tǒng)設(shè)計(jì)的串口通信界面可以實(shí)現(xiàn)單片機(jī)和PC之間的有線串行通信過程,可以把單片機(jī)端的數(shù)據(jù)送入到PC機(jī)端顯示,顯示的數(shù)據(jù)方便進(jìn)行遠(yuǎn)程的管理。物聯(lián)網(wǎng)技術(shù)的應(yīng)用中,主節(jié)點(diǎn)采集的數(shù)據(jù)需要和PC之間進(jìn)行數(shù)據(jù)的傳輸,而文章設(shè)計(jì)的串口通信界面剛好滿足這個(gè)要求,本文所設(shè)計(jì)的系統(tǒng)具有一定的價(jià)值。