基于AT89S52单片机的红外遥控温度报警器的设计与实现
摘要:温度报警器系统以AT89S52单片机为主控制器,对温度报警和时间的显示、调整进行控制。采用高精度DS18B20为温度传感器,实现对环境温度的实时检测与采集,通过12864液晶显示温度和时间,当实时温度高于温度报警上限或低于下限时可利用蜂鸣器进行报警。通过红外遥控可以修改温度报警上限和下限、时间参数以及设置闹钟。本设计的创新点是增加了用VC6.0开发的上位机,在计算机上显示出时钟、温度计和视频界面,构成友好的人机界面。因此,本系统具有很高的实用价值。
关键词:AT89S52;红外遥控;温度报警;上位机
温度,无论是在日常生活还是工业生产中都是人们十分关注的一个参数,而温度控制是工业自动控制的重要组成部分,在工业、电子、化工精度实验等诸多领域都有重要的应用。同时随着科学技术的发展,家用电器普遍进入到人们的家庭生活之中,因此引起的火灾现象也越来越多,造成的生命危险和财产损失也就越大。在这些情况下,一款好的温度报警器将起到十分重要的作用,给人们的生产和生活中带来很大的方便与安全,减少了不必要的损失。
文中以单片机为控制核心,利用红外遥控器、数字式温度传感器及其他控制电路组成红外遥控温度报警器,具有低成本,高稳定性,及时报警,远程遥控,功能扩展,显示时间和闹钟等功能特点,该产品能广泛的应用于中小型电锅炉、电采暖炉、电茶炉、壁挂炉、空调、仓库、机房、办公室等,有着很好的实际用途和发展前景。
1 系统硬件设计
本系统硬件部分包含上、下位机系统,以实现上下位机的通信。下位机系统主要由控制器模块、红外遥控模块、显示模块、温度采集报警模块、电源模块、时钟模块以及串口模块等部分组成。通过单片机作为主控制器,对温度报警和时间的显示调整以及闹钟进行整体控制。
1.1 系统结构图
本设计的上位机和下位机通信图结构图如图1所示。下位机系统结构图如图2所示。
1.2 系统硬件实现
本文以AT89S52单片机为CPU进行系统搭建,AT89C52是一个低电压高性能CMOS8位单片机。此外,三端稳压器7805将电压稳定在5V左右。
该系统使用红外接收模块1838来进行红外信号接收,使用通用遥控器对其进行远程控制。1838有3个引脚,包括供电脚,接地和信号输出脚。1838的信号输出管脚接AT89S52的F3.2管脚(外中断0)。当1838接收到红外遥控信号时,产生申断,处理遥控数据,处理完后返回到主程序。
采用高精度温度传感器DS18B20,实现对环境温度的实时检测与采集。DALLAS公司的DS18B20是这样一种独特的温度传感器,它只需一个接口引脚即可通信,可用数据线供电,并具备多点测温能力。DS18B20可直接与单片机通信,读取测温数据,电路简单。其测温范围-55~+125℃,在-10~+85℃时精度为±0.5℃,可编程的分辨率为9~12位。DS18B20具有测沮系统简单、测温精度高、连接方便、占用口线少等优点,因此在P2.2悬挂该温度传感器。
本系统采用蜂鸣器以及三极管作为温度报警电路,蜂鸣器的正极性的一端连接到+5 V电源上面,另一端接到三极管的发射极,三极管的基极由单片机的P3.5管脚通过一个保护电阻R7来控制。当采集温度超过设置温度上限值或低于下限值,或者闹钟时间到时,通过软件控制使P3.5=0,即低电平时,从而使三极管8550导通,蜂鸣器的电流形成回路,发出声音报警或闹钟响。当P3.5=1,即高电平时,三极管8550截止,蜂鸣器不工作。
采用12864液晶显示器显示温度和万年历,12864是一种液晶显示模块,其显示分辨率为128x64,内置8192个16*16点汉字,和128个16*8点ASCII字符集。液晶模块多采用并行连接,常以I/O口方式进行读写访问,接口由8根数据线和3~4根片选/控制线构成。其有两个控制芯片,分别控制左右半屏。使用P0口直接驱动12864,由P1.0、P1.1、P1.2这3个引脚做控制端。
时钟模块采用DS1302时钟芯片实现,DS1302是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,DS1302与单片机之间能简单地采用同步串行的方式进行通信,仅需用到3个接口线:BST(复位)、I/O(数据线)、SCLK(串行时钟)。
用软件VC6.0开发上位机系统,在计算机上显示出时钟、温度计和视频界面,构成友好的人机界面,并且可以与下位机系统保持实时通信。
上位机工作界面包括操作提示框、串口、清楚、主页、打开/关闭串口、时间、日期、温度、用户码、红外编码、音乐视频等部分组成。主页窗口打开是一个单片机学习、教程、开发电子主页,有8个串口,清除窗口可以清除操作提示框的记录,选歌窗口可以选择你想播放的歌曲,视频界面窗口可以看见音乐效果和歌曲相关信息。确定键(即电源键,用户码/红外编码:38C7/1CE3)、菜单键(用户码/红外编码:38C7/11EE)、加键(用户码/红外编码:38C7/16E9)、减键(用户码/红外编码:38C7/17E8)、上移键(用户码/红外编码:38C7/OCF3)、下移键(用户码/红外编码:38C7/ODF2)、▲键(即报警闹钟关闭键,用户码/红外编码:38C7/1FE0)、键(即报警闹钟开启键,用户码/红外编码:38C7/1EE1)。
上位机与下位机采用MAX232芯片的第二数据通道进行串行通信。单片机的P3.0(RXD),P3.1(TXD)通过电平转换芯片MAX232连接到9针D型插座DB9上,通过DB9和电缆可以与单片机、PC机进行串行通信。因为上位机与下位机是实时通信的,所以通过上位机工作界面可以很清晰,很人性化的看见下位机即时采集的温度值和显示的时间、日期。
2 系统软件设计
2.1 软件功能概述
根据硬件设计,软件需要完成以下几个功能:
1)温度读取功能:软件可以正确的控制DS18B20进行温度的正常读取。
2)LCD12864显示功能:包括时间显示,温度显示,闹钟显示。
3)红外遥控功能:使用遥控器控制,修改系统时间、温度报警上下限值,设置闹钟。
4)报警功能:要求蜂鸣器正常报警。
5)实现上位机与下位机实时通信,实现在计算机上显示出时钟、温度的视频界面。
2.2 系统主程序流程
主程序主要作用是调用子程序来完成整个系统的正常工作,软件分成7个不同的模块来进行编译。分别为:DS1302时钟模块,LCD12864液晶显示模块,DS18B20温度检测模块,温度报警、闹钟模块,红外遥控模块,下位机与上位机通信模块以及main主程序模块。这样不仅方便程序调和调试,而且有助于程序的分块开发和集成。系统主程序流程图如图3所示。
- 一种基于DDS技术的信号发生器研究与实现(03-30)
- 基于AT89S52嵌入式系统智能机器人设计方案(11-28)
- 基于AT89S52单片机的温度监测系统的设计(01-10)
- 一种AT89S52的USB下载线设计(03-03)
- 基于AT89S52单片机技术详解、设计技巧、应用案例大全(03-22)
- 基于AT89S52单片机的超声波测距系统电路设计(07-24)