<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 單片機(jī)和PC機(jī)在實(shí)時溫度控制系統(tǒng)設(shè)計

          單片機(jī)和PC機(jī)在實(shí)時溫度控制系統(tǒng)設(shè)計

          作者: 時間:2011-12-29 來源:網(wǎng)絡(luò) 收藏

          了一種利用 機(jī)來實(shí)現(xiàn)的,包括硬件和軟件。系統(tǒng)采用STC89C52 作為主芯片,DS18B20 數(shù)字傳感器作為采集器件,運(yùn)用蜂鳴器作為報警器,VB6.0 制作上位機(jī)軟件,通過串口實(shí)現(xiàn) 機(jī)的通信。系統(tǒng)能監(jiān)控環(huán)境溫度,并具有報警功能,具有一定的實(shí)用性。

          本文引用地址:http://www.ex-cimer.com/article/172258.htm

          1 引言

          溫度是日常生活中非常重要的物理量, 其測量包括接觸式和非接觸式兩種,前者需要感溫元件與被測物體接觸, 會產(chǎn)生滯后現(xiàn)象, 后者則是通過接收被測介質(zhì)發(fā)出的輻射來實(shí)現(xiàn)的。溫度運(yùn)用數(shù)字溫度傳感器DS18B20 采集溫度,單片機(jī)作為主控芯片來對溫度值進(jìn)行處理, 控制和傳輸, 通過蜂鳴器實(shí)現(xiàn)報警功能,運(yùn)用VB 編程制作上位機(jī)管理軟件。整個系統(tǒng)設(shè)計結(jié)構(gòu)簡單,連接方便,易于管理,可以應(yīng)用于人不宜或者不易接觸的地方, 達(dá)到自動讀取環(huán)境溫度, 并具有報警功能,節(jié)省人力和物力。

          2 系統(tǒng)基本原理

          系統(tǒng)結(jié)構(gòu)框圖如圖1 所示, 數(shù)字溫度傳感器DS18B20 將待測介質(zhì)溫度值傳遞給單片機(jī),單片機(jī)對溫度值進(jìn)行處理,當(dāng)溫度超出所設(shè)范圍(本系統(tǒng)所設(shè)溫度極限為31℃)則通過報警電路實(shí)現(xiàn)報警。通過RS232 串口實(shí)現(xiàn) 機(jī)與單片機(jī)的通信,單片機(jī)將采集到的溫度值傳遞給PC 機(jī)。

          66.jpg

          通過使用Vi sual Bas ic 中的通信控件MSComm(Microsoft Communication Control),可以在Windows環(huán)境下輕松實(shí)現(xiàn)串口數(shù)據(jù)交換,MSComm 是Microsoft提供的簡化Windows 下串行通信編程的ActiveX 控件,通過對此控件的屬性和事件進(jìn)行編程,可以方便地發(fā)送和接收數(shù)據(jù)。利用MSComm 控件制作上位機(jī)軟件,可以實(shí)時顯示環(huán)境溫度值和提示信息。

          3 硬件設(shè)計

          3.1 單片機(jī)控制設(shè)計

          本設(shè)計采用STC 公司的STC89C52 單片機(jī)作為主要控制芯片,此單片機(jī)具有4 組8 位I /O 口(DIP-40 封裝) ,3 個16 位定時/ 計數(shù)器,8 個中斷源,8KB Flash 程序存儲器,512Byte 片內(nèi)RAM 數(shù)據(jù)存儲器,一個全雙工串行通信接口。STC 單片機(jī)性價比高,功能多,抗干擾能力很強(qiáng), 串口編程很方便, 保密性很強(qiáng)。

          67.jpg

          采用數(shù)字溫度傳感器DS 1 8B2 0 測量環(huán)境溫度,DS18B20 是美國Dallas 公司生產(chǎn)的單線數(shù)字溫度傳感器,它具有微型化、低功耗、高性能、抗干擾能力強(qiáng)、易配微處理器等優(yōu)點(diǎn), 可以直接將溫度值轉(zhuǎn)換為串行數(shù)字信號供處理器處理, 特別適合多點(diǎn)溫度測控系統(tǒng),每片DS18B20 都有惟一的產(chǎn)品號并可存入其ROM 中,以便在構(gòu)成大型溫度測控系統(tǒng)時在單線上掛接任意多個DS18B20 芯片。從DS18B20 讀出或?qū)懭隓S18B20信息僅需要一根端口線, 其讀寫及溫度變換功率來源于數(shù)據(jù)總線,該總線本身也可以將所掛接的DS18B20供電,而無需額外電源。DS18B20 能提供9 位溫度讀數(shù), 它無需任何外圍器件即可方便地構(gòu)成溫度檢測系統(tǒng)。如圖2 所示,只需將DS18B20 的第4 腳(DQ)和單片機(jī)的一個I /O 口(P2.2)相連,另外還需接一個上拉電阻即可。單片機(jī)通過其I/O 口獲得溫度值,很方便地進(jìn)行處理, 傳輸和控制。

          報警電路采用蜂鳴器作為報警器件, 如圖2 所示,只需很少的器件,就能實(shí)現(xiàn)單片機(jī)與蜂鳴器的連接。當(dāng)與蜂鳴器所連單片機(jī)的I /O 口輸出低電平時,蜂鳴器則能發(fā)出聲音,系統(tǒng)設(shè)計中,當(dāng)溫度超過31℃時,蜂鳴器則發(fā)出聲音, 實(shí)現(xiàn)報警功能。

          3.2 單片機(jī)與PC機(jī)接口設(shè)計

          單片機(jī)要和PC 機(jī)實(shí)現(xiàn)串口通信,需要進(jìn)行電平轉(zhuǎn)換, 因?yàn)閱纹瑱C(jī)使用的是TTL 電平, 而PC 機(jī)串口使用的是RS232 電平。運(yùn)用MAXIM 公司生產(chǎn)的MAX232芯片實(shí)現(xiàn)TTL 電平和RS232 電平轉(zhuǎn)換,如圖3 所示,通過其第11 腳和第12 腳分別與單片機(jī)的第11 腳和第10腳連接, 通過第13 腳, 第14 腳分別與PC 機(jī)串口的第2腳,第3 腳進(jìn)行連接,就能實(shí)現(xiàn)單片機(jī)和PC 機(jī)的電平轉(zhuǎn)換、連接、和通信。單片機(jī)與PC 機(jī)接口電路原理圖如圖3 所示。

          68.jpg

          4 軟件設(shè)計

          系統(tǒng)單片機(jī)程序采用C51 進(jìn)行編程, 主要完成對DS18B20 的調(diào)用中斷管理、測量溫度值的計算以及單片機(jī)與P C 機(jī)的串口通信。上位機(jī)軟件采用V BMSComm 控件制作,由于C51 程序較長,此處只介紹上位機(jī)軟件編寫程序,VB 程序如下:

            Pr ivate Sub Form_Load( ) ' . . . . . . . . 初始化設(shè)置

            MSComm1.CommPort = 1 '……使用Com1 口

            MSComm1.Sett ings = 9600,n,8,1 '. 設(shè)置通訊參數(shù)

            MSComm1.InBufferSize = 4 ' 設(shè)置接收寄存器等待讀取的字符數(shù)為4

            MSComm1.RThre shold = 0 ' 初始化為不產(chǎn)生OnComm 事件

            MSComm1.Por tOpen = True ' .打開串口

            MSComm1.InputLen = 4 ' 設(shè)置并返回Input 屬性從接收緩沖區(qū)讀取的字符數(shù)為4

            MSComm1.InputMode = comInputModeText ' 設(shè)置接收方式為文本方式

            Me.Caption = 實(shí)時溫度 ' 設(shè)置標(biāo)題為 實(shí)時溫度控制系統(tǒng)

            End Sub

            Pr ivate Sub Command1_Cl ick( ) '. .自動讀取按鈕

            Time r1.Enabl e d = True ' . . . . . . . .開啟定時器

            MSComm 1 . RT h r e s h o l d = 1 ' . . . . . . . . 開啟OnComm 事件觸發(fā)

            End Sub

            Pr ivate Sub Command2_Cl ick( ) '. .清空內(nèi)容按鈕

            Time r1.Ena bl ed = Fal se ' . . . . . . . . 關(guān)閉定時器

            MSComm1.RThre shol d = 0 ' . . . . . . . .停止產(chǎn)生OnComm 事件

            Sh a p e 1 . Fi l lCo l or = RGB( 2 5 5 , 2 5 5 , 2 5 5 )

            ' . . . . . . . . 設(shè)置信號指示燈的顏色為白色

            Te xt 1. Te x t = ' . . . . . . . .清空文本框1 的內(nèi)容

            Te xt 2. Te x t = ' . . . . . . . .清空文本框2 的內(nèi)容

            Te xt 3. Te x t = ' . . . . . . . .清空文本框3 的內(nèi)容

            End Sub

            Pr ivate Sub Command3_Cl ick( ) '. .關(guān)閉窗口按鈕

            Unl o a d Me ' . . . . . . . . 卸載窗體

            End Sub

            Pr ivate Sub MSComm1_OnComm( ) '. . . . . .事件觸發(fā)

            Dim rec As St ring

            Select Case MSComm1.CommEvent

            Case comEvReceive

            rec = MSComm1. Input

            Text3.Te xt = r ec

            MyResul t = (Text3.Text 31)

            ' . . . . . . . . 判斷當(dāng)前溫度是否達(dá)到3 1 ℃

            I f MyResul t = False Then ' . . . .達(dá)到31℃

            Shape1.Fi l lColor = RGB(255,0 , 0 ) ' . . . . . . . . 信號燈為紅色

            Te x t 1 . Te x t = 產(chǎn)生報警' . . . . . . . . 同時信息提示顯示 產(chǎn)生報警

            El se ' . . . . . . . . 未達(dá)到31 ℃

            Shape 1.Fi l lColor = RGB(0,1 2 8 , 0 ) ' . . . . . . . . 信號燈為綠色

            Te x t 1 . Te x t = 溫度正常' . . . . . . . . 同時信息提示顯示 溫度正常

            End I f

            Te xt3.Te xt =

          Te xt3.Text = re c + ℃

            MSComm1. InBufferCount = 0 ' 清空接收緩沖區(qū)

            End Select

            End Sub

            Private Sub Timer1_Timer()

            Te x t 2 . Te x t = Now ' . . . . . . . . 設(shè)置定時器產(chǎn)生時鐘, 顯示當(dāng)前時間

            End Sub

          5 系統(tǒng)調(diào)試

          系統(tǒng)實(shí)現(xiàn)功能包括,通過下位機(jī)(單片機(jī))將DS18B20所測溫度值實(shí)時傳輸給上位機(jī)(PC 機(jī)),通過上位機(jī)(PC 機(jī))監(jiān)控環(huán)境溫度,并具有報警功能。

          1.在上位機(jī)軟件中點(diǎn)擊自動讀取按鈕實(shí)現(xiàn)自動讀取當(dāng)前時間, 溫度值。當(dāng)正常溫度情況下, 信號指示燈為綠色, 同時信息提示為溫度正常。

          2.當(dāng)溫度達(dá)到所設(shè)溫度極限時(本系統(tǒng)所設(shè)溫度極限為31℃) ,信號燈變?yōu)榧t色,信息提示為產(chǎn)生報警,同時硬件部分的蜂鳴器會報警, 如圖4 所示為產(chǎn)生報警時上位機(jī)顯示部分。

          65.jpg

          6 結(jié)束語

          運(yùn)用能直接得到數(shù)字信號的溫度傳感器DS18B20采集溫度,將溫度值通過單片機(jī)I /O 口傳遞給單片機(jī)進(jìn)行處理, 傳輸和控制, 當(dāng)溫度值達(dá)到所設(shè)溫度極限時產(chǎn)生報警,通過串口數(shù)據(jù)線實(shí)現(xiàn)下位機(jī)(單片機(jī))與上位機(jī)(PC 機(jī))通信,并運(yùn)用VB MSComm 控件制作上位機(jī)軟件,達(dá)到實(shí)時顯示環(huán)境溫度和提示信息。系統(tǒng)設(shè)計連接簡單, 實(shí)現(xiàn)容易, 使用方便。

          蜂鳴器相關(guān)文章:蜂鳴器原理


          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();