基于单片机的红外遥控LED设计

2022-03-19 03:12:30杜路泉刘德春莫建麟王玉晶
关键词:遥控解码按键

杜路泉,刘德春,莫建麟,王玉晶

(阿坝师范学院 电子信息与自动化学院,四川 阿坝州 623002)

1 红外线遥控概述

按照波长由长到短划分,可见光依次分为红、橙、黄、绿、青、蓝、紫。红光的波长范围为0.62~0.76 μm;紫光的波长范围为0.38~0.46 μm.红外线的波长比红光的波长长,紫外线的波长比紫光的波长短。利用波长在0.76~1.5 μm之间的红外线来传输控制信号称为红外线遥控技术[1]。

红外遥控设备一般由发射器和接收器两个部分组成,发射器通常由键盘电路、红外编码芯片、电源部分和发射部分构成。当按键被按下后,发射器在识别对应的按键后通过编码芯片产生相应的控制信号,生成的控制信号再经过红外发射电路的驱动发射出去。接收器通常由红外接收电路、执行电路、电源电路和红外解码芯片组成。当红外接收器收到红外光信号后,会将收到的光信号转化为对应脉冲电信号发送到红外解码芯片处进行解调。解调后芯片会控制执行电路产生对应状态来表示应答[2]。

2 总体方案的选定

综合考虑成本和资源使用程度等方面选择了STC89C52单片机作为系统设计的编解码芯片。将红外发射模块和红外接收模块分别用不同的电路板焊接成两个独立的模块,使其在50~100 cm甚至更远范围内能稳定控制。该方案提高了设备灵活性、节省人工、符合遥控概念,和目前电子行业发展理念相同[3]。表1给出了方案对比分析。

表1 设计方案对比分析

3 遥控系统的硬件设计

单片机最小系统是指使单片机正常工作所需最少元器件的组合。52单片机最小系统除了单片机以外还包括电源电路、复位电路、时钟电路、下载电路。表2分析了硬件选型,考虑到价格以及基本功能实现即可的原则,选择STC89C52单片机。

表2 硬件对比分析

红外发射电路是由一个NPN三极管S9013、两个1k电阻和一个红外发射管构成的开关电路,电路中三极管基级连一个电阻后与单片机P2.7引脚相连。当P2.7引脚输出为1时,电路导通,红外发射管会发出频率为38 kHz的脉冲。

红外接收电路主要由一个红外接收头HS0038连接在接收器的P3.2(外部中断0)引脚。当产生红外信号的时候,HS0038会给出低电平,单片机进行中断解码,并将产生的数据存在一个数组内。图1所示为电路原理图[4],图2为PCB设计。

图1 电路原理图

图2 PCB设计

键盘设计电路由八个按键组成,每一个按键都有不同的功能。表3给出了各个按键的作用。

表3 按键功能说明

在硬件电路设计完成后,进行最后电路板焊接,应当仔细检查是否与仿真一致。在没接电源的情况下用万用表通断开关检查每条线路有没有短路或者虚焊,并且检查各元器件的值是否与仿真一致。以上检查均准确无误时再给设备接上电源,打开开关,检查是否有短路现象,最后进行性能测试。

4 遥控系统的软件设计

为了让通信信号高效准确地到达接收端,将二进制信号进行编码并转换为脉冲信号,然后经过红外发射管传输出去。通常有两种方法进行调制,以脉冲串之间的时间间隔来实现信号调制的脉位调制(PPM)和以脉冲宽度来实现信号调制的脉宽调制(PWM),软件设计采用PPM调制[5]。图3为发射接收波形图。

发射端 接收端

发射程序将严格遵循NEC红外编码协议来完成。红外发射设备通过识别按键后在38 kHz的载波上依次将引导码、用户码、用户反码、数据码、数据反码以脉冲的形式传给发送引脚。

Proteus仿真里面必须要求严格遵循NEC编码和误差,虽然实际面包板模拟设备能通讯仿真却通不过。经过测试发现,一般红外接收头设计的信号载波频率为38 kHz,实际上能接收36~40 kHz之间的载波信号,并且每个指令的误差可以增加到28 μs左右也能进行通信,但是在仿真软件上就需要精确无误。图4给出了发射主程序流程图。

图4 发射主程序流程图

图5 接收主程序流程

接收程序主要用到外部中断0来解码,当接收到红外信号时进入中断通过一个延迟函数来判断每个电平变化的时间。对比相应的红外编码时间来判断出指令是0还是1.在程序编码中主要是要掌握好信号每个高低电平变化的瞬间,计时并识别。在编码的前期因为逻辑问题导致很久都没有解码成功,一组指令32个是一次性发送,所以一个完整指令的解码都需要在一个逻辑里完成,并且不能有延迟的错误性,调试方法和发送类似[6~10]。解码流程图分为初始化和解码两个部分,初始化负责单片机的复位和外部中断的初始化,并将执行电路电平拉低。主程序主要负责信号的解码和功能的执行。图5给出了接收主程序流程图。

5 系统的调试分析

利用Proteus完成电路图的设计和搭建。通过Keil编写遥控编码和遥控解码的程序,编后显示0错误、0警告。将生成的HEX文件导入Proteus仿真,运行仿真,观察通信结果。将LED显示需要修改的地方在Keil上重新编写编译后执行。将发射程序和接收程序下载到发射设备和接收设备上。将所有功能都进行测试,分析不符合或者不正常的现象。将灯光效果不满意的地方进行软件或硬件调整再测试[11~15]。表4给出了功能测试。

表4 功能测试

图6与图7所示,给出了发射电路与测试电路。

图6 发射器图

图7 发射电路图

6 总结

红外遥控LED系统制作以单片机为核心,实现红外发射电路与红外接收电路设计,同时完成红外LED灯的红外信号通信,灯组各种不同的功能和变化测试。但是该系统中仍然存在不足之处即遥控距离,通常要求系统的控制距离为5 m左右,而该系统遥控距离在1 m左右;另外针对系统功能的扩展等都是后续研究需要改进的部分。

猜你喜欢
遥控解码按键
如何遥控引爆的
《解码万吨站》
基于有限状态机的按键检测程序设计
电子制作(2021年3期)2021-06-16 03:14:26
解码eUCP2.0
中国外汇(2019年19期)2019-11-26 00:57:32
他是如何遥控引爆的
NAD C368解码/放大器一体机
Quad(国都)Vena解码/放大器一体机
一种多方向导光按键结构设计
电子制作(2016年1期)2016-11-07 08:43:05
遥控赛车
按键的多种状态检测及消抖处理方法
家电科技(2013年4期)2013-07-09 10:55:08