单片机的红外遥控报警器

第一章 系统设计

1.1题目要求

设计并制作一个红外遥控温度报警器,用12864显示,红外遥控修改温度报警上限和下限等,并可以自由发挥扩展功能,比如增加万年历,增加闹钟等。

1.2 系统组成

1、本系统主要由控制器模块、红外遥控模块、温度报警模块、电源模块、时钟模块、显示模块部分组成如图1.1所示。

红外遥 控 时钟模块 电源和复位

AT89S52 温度报警 12864 液晶显示 图1.1 温度监控报警系统方框图

2、系统的软件设计采用C语言,对单片机进行编程实现各项功能。系统流程图如图1.2所示:

1

开始 设备初始化 串行接口 红外遥控 K=? K=13 调整时间 K=0E 设定上、下限温度 K=EF 温度报警 K=10 设定闹铃 K=17 保存数据

图1.2 系统程序流程图

1.3 方案论证与比较

1.3.1 控制器模块

方案一:采用FPGA作为系统控制器。FPGA功能强大,可以实现各种复杂的逻辑功能,规模大,密度高,它将所有器件集成在一块芯片上,减少了体积,

2

提高了稳定性,并且可应用EDA软件仿真、调试,易于进行功能扩展。FPGA采用并行的I/O口方式,提高了系统的处理速度,适合作为大规模实时系统控制核心。但由于本设计对数据处理的速度要求不高,FPGA的高速处理的优势得不到充分体现,并且其成本偏高,引脚较多,硬件电路布线复杂。

方案二:采用ATMEL公司的AT89S52作为系统控制器。单片机算术运算功能强,软件编程灵活、自由度大,可用软件编程实现各种算法和逻辑控制,并且其功耗低、体积小、技术成熟和成本低等优点。

基于以上分析拟订方案二,由AT89S52作为控制核心,对温度和万年历的显示及调整进行控制。 1.3.2 显示模块

方案一:采用LED数码管显示。颜色鲜艳,经济实惠,由于本设计显示的内容较多,过多地增加数码管显然不行,进行轮流显示则控制复杂,占用较多的I/O资源,加上数码管需要较多连线,使得电路复杂,功耗较大。若采用Max7219驱动,可以减少占用的接口数目,但是数码管只能显示有限的数字和符号,不能直观地显示出设计的内容。

方案二:采用12864液晶显示。其内置8192个16*16点汉字,和128个16*8点ASCII字符集,可以直观地显示出较多内容,利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面,使得显示内容丰富,易于人机交流,并且节约了I/O口资源。

由于本设计要求用12864显示,在本设计中采用12864作为显示模块,可以同时显示温度及时间,不仅能达到设计要求,还具有明显的优越性,所以系统采用方案二。 1.3.3 温度采集模块

方案一:采用温度传感器AD590K。AD590K具有较高精度和重复性,良好的非线性保证±0.1℃的测量精度。加上软件非线性补偿可以实现高精度测量。AD590将温度转化为电流信号,因此要加相应的调理电路,将电流信号转化为电压信号。送入8位A/D转换器,可以获得255级的精度,基本满足题目要求。

方案二:用热电偶测温。有优点是测温范围宽,缺点是电动势低,对运放的要求高,重要的是热电偶测温需要冷端温度补偿,来消除冷端温度变化所产生

3

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4