×
嵌入式开发 > 详情

基于单片机与PC机的温度监测系统设计

发布时间:2020-07-10 发布时间:
|

摘要:设计了基于单片机PC机温度监测系统,温度传感器采用DS18B20。下位机采用AT89S52单片机,可以显示温度和超限报警。PC机作为上住机设定上下限报警温度,接收单片机的温度数据,处理后实时显示温度和绘制温度曲线,还实现了超限报警和保存数据功能。上位机利用Matlab强大的数值计算、图形显示和串口操作功能,具有友好人机交互界面,实现了温度动态监测。
关键词:单片机;PC机温度监测Matlab串口

温度是一个重要的物理量,在工农业生产和日常生活中,经常需要对环境温度进行监测。本文设计了一个温度监测系统,温度传感器采用DS18B20,下位机采用AT89S52单片机,实现温度测量、显示、超限报警等功能,上位机采用PC机,利用Matlab设计了友好人机交互界面,实现温度的采集、显示、绘图、报警、保存数据等功能。

1 系统总体设计
系统采用AT89S52单片机作为下位机,PC机作为上位机,二者通过串口发送或接收数据,实现环境温度的测量、显示、超限报警、测温数据保存等功能。系统总体设计框图如图1所示。


单片机最小系统包括单片机工作所必需的复位电路、时钟电路和电源电路。温度传感器采用DS18B20芯片,测量温度范围为-55~+125 ℃,该芯片不需要外接电源,可编程的分辨率为9~12位,测温分辨率最高可达0.062 5℃,数据传送只需要一条通信线,接单片机的P2.0口。温度显示部分使用4个八段LED共阳极数码管,采用动态驱动方式,数码管的a,b,c,d,e,f,g,DP八段由单片机P0.0—P0.7口控制,单片机的P1.0—P1.3口控制4个数码管轮流动态显示。超限温度报警采用蜂鸣器,由单片机的P2.1口控制发声。
PC机的串行口采用的是标准的RS 232接口,而单片机的串行口电平是TTL电平,与RS 232的电气特性不匹配,所以系统采用常用芯片MAX 232来完成电平的转换,使单片机的串行口能与RS 232接口通信。上位机动态温度监测系统利用Matlab软件设计友好人机交互界面,实现温度数据的设置、采集、计算、显示与保存等功能。

2 下位机程序设计
单片机作为下位机,其主要任务是:
1)通过DS18B20实现温度数据的采集和处理,并在LED数码管上实时显示当前温度,保留小数点后1位;
2)通过串口接收上位机设定的上下限报警温度,并在LED数码臂上显示;
3)通过串口接收要求发送温度数据的命令,向上位机发送温度数据;
4)判断当前温度,如果超限启动蜂鸣器报警,设定不同频率的方波驱动蜂鸣器发出不同声音,用来区分超上限还是超下限。


单片机采用Keil C51编写程序,DS18B20分辨率设为12位,其主程序流程图如图2所示。主程序主要完成系统的初始化,主要包括DS18B20和串口的初始化;4个LED数码管显示“0000”,等待上位机发送上限温度数据;接收数据后显示,等待上位机发送下限温度数据;接收数据,显示下限温度并延迟约2秒后开始测湿。读DS18B20温度值,将读取的低8位字节和高8位字节组成16位无符号整型温度数据(其中低4位为沮度的小数部分,中间8位为温度的整数部分),处理沮度数据并在数码臂上显示温度值;判断温度,超限报警;接收到上位机发送的命令字“255”就向上位机发送由DS18B20读出的16位温度数据,先发送低8位字节,后发送高8位字节;返回读DS18B20温度值。
 


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
Diodes 推出单闸逻辑设备.助力ADAS 等车用产品应用