0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

采用STC89C52单片机进行实时温度控制系统的软硬件的设计

电子设计 作者:电子设计 2018-11-27 09:57 次阅读

引言

温度是日常生活中非常重要的物理量, 其测量包括接触式和非接触式两种,前者需要感温元件与被测物体接触, 会产生滞后现象, 后者则是通过接收被测介质发出的辐射来实现的。实时温度控制系统运用数字温度传感器DS18B20 采集温度,单片机作为主控芯片来对温度值进行处理, 控制和传输, 通过蜂鸣器实现报警功能,运用VB 编程制作上位机管理软件。整个系统设计结构简单,连接方便,易于管理,可以应用于人不宜或者不易接触的地方, 达到自动读取环境温度, 并具有报警功能,节省人力和物力。

2 系统基本原理

系统结构框图如图1 所示, 数字温度传感器DS18B20 将待测介质温度值传递给单片机,单片机对温度值进行处理,当温度超出所设范围(本系统所设温度极限为31℃)则通过报警电路实现报警。通过RS232 串口实现PC 机与单片机的通信,单片机将采集到的温度值传递给PC 机。

采用STC89C52单片机进行实时温度控制系统的软硬件的设计

图1 系统结构框图

通过使用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 单片机性价比高,功能多,抗干扰能力很强, 串口编程很方便, 保密性很强。

采用STC89C52单片机进行实时温度控制系统的软硬件的设计

图2 单片机控制电路idan;lai 电路

采用数字温度传感器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 所示。

采用STC89C52单片机进行实时温度控制系统的软硬件的设计

图3 单片机与PC 机串口通信接口电路

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 所示为产生报警时上位机显示部分。

采用STC89C52单片机进行实时温度控制系统的软硬件的设计

图4 产生报警时上位机显示部分

6 结束语

运用能直接得到数字信号的温度传感器DS18B20采集温度,将温度值通过单片机I /O 口传递给单片机进行处理, 传输和控制, 当温度值达到所设温度极限时产生报警,通过串口数据线实现下位机(单片机)与上位机(PC 机)通信,并运用VB MSComm 控件制作上位机软件,达到实时显示环境温度和提示信息。系统设计连接简单, 实现容易, 使用方便。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6032

    文章

    44516

    浏览量

    633036
  • 温度传感器
    +关注

    关注

    48

    文章

    2913

    浏览量

    155889
  • 控制系统
    +关注

    关注

    41

    文章

    6546

    浏览量

    110485
收藏 人收藏

    评论

    相关推荐

    基于单片机STC89C52的摇摇棒

    基于单片机STC89C52的摇摇棒设计,有电路图和源程序
    发表于 11-23 14:38 28次下载

    基于STC89C52单片机的交通灯控制系统设计

    基于STC89C52单片机的交通灯控制系统设计 论文类
    发表于 12-14 15:44 167次下载

    基于STC89C52单片机控制温度控制系统课程设计

    基于STC89C52单片机控制温度控制系统
    发表于 01-06 17:00 152次下载

    单片机STC89C52程序

    单片机STC89C52源程序。
    发表于 01-11 18:16 112次下载

    基于STC89C52单片机的智能交通灯控系统设计

    基于STC89C52单片机的智能交通灯控系统设计
    发表于 02-22 11:37 106次下载

    基于STC89C52单片机的智能窗帘控制系统

    基于STC89C52单片机的智能窗帘控制,但没有程序图和连线图。
    发表于 04-28 18:02 31次下载

    STC89C52单片机介绍

    STC89C52单片机介绍。
    发表于 05-20 13:55 257次下载

    基于单片机STC89c52 GSM的智能家居报警系统设计

    基于单片机STC89c52 GSM的智能家居报警系统设计,分享给大家。
    发表于 05-05 08:40 81次下载

    基于STC89C52单片机控制系统设计

    本文主要介绍了基于STC89C52单片机控制系统设计。
    发表于 06-24 08:00 112次下载
    基于<b class='flag-5'>STC89C52</b><b class='flag-5'>单片机</b>的<b class='flag-5'>控制系统</b>设计

    使用STC89C52单片机设计无线温度控制系统的资料免费下载

    本文档的主要内容详细介绍的是使用STC89C52单片机设计无线温度控制系统的资料和提高变电运行供电可靠性相关问题的思考免费下载。
    发表于 01-17 11:18 19次下载
    使用<b class='flag-5'>STC89C52</b><b class='flag-5'>单片机</b>设计无线<b class='flag-5'>温度</b><b class='flag-5'>控制系统</b>的资料免费下载

    基于单片机STC89C52控制的智能小车简介

    基于单片机STC89C52控制的智能小车简介(单片机原理图)-该文档为基于单片机STC89C52
    发表于 07-22 14:21 68次下载
    基于<b class='flag-5'>单片机</b><b class='flag-5'>STC89C52</b><b class='flag-5'>控制</b>的智能小车简介

    基于STC89C52单片机的自动窗帘控制系统设计

    自动窗帘控制系统核心采用的是单片机STC89C52,其次利用了光照传感器、按键、显示屏以及信号调理电路等外围电路,使整个系统在各模块的配合下
    的头像 发表于 03-31 14:34 4464次阅读
    基于<b class='flag-5'>STC89C52</b><b class='flag-5'>单片机</b>的自动窗帘<b class='flag-5'>控制系统</b>设计

    基于STC89C52单片机的智能水温控制系统设计

    本设计为基于STC89C52单片机的智能水温控制系统控制对象以500mL陶瓷水箱为容器,并使用PID控制算法来调整水箱中500ml纯净水的
    的头像 发表于 03-31 14:45 3909次阅读
    基于<b class='flag-5'>STC89C52</b><b class='flag-5'>单片机</b>的智能水温<b class='flag-5'>控制系统</b>设计

    基于STC89C52单片机的温控风扇系统设计

    本设计为一种温控风扇系统,具有灵敏的温度感测和显示功能,系统选用STC89C52单片机作为控制
    发表于 07-25 17:37 1621次阅读
    基于<b class='flag-5'>STC89C52</b><b class='flag-5'>单片机</b>的温控风扇<b class='flag-5'>系统</b>设计

    STC89C52单片机最小系统板-基础版技术手册

    STC89C52单片机最小系统板-基础版技术手册
    发表于 09-18 10:56 12次下载