新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于单片机与PC机的温度监测系统设计

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

作者:时间:2013-01-15来源:网络收藏

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

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

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

本文引用地址:http://www.eepw.com.cn/article/170618.htm

d.JPG


单片机最小系统包括单片机工作所必需的复位电路、时钟电路和电源电路。温度传感器采用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)判断当前温度,如果超限启动蜂鸣器报警,设定不同频率的方波驱动蜂鸣器发出不同声音,用来区分超上限还是超下限。

a.JPG


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

蜂鸣器相关文章:蜂鸣器原理

上一页 1 2 下一页

评论


相关推荐

技术专区

关闭