基于AT89S52单片机的红外遥控温度报警器的设计与(2)
时间:2026-01-17
时间:2026-01-17
《电子设计工程》2012年第21期
钟、温度计和视频界面,构成友好的人机界面,并且可以与下位机系统保持实时通信。
上位机工作界面包括操作提示框、串口、清楚、主页、打开/关闭串口、时间、日期、温度、用户码、红外编码、音乐视频等部分组成。主页窗口打开是一个单片机学习、教程、开发电
图
2
下位机系统结构图
子主页,有8个串口,清除窗口可以清除操作提示框的记录,选歌窗口可以选择你想播放的歌曲,视频界面窗口可以看见音乐效果和歌曲相关信息。确定键(即电源键,用户码/红外编码:38C7/1CE3)、菜单键(用户码/红外编码:38C7/11EE)、加键(用户码/红外编码:38C7/16E9)、减键(用户码/红外编码:
Fig.2Structurediagramofthehypogynousnachinesystem
1.2系统硬件实现
本文以AT89S52单片机为CPU进行系统搭建,AT89C52
是一个低电压、高性能CMOS8位单片机[1]。此外,三端稳压器
7805将电压稳定在5V左右。
该系统使用红外接收模块1838来进行红外信号接收,使用通用遥控器对其进行远程控制。1838有3个引脚,包括供电脚,接地和信号输出脚。1838的信号输出管脚接AT89S52的P3.2管脚(外中断0)。当1838接收到红外遥控信号时,产生中断,处理遥控数据,处理完后返回到主程序。
采用高精度温度传感器DS18B20,实现对环境温度的实时检测与采集。DALLAS公司的DS18B20是这样一种独特的温度传感器,它只需一个接口引脚即可通信,可用数据线供电,并具备多点测温能力[2]。DS18B20可直接与单片机通信,读取测温数据,电路简单。其测温范围-55~
38C7/17E8)、上移键(用户码/红外编码:38C7/0CF3)、下移键
(用户码/红外编码:38C7/0DF2)、▲键(即报警闹钟关闭键,用户码/红外编码:38C7/1FE0)、▼键(即报警闹钟开启键,用户码/红外编码:38C7/1EE1)。
上位机与下位机采用MAX232芯片的第二数据通道进行串行通信。单片机的P3.0(RXD),P3.1(TXD)通过电平转换芯片MAX232连接到9针D型插座DB9上,通过DB9和电缆可以与单片机、PC机进行串行通信。因为上位机与下位机是实时通信的,所以通过上位机工作界面可以很清晰,很人性化的看见下位机即时采集的温度值和显示的时间、日期。
2
2.1
系统软件设计
软件功能概述
根据硬件设计,软件需要完成以下几个功能:
+125℃,在-10~+85℃时精度为±0.5℃,可编程的分辨率
为9~12位。DS18B20具有测温系统简单、测温精度高、连接方便、占用口线少等优点[3],因此在P2.2悬挂该温度传感器。
本系统采用蜂鸣器以及三极管作为温度报警电路,蜂鸣器的正极性的一端连接到+5V电源上面,另一端接到三极管的发射极,三极管的基极由单片机的P3.5管脚通过一个保护电阻R7来控制。当采集温度超过设置温度上限值或低于下限值,或者闹钟时间到时,通过软件控制使P3.5=0,即低电平时,从而使三极管8550导通,蜂鸣器的电流形成回路,发出声音报警或闹钟响。当P3.5=1,即高电平时,三极管8550截止,蜂鸣器不工作。
采用12864液晶显示器显示温度和万年历,12864是一种液晶显示模块,其显示分辨率为128×64,内置8192个
1)温度读取功能:软件可以正确的控制DS18B20进行温
度的正常读取。
2)LCD12864显示功能:包括时间显示,温度显示,闹钟
显示。
3)红外遥控功能:使用遥控器控制,修改系统时间、温度
报警上下限值,设置闹钟。
4)报警功能:要求蜂鸣器正常报警。
5)实现上位机与下位机实时通信,实现在计算机上显示
出时钟、温度的视频界面。
2.2系统主程序流程
主程序主要作用是调用子程序来完成整个系统的正常
工作,软件分成7个不同的模块来进行编译。分别为:DS1302时钟模块,LCD12864液晶显示模块,DS18B20温度检测模块,温度报警、闹钟模块,红外遥控模块,下位机与上位机通信模块以及main主程序模块。这样不仅方便程序调和调试,而且有助于程序的分块开发和集成。系统主程序流程图如图
16*16点汉字,和128个16*8点ASCII字符集[4]。液晶模块多
采用并行连接,常以I/O口方式进行读写访问,接口由8根数据线和3~4根片选/控制线构成。其有两个控制芯片,分别控制左右半屏[5]。使用P0口直接驱动12864,由P1.0、P1.1、P1.2这3个引脚做控制端。
时钟模块采用DS1302时钟芯片实现,DS1302是美国
3所示。
DALLAS公司推出的一种高性能、低功耗、带RAM的实时时
钟电路[6],DS1302与单片机之间能简单地采用同步串行的方式进行通信,仅需用到3个接口线:RST(复位)、I/O(数据线)、SCLK(串行时钟)。
用软件VC6.0开发上位机系统,在计算机上显示出时
3系统调试结果
经过调试,文中设计的红外遥控温度报警器系统可以正
常运行。由于篇幅有限,下面将给出系统正常运行时的两个显示结果。系统主菜单界面如图4所示,用VC6.0开发的上位机界面显示结果如图5所示。
…… 此处隐藏:173字,全部文档内容请下载后查看。喜欢就下载吧 ……