久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > 單片機和PC機在實時溫度控制系統設計

單片機和PC機在實時溫度控制系統設計

作者: 時間:2011-12-29 來源:網絡 收藏

了一種利用 機來實現的,包括硬件和軟件。系統采用STC89C52 作為主芯片,DS18B20 數字傳感器作為采集器件,運用蜂鳴器作為報警器,VB6.0 制作上位機軟件,通過串口實現 機的通信。系統能監控環境溫度,并具有報警功能,具有一定的實用性。

本文引用地址:http://cqxgywz.com/article/172258.htm

1 引言

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

2 系統基本原理

系統結構框圖如圖1 所示, 數字溫度傳感器DS18B20 將待測介質溫度值傳遞給單片機,單片機對溫度值進行處理,當溫度超出所設范圍(本系統所設溫度極限為31℃)則通過報警電路實現報警。通過RS232 串口實現 機與單片機的通信,單片機將采集到的溫度值傳遞給PC 機。

66.jpg

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

3 硬件設計

3.1 單片機控制設計

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

67.jpg

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

報警電路采用蜂鳴器作為報警器件, 如圖2 所示,只需很少的器件,就能實現單片機與蜂鳴器的連接。當與蜂鳴器所連單片機的I /O 口輸出低電平時,蜂鳴器則能發出聲音,系統設計中,當溫度超過31℃時,蜂鳴器則發出聲音, 實現報警功能。

3.2 單片機與PC機接口設計

單片機要和PC 機實現串口通信,需要進行電平轉換, 因為單片機使用的是TTL 電平, 而PC 機串口使用的是RS232 電平。運用MAXIM 公司生產的MAX232芯片實現TTL 電平和RS232 電平轉換,如圖3 所示,通過其第11 腳和第12 腳分別與單片機的第11 腳和第10腳連接, 通過第13 腳, 第14 腳分別與PC 機串口的第2腳,第3 腳進行連接,就能實現單片機和PC 機的電平轉換、連接、和通信。單片機與PC 機接口電路原理圖如圖3 所示。

68.jpg

4 軟件設計

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

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

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

  MSComm1.Sett ings = 9600,n,8,1 '. 設置通訊參數

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

  MSComm1.RThre shold = 0 ' 初始化為不產生OnComm 事件

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

  MSComm1.InputLen = 4 ' 設置并返回Input 屬性從接收緩沖區讀取的字符數為4

  MSComm1.InputMode = comInputModeText ' 設置接收方式為文本方式

  Me.Caption = 實時溫度 ' 設置標題為 實時溫度控制系統

  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 事件觸發

  End Sub

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

  Time r1.Ena bl ed = Fal se ' . . . . . . . . 關閉定時器

  MSComm1.RThre shol d = 0 ' . . . . . . . .停止產生OnComm 事件

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

  ' . . . . . . . . 設置信號指示燈的顏色為白色

  Te xt 1. Te x t = ' . . . . . . . .清空文本框1 的內容

  Te xt 2. Te x t = ' . . . . . . . .清空文本框2 的內容

  Te xt 3. Te x t = ' . . . . . . . .清空文本框3 的內容

  End Sub

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

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

  End Sub

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

  Dim rec As St ring

  Select Case MSComm1.CommEvent

  Case comEvReceive

  rec = MSComm1. Input

  Text3.Te xt = r ec

  MyResul t = (Text3.Text 31)

  ' . . . . . . . . 判斷當前溫度是否達到3 1 ℃

  I f MyResul t = False Then ' . . . .達到31℃

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

  Te x t 1 . Te x t = 產生報警' . . . . . . . . 同時信息提示顯示 產生報警

  El se ' . . . . . . . . 未達到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 ' 清空接收緩沖區

  End Select

  End Sub

  Private Sub Timer1_Timer()

  Te x t 2 . Te x t = Now ' . . . . . . . . 設置定時器產生時鐘, 顯示當前時間

  End Sub

5 系統調試

系統實現功能包括,通過下位機(單片機)將DS18B20所測溫度值實時傳輸給上位機(PC 機),通過上位機(PC 機)監控環境溫度,并具有報警功能。

1.在上位機軟件中點擊自動讀取按鈕實現自動讀取當前時間, 溫度值。當正常溫度情況下, 信號指示燈為綠色, 同時信息提示為溫度正常。

2.當溫度達到所設溫度極限時(本系統所設溫度極限為31℃) ,信號燈變為紅色,信息提示為產生報警,同時硬件部分的蜂鳴器會報警, 如圖4 所示為產生報警時上位機顯示部分。

65.jpg

6 結束語

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

蜂鳴器相關文章:蜂鳴器原理


評論


相關推薦

技術專區

關閉