历史上的今天
返回首页

历史上的今天

今天是:2025年03月21日(星期五)

正在发生

2018年03月21日 | 基于单片机AT89C52的温度实时监控系统设计

2018-03-21 来源:eefocus

    本文介绍了一种温度实时监控系统的设计。该系统通过单片机实现实时控制,并通过串口连接单片机与上位计算机,在计算机中实现实时监控、大容量的数据存储及数据分析等功能,解决了常规温度测量方法在温度测量实时性差、不能储存数据及缺乏数据分析功能等方面的缺陷。

    温度监控系统在农业、工业和生活中有着广泛的应用,但随着监控的面积扩大,监控点的增加及控制处理趋于智能化等新的应用要求出现,传统的温度控制系统已经逐渐不适用,首先是不便于观察而且不能及时地对异常温度变化做出迅速反应,其次是传统的温度控制系统不能储存大量数据,不能对监控的数据进行分析,不便于对温度情况进行长期的监测和科学的分析,为了解决以上问题,本文设计了一个能实时响应温度并进行控制的温度实时控制系统,并且采用与计算机串口通信结合的方式通过计算机增大了系统储存量,而且在计算机系统中收集和处理温度控制系统的数据,大幅度的增强了该系统的功能,并具备较强的扩展性。
    随着计算机技术特别是单片机技术的发展,串口通信在诸多领域上得到了广泛的应用,计算机可以通过串口来获取单片机的各种数据,然后利用计算机强大的功能进行处理,再根据处理的结果发送数据到单片机,实现远程控制设备。本设计采用上位机和下位机的互联工作,而计算机的分析处理能力较强,有很好的人机界面和大容量的多种存储方式,所以上位机一般采用计算机,单片机具有价格低,功能强,较好的抗干扰能力和面向控制等特点,所以下位机采用单片机来构成互联工作模式。由于串行通信具有高效可靠、价格便宜,遵循统一的标准等特点,适用于本设计的通信要求。

1 硬件设计
1.1 电路设计
    温度实时控制系统的下位机由7个部分组成(详见图1),其中测量环境温度使用DS18B20数字温度传感器,它将温度传感器、A/D传感器、寄存器、接口电路集成在一个芯片中,采用1-Wire总线协议,可实现直接数字化输出。DS18B20数字温度传感器温度测量范围为-55~+125℃,测温分辨率可达0.062 5℃,被测温度用符号扩展的16位数字量进行串行输出,适配各种单片机或系统机。使用这种传感器不需要A/D转换电路,可以大大简化电路,温度测量精度和速度都大幅提高。

b.JPG

    本设计利用MAX232进行电平转换,实现计算机和单片机的互联通信。MAX232是低功耗、单电源双RS 232发送/接收器,适用于各种EIA-232 E和V.28/V.24的通信接口。MAX232芯片内部有一个电源电压变换器,可以把输入的+5 V电源变换成RS 232C输出电平所需±10 V电压,所以采用此芯片接口的串行通信系统只要单一的+5 V电源就可以。在MAX232芯片上,选用其中一路发送/接收,R2OUT接89C52的RXD(P3.0),T2IN接89C52的TXD(P3.1),T2OUT接PC机的RD,R2IN接PC机的TD,这样就能通过P3.0和P3.1I/O口就实现单片机与计算机互联通信。本设计的信号灯部分一共使用6只LED灯,其中Start灯亮表示单片机上电工作,RX2(P3.0)灯亮表示接受从PC机传来的数据,TX2(P3.1)灯亮表示向PC机发送数据。m1,m2,m3三颗灯分别对应的接口为P2.5,P2.6,P2.7,当3个温度传感器探测的温度大于设定值则变亮。

    总体电路设计是以单片机为中心,整合和控制各部分。本设计的单片机是STC89C52,它通过XTAL1,XTAL2引脚外接晶振和电容实现11.0 59 2 MHz的时钟周期,这能产生准确的波特率,有利于串行通信。它的RESET引脚外接电路实现上电自动复位和按键电平复位,P1.4~P1.7引脚接有4个按键,实现时间和温度的设定。单片机通过P1.0,P1.1,P1.2引脚读出3个温度传感器的温度值,然后通过P0端口和P2.0,P2.1,P2.2控制液晶板,在液晶上显示时间和温度值。同时经过单片机内部程序,控制信号灯的亮灭,发送和接受计算机的数据。

    1.2 单片机程序设计

    基于上节所述的硬件设计,编写程序以实现期望的功能,其中主程序不断刷新LCD显示的内容,定时器T0中断程序用于时钟的功能,定时器T1作为波特率发生器,串口中断实现与PC机的通信。


    单片机刚启动,首先进行数据的初始化,初始化结束后,开始进入工作状态,若没有到结束时间,就进行温度测量并在液晶板上显示当前温度值,同时按键扫描程序不断监测是否有按键启动,若S1被按,则进入设定状态,定时器T0中断关闭,当前时间停止,液晶板上显示温度设定值和当前时间,可以通过S2,S3按键做修改(如图2)。

c.JPG



    在工作的过程中,当单片机接收一个数据会全部储存在BUF变量里面,同时产生一个串口中断,需要软件去清除中断标志。然后取出BUF的值,储存到对应的数组中。由于传送的数据简单,采用了无校验的8位数据直接传送模式(如图3所示)。

2上位机的程序设计
    在串口的几种编程方式中,利用MICroSOFt公司提供了MSComm控件,可以使开发串口通信程序变得十分简单。VisualBasic是近年来发展最快的一种计算机语言,其简洁和实用性已经受到了众多计算机用户和程序员的欢迎,尤其是6.0版本,功能强大且易于掌握,是一种优秀的可视化开发环境,在VB应用程序中调用MSComm控件也十分容易。采用VB标准控件MSComm来实现通信功能,实际上是调用了API函数,而API函数是由Commdry解释并传给设备驱动程序执行的,对于VB程序开发者只需知道MSComm控件的属性和事件的用法即可以实现串口的操作。本温度实时控制系统的上位机操作界面正是基于VB的MSComm控件为核心,完成接收和保存数据,以及修改单片机上的参数。


    系统操作界面启动后,在串口端口和波特率选择2个参数设置正确后,打开串口,这时计算机会接收从单片机发送过来的数据,这些数据是一连串的字符,所以对接收过来的数据的处理,关键是字符串的处理。通过设定参数的位数,准确分离开出每一个参数的值,然后存入对应的数组中,并实时地显示在屏幕上,还可以按需把数据保存到记事本。同时在操作界面上修改的数据也能通过串口传送到单片机,远程控制单片机。在发送的数据也要严格按照一定的格式进行发送,这样单片机才能正确接收,操作界面程序流程如图4所示。
    本设计定义的接收和发送数据格式如表1所示。

 

a.JPG

    3 系统实际运行
    打开设计好的上位机软件后,首先选择正确的串口,实现与单片机通信,然后通过图5所示的操作界面可以实时观测到这个温度实时控制系统所测量的温度值和对应的时间点,如有需要可以设置时间的起始点和结束点,通过软件绘画出温度值的变化曲线,也可以通过实时曲线观查温度的变化情况,这个设置方便于长时间地观察温度的变化,还可以将数据全部保存到软件里,在需要的时候进行必要的数据分析;而在操作界面上可以很方便对温度实时控制系统中的监控时间段和温度限制值作修改,当测量的温度值超过温度限制值,设置好的报警灯会闪烁,提醒我们注意。

4 结语
    本文设计了基于单片机AT89C52的温度实时监控系统并通过串口通信实现了单片机与计算机互联,实现了多点温度实时远程控制,计算机的实时数据分析,长期数据的图表式保存,该系统已经在硬件平台和软件平台上成功运行。整个设计具有成本低,测量范围广,实时操作方便快捷,显示和储存的信息量大,可扩展功能强等优点,可以应用在仓库、温室大棚、机房等进行温度实时控制。另外设计方案可以扩展为网络连接,可以突破串口传送的距离限制,广泛用于温度在DS18B20测温范围之内的场合,实现随时随地通过网络进行实时控制,将具有更大的应用价值。


推荐阅读

史海拾趣

国兴(GOODSKY)公司的发展小趣事

对于带有1HZ低通滤波器的电桥放大器电路,网友可能的问题及回答如下:

问题一:1HZ低通滤波器在电桥放大器电路中的作用是什么?

回答:1HZ低通滤波器在电桥放大器电路中的主要作用是滤除高于1Hz频率的信号,只允许低于或等于1Hz的信号通过。这对于需要从复杂信号中提取低频分量或去除高频噪声的场合尤为重要。在电桥放大器中,由于传感器输出信号可能包含多种频率成分,通过1HZ低通滤波器可以有效减少高频噪声的干扰,提高测量信号的信噪比和精度。

问题二:如何设计带有1HZ低通滤波器的电桥放大器电路?

回答:设计带有1HZ低通滤波器的电桥放大器电路时,需要综合考虑电桥电路的设计、放大器的选择以及滤波器的设计。以下是大致的设计步骤:

  1. 电桥电路设计:首先,根据被测物理量的特性选择合适的电阻传感器,并设计相应的电桥电路。电桥电路应能准确地将非电量转换为电压或电流信号,并具有一定的抗干扰能力。

  2. 放大器选择:选择合适的运算放大器(运放)作为放大元件。运放应具有低噪声、高精度和适当的增益带宽积,以满足信号放大的需求。

  3. 滤波器设计:设计1HZ低通滤波器时,可以选择一阶或更高阶的有源滤波器。一阶有源低通滤波器由电阻、电容和运放组成,具有简单的电路结构和较好的滤波效果。设计时,需要根据所需的截止频率(本例为1HZ)选择合适的电阻和电容值。

  4. 电路整合与调试:将电桥电路、放大器和滤波器整合在一起,形成完整的电桥放大器电路。然后,对电路进行调试,确保电路工作正常,并满足预期的滤波和放大效果。

问题三:带有1HZ低通滤波器的电桥放大器电路在实际应用中有哪些注意事项?

回答:在实际应用中,带有1HZ低通滤波器的电桥放大器电路需要注意以下几点:

  1. 元件选择:应选择精度高、稳定性好的元件,如精密电阻、低噪声运放等,以确保电路的测量精度和稳定性。

  2. 布局与布线:合理的电路布局和布线可以减少电磁干扰和噪声耦合,提高电路的抗干扰能力。

  3. 温度补偿:由于温度变化可能影响电阻的阻值,进而影响电桥的输出电压,因此需要考虑温度补偿措施,以提高电路的温度稳定性。

  4. 校准与标定:定期对电路进行校准和标定,以确保测量结果的准确性和可靠性。

  5. 安全保护:在电路设计中应加入必要的保护措施,如过流保护、过压保护等,以防止电路在异常情况下损坏。

EZchip Technologies Ltd公司的发展小趣事

随着技术的不断成熟和市场的认可,EZchip开始寻求更广阔的市场空间。公司通过与全球知名通信设备制造商建立合作关系,将其产品应用于各类网络设备和解决方案中。同时,EZchip还积极参与国际标准制定和行业交流活动,不断提升品牌影响力。通过市场拓展和合作,EZchip的产品逐渐覆盖了全球多个国家和地区,成为了网络通信行业的重要参与者。

Exclara Inc公司的发展小趣事

在电子行业这个竞争激烈的领域里,技术的更新换代速度非常快。为了保持领先地位,Exclara高度重视研发投入,不断引进高端人才和先进设备,加强研发团队建设。通过持续的研发投入,公司不仅保持了技术的领先地位,还成功开发出了一系列具有自主知识产权的核心技术。

国产公司的发展小趣事
不同类型的功放(如A类、B类、AB类、D类等)具有不同的效率和输出功率特性。根据实际需求选择合适的功放类型。
Dantona Industries公司的发展小趣事

Dantona Industries公司的创始人,Daniel Tona,在电子工程领域拥有深厚的背景。他看到了电子行业的巨大潜力,决定创立自己的公司。起初,他只有一间小办公室和几个志同道合的伙伴。为了节省成本,他们经常需要亲自采购材料、组装产品,甚至进行市场推广。在这个过程中,他们遇到了资金短缺、技术难题以及市场竞争等多重挑战。然而,凭借对技术的执着和对市场的敏锐洞察力,Daniel Tona带领团队一步步克服困难,逐渐在电子行业站稳了脚跟。

DOMINANT公司的发展小趣事

随着公司业务的不断发展,统明亮开始积极拓展全球市场。它通过与国内外知名企业的合作,不断提升自身的品牌影响力和市场竞争力。同时,统明亮还积极参加各类国际展会和交流活动,与全球各地的客户建立了紧密的合作关系。这些努力使得统明亮在全球LED市场中的份额不断扩大,其品牌影响力也得到了进一步提升。

请注意,由于篇幅限制,以上仅为三个简要故事。如果需要更多关于DOMINANT公司的发展故事,建议查阅相关报道和资料。

问答坊 | AI 解惑

什么软件对电路及pcb仿真最好呢?

准备学一学pcb高速板的布线和仿真,但是遇到很多问题,各位也许能帮上忙的哈; 现在什么仿真软件对原理图和pcb板的仿真最好呢?因为我一直用的portell99se,它的仿真功能太有限了,有没与一个软件能够将protell做的pcb文件仿真的呢?…

查看全部问答>

请教arm学习

本人刚学习ARM,大家介绍一些经验吧,谢谢! 比如,开发环境是用IAR还是ADS好呢,个人感觉ADS太繁杂。 我是从ARM7TDMI看起的,汇编指令重要吗?自己创建软硬件系统的话,那些繁琐的操作都要自己做吗?…

查看全部问答>

程序返回值问题,欢迎大虾米来指导

最近我常用的一个函数出了点异样,大虾米现身了!!!HOHO 函数如下: unsigned int SysTim; unsigned int PreTim1; unsigned int PreTim2; unsigned int LenTim(unsigned int preTim, unsigned int sysTim) { if (preTim > sysTim) { return (0 ...…

查看全部问答>

四步骤让你搞定模拟电路学习

众所周知,模拟电路难学,以最普遍的晶体管来说,我们分析它的时候必须首先分析直流偏置,其次在分析交流输出电压。可以说,确定工作点就是一项相当麻烦的工作(实际中来说),晶体管的参数多、参数的离散性也较大。但值得我们注意的是,模拟电路构 ...…

查看全部问答>

帮我看下,左边是信号源,右边是AD

来自EEWORLD合作群:arm linux fpga 嵌入0(49900581)群主:wangkj…

查看全部问答>

VC#智能设备应用程序如何能使用vc2005开发的智能设备ocx? 高手指点

VC#智能设备应用程序如何能使用vc2005开发的智能设备ocx? 高手指点…

查看全部问答>

snmp开发中的问题

在交换机上移植了ucd-snmp,现在在pc上可以通过mib-browser查看到大部分信息,但是遇到以下两个问题: 1.pc上的trap reciever接收不到交换机的trap,trap如何出发? 2.rmon已经加入代码编译,但是通过mib-browser查看rmon节点为“unsupported OID ...…

查看全部问答>

TCPMP 界面方案

TCPMP 界面怎么样 修改才变得漂亮呀?各位大侠帮忙指点,或者有该方案的 可以私聊 QQ:251078251 或MSN:kingdy-huang@hotmail.com…

查看全部问答>

紧急!!!!!!!!!!

有谁了解深圳\"研祥智能科技\"公司吗?那边的待遇怎么样,我是08年的应届毕业生,我很想知道,本科生在那边的待遇和发展怎么样呢? 望各位知情的大虾帮帮忙啊 ~谢过~…

查看全部问答>

fatal error C1083: Cannot open include file: 'zlib.h': No such file or directory

fatal error C1083: Cannot open include file: \'zlib.h\': No such file or directory 为什么会出这种错误,…

查看全部问答>