摘要:本實(shí)驗(yàn)設(shè)計(jì)的基于單片機(jī)和PC機(jī)串口通信的溫度監(jiān)控及顯示系統(tǒng)是以AT89S52單片機(jī)為核心控制部件,將VisualBasic 6.0引入單片機(jī)測控實(shí)驗(yàn)系統(tǒng)。能夠在PC機(jī)中實(shí)時(shí)顯示溫度并進(jìn)行控制。
關(guān)鍵詞:單片機(jī)VisualBasic 6.0測控實(shí)驗(yàn)
中圖分類號:TP31文獻(xiàn)標(biāo)識(shí)碼:A文章編號:1674-098X(2011)03(a)-0091-02
傳統(tǒng)的單片機(jī)測控系統(tǒng)采用AD轉(zhuǎn)換器采集數(shù)據(jù),通過按鍵進(jìn)行控制并將結(jié)果顯示在LED顯示器上,本設(shè)計(jì)采用數(shù)字溫度傳感器DS1820使得溫度數(shù)據(jù)采集更加方便,同時(shí)單片機(jī)通過串口連接PC機(jī),在PC機(jī)中用VB語言編寫人機(jī)界面,接受單片機(jī)發(fā)送的溫度數(shù)據(jù)并顯示。
1 系統(tǒng)硬件的設(shè)計(jì)
設(shè)計(jì)了一個(gè)水杯升溫電路,利用溫度傳感器測定水杯的初始溫度并通過單片機(jī)將采集到的數(shù)據(jù)同步傳輸給PC機(jī),PC機(jī)對數(shù)據(jù)進(jìn)行分析判斷后向控溫電路發(fā)出指令,通過控溫電路對水杯控溫,傳感器又將水溫的變化通過單片機(jī)將采集到的數(shù)據(jù)同步傳輸PC機(jī)。PC機(jī)對接受的數(shù)據(jù)分析,將處理數(shù)據(jù)的變化以曲線的形式反映出來,得到水溫隨時(shí)間的變化曲線。解決了目前傳統(tǒng)的單片機(jī)測控實(shí)驗(yàn)中的不足之處如下。
(1)人機(jī)界面不直觀。
(2)程序設(shè)計(jì)復(fù)雜、調(diào)試?yán)щy。
(3)不利于學(xué)生創(chuàng)造性地開展實(shí)驗(yàn)。
現(xiàn)將該溫度監(jiān)控系統(tǒng)的硬件結(jié)構(gòu)、軟件設(shè)計(jì)及各種功能介紹如下。
系統(tǒng)的總體硬件結(jié)構(gòu)如圖1所示。
1.1 單片機(jī)
采用AT89S52,它是一種低功耗、高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程Flash存儲(chǔ)器。[1]
1.2 溫度傳感器
采用DS1820數(shù)字溫度計(jì),它提供9位(二進(jìn)制)溫度讀數(shù)指示器件的溫度信息經(jīng)過單線接口送入DSl820或從DSl820送出,因此從主機(jī)CPU到DSl820僅需一條線(和地線)DSl820的電源可以由數(shù)據(jù)線本身提供而不需要外部電源。[2]
1.3 升溫電路
選擇可控硅又稱為雙向晶閘管,由單片機(jī)IO輸出的PWM信號控制對水杯加熱。
1.4 串口通信
本系統(tǒng)采用RS232串口通信,串口COM1,波特率9600,數(shù)據(jù)位8。
2 系統(tǒng)軟件的設(shè)計(jì)
系統(tǒng)的軟件部分主要包括單片機(jī)和PC機(jī)兩部分。單片機(jī)部分主要是采集水杯的溫度,然后通過串口發(fā)送給PC機(jī)。PC機(jī)部分主要是采用VB作為開發(fā)工具設(shè)計(jì)出一個(gè)控制界面,包括顯示區(qū),控制區(qū)。
2.1 數(shù)據(jù)采集模塊
單片機(jī)通過對水杯溫度的實(shí)時(shí)采集和顯示程序流程圖如圖2所示。
2.2 PC機(jī)模塊[3]
如圖2所示,在窗體中設(shè)置有MSCOMM 控件Comm 1和Comm 2、文本框控件、圖形框控件、命令按鈕等。其中,文本框用于顯示每次接收的轉(zhuǎn)速值及各種手工輸入的參數(shù)值;圖形框用于顯示轉(zhuǎn)速曲線。在數(shù)據(jù)發(fā)送和接收方面,MSCOMM控件支持以文本和二進(jìn)制格式傳輸數(shù)據(jù)。由于這里通信對象是單片機(jī),處理二進(jìn)制數(shù)據(jù)較方便,故采用二進(jìn)制格式發(fā)送和接收數(shù)據(jù)。發(fā)送數(shù)據(jù)前,必須將發(fā)送緩沖區(qū)清空(如圖3)。
2.3 PID算法
PID算法控制是本組設(shè)計(jì)系統(tǒng)中最核心的算法思想,利用PID計(jì)算輸出PWM來控制固態(tài)繼電器的通斷。因此,PID控制部分的軟件設(shè)計(jì)尤為重要。PID控制規(guī)律是:,是比例系數(shù),是積分時(shí)間常數(shù);是微分時(shí)間常數(shù)。寫成遞推形式為:
3 實(shí)驗(yàn)結(jié)果及分析
將本系統(tǒng)的溫度傳感器放人一盛有1L水的燒杯中,任意設(shè)定一溫度值,如50℃,對被控對象從初始溫度到恒定設(shè)定溫度一過程每隔10S記錄數(shù)據(jù),得到的試驗(yàn)結(jié)果(如圖4)。
經(jīng)過反復(fù)的測試,我們的設(shè)計(jì)完全滿足設(shè)計(jì)要求,控制簡便,適用范圍廣,將VB應(yīng)用在單片機(jī)測控實(shí)驗(yàn),接受并直觀的顯示數(shù)據(jù),并且在改進(jìn)的基礎(chǔ)上可以使用更廣泛的領(lǐng)域,所用原件都非常廉價(jià),性價(jià)比高。
4 結(jié)語
單片機(jī)測控實(shí)驗(yàn)涉及面廣、難度較大。本實(shí)驗(yàn)應(yīng)用VB,大大提高了實(shí)時(shí)顯示和交互功能,可以在一些領(lǐng)域中得到應(yīng)用。隨著單片機(jī)測控技術(shù)應(yīng)用領(lǐng)域的不斷擴(kuò)展,VB在單片機(jī)測控系統(tǒng)中將發(fā)揮更大的作用。
最后,非常感謝學(xué)校給予的信任和幫助,同時(shí)也感謝強(qiáng)寧老師的悉心指導(dǎo)。
參考文獻(xiàn)
[1]戴仙金.51單片機(jī)及其C語言程序開發(fā)實(shí)例[M].清華大學(xué)出版社,2008.
[2]陳志旺,陳志茹,閻巍山,等.51系列單片機(jī)系統(tǒng)設(shè)計(jì)與實(shí)踐[M].電子工業(yè)出版社,2010.
[3]俞磊,等.Visual Basic完全自學(xué)手冊[M].機(jī)械工業(yè)出版社,2009.