基于单片机的红外解码器设计
2020-07-06关正伟黄娜陈龙灿
关正伟 黄娜 陈龙灿
摘要:本文是以单片机和一体化接收器等为核心,通过AT89S52最小系统,红外发射部分,红外接收部分和液晶显示部分组成,设计了红外线遥控系统,能够通过遥控进行系统控制,编码解码容易。它的优点是硬件电路简单,性价比高,功能完善,具有一定的实用价值。
关键词:遥控器;红外发射;红外接收;AT89S52;编解码
1单片机的选择
本设计使用的是AT89S52单片机,具有8k可编程的FLASH存储器,与工业C51的引脚和产品指令兼容。AT89S51的主要功能有以下几种:两个数据指针、3个十六位计数器/定时器、看门狗定时器、32位I/O口线、8k字节的Flash、256字节的RAM、全双工串行口、1个6向量二级中断结构、时钟电路和片内晶振。同样,AT89S52的静态逻辑操作可以降至0赫兹并且可以选择节电模式,同时支持两种软件。在CPU停止工作的情况下,串口、RAM、中断、计数器/定时器可以继续工作。在掉电保护方式下单片机停止一切工作,振荡器被冻结。RAM内容被保存,直到下一个硬件复位或是中断为止。
2红外遥控发射器设计原理
基于单片机的红外发射器由AT89S52单片机、红外发射电路、矩阵键盘、控制电路以及单片机的一些电源、晶振、时钟等电路组成。单片机不工作时一直处于低功耗状态,采用了空闲节电工作方式。当遥控器的某一按键被按下以后,外部中断1产生中断,唤醒单片机进入工作状态,查询键盘按下的是哪一个按键,当确认按键后,控制软件启动定时器T0、T1,T1作为发射时间控制器,T0作为红外线发射频率控制器,T0定时溢出时中断程序使红外管接口电平反转一次,写入定时器的初值不同,在输出端口就得到不同的发射频率。T1定时溢出时中断程序关闭T0定时器,停止红外线发射。其设计原理框图如下。
3红外遥控接收器设计原理
单片机红外遥控接收器主要有AT89S52单片机、红外遥控接收电路、显示设备、控制电路以及单片机的一些外围电路组成。利用单片机中的T0作为红外脉冲计数器,T1作为计数时间控制器。当电路中红外接收管接收到第一个红外脉冲时,外部中断1被触发,启动计数器T0和定时器T1。定时溢出,中断程序关闭计数器T0,读入计数值并进行判断,确定操作对象(遥控按键)对其进行反转操作,控制电路对所控制的负载进行开或关。还可对接收电路实行上锁功能,对控制电路上锁后,遥控器不能对控制电路实施遥控功能。
4显示设备的選择
在单片机应用系统中,使用的显示器主要有LED、LCD显示。本设计遥控器的接收电路在配置一些指示灯的前提下,只显示数字就够了,故采用LED就够了。
一个显示器由八个发光二极管组成,其中七个发光二极管控制a~g七段的亮或暗,另外一个发光二极管控制一个小数点的亮或暗。这种七段显示器能显示的字符较少,字符的形状有些失真,但与单片机的控制接口连接简单,使用方便。
5红外发射程序流程
程序开始是对单片机进行初始化设置,循环扫描判断是否有键按下,如果有键按下就发射相应的红外信号,遥控发射程序流程图如图所示。
6红外接收部分流程
程序开始是对单片机进行初始化设置,使用显示程序,循环扫描判断信号是否有效,如果有效就接收,接收后调用相应功能程序,遥控接收程序流程图如图5所示。
7红外解码功能的实现
本设计使用单片机进行软件编程后能够精确检测编码脉冲波形,通过分析红外接收头所输出的串行码波形可以得到:每一个串行12位的串行码信号的前面会有一位引导周期结束标志和一段没有任何信号的高电平空白段,它的长度和一个12位串行码的长度相当,称为引导码,单片机需要通过跟踪和捕捉到这个引导码才可以准确的接收和解调出在引导码后面的串行码。
结论:
本设计主要包括硬件和软件两部分的设计,本系统除了涉及到单片机系统的知识外,还应用了红外线技术、数字电路、微机原理、红外解码等方面的知识,具有很强的综合性。并需要自己查找大量的元器件、芯片、电路方面的资料方可完成总体的设计。
参考文献:
[1] 郑红菱,张杰,郑郁正.基于单片机的红外数据通信全双工编解码器设计[J].成都信息工程学院学报,2013,04(02):129-132.
[2] 孙陈英.基于AT89S52单片机的8×8 LED点阵显示屏的设计[J].通信电源技术,2019,06(065):147-148.
[3] 黄华,李晓锋,曾小宝.基于有限状态机的红外解码实现方法[J].山西电子技术,2019,10:6-8.