1、 单片机 红外 遥控系统设计 摘要: 本文 设计 了 一种 基于 AT89S52单片机的红外遥控系统, 可用于控制 多种 电器 的 开关,交流电机的转速及启停等方面 。 阐述了发射部分和接收部分的 设计原理和工作过程 , 介绍了 一种 红外遥控解码程序的 实现方法 ,并用流程图表示了程序的设计过程 。 1 引言 红外线波长远小于无线电波的波长,所以红外遥控不会干扰其他无线设备的工作;其次其无法穿透墙壁,故不同房间的家用电器可使用通用的遥控器而不会产生相互干扰;再次红外线电路调试简单,只要按给定电路连接无误,一般不需任何调试即可投入工作,并且 编解码容易,可进行多路遥控;另外红外遥控器作为控制系
2、统的输入设备,具有成本低、灵活方便的特点。 红外遥控 的这些优点 可 为用户提供方便的操控手段 , 因此该技术被 广泛应用于各种家电产品、 娱乐设施 、现代化仪器仪表 和工业控制中 ,为 现代 家居和生产 生活 增添了一丝亮色 。 单片机 集 CPU, RAM,ROM,I/O口、中断和定时器于一体,具有体积小,重量轻,控制灵活方便,价格低廉等优点 ,广泛应用于工业自动化、仪器仪表、家用电器、信息和通信产品以及军事装备等方面 。 采用单片机进行红外遥控系统设计,具有编程灵活多样,操作码数可随意设定等优 点。 单片机经过不断地更新换代,其性能也在不断的提升,其中 ATMEL公司生产的闪速存储器单片
3、机芯片 AT89S52是一种低功耗,高性能的 CMOS8位微控制器 , 本设计以 AT89S52单片机为核心,附以相应的外围电路,构成基于单片机控制 的红 外遥控 系统 。 2 系统硬件设计 本文所设计的红外遥控系统 分为两个部分:即遥控发射部分和接收控制部分(整个系统原理框图如图,图所示)。整个系统需要解决的关键问题是实现红外信号的有效发射与接收,本设计将采用脉冲个数编码,和单片机软件解码的方式来实现红外遥控器对继电器 的开 和 关 ,从而控制电器设备 。 图 : 遥控 发射部分框图 图:接收控制 部分 电路 遥控发射部分 (其 电路原理图如图 ): 主要由 AT89S52单片机、矩阵式操作
4、键盘、红外发射电路和电源部分组成。实现一旦有键按下,单片机进行键盘查询,并由查询的键单片机( 2) AT89S52 继电器 控制 电路 红外接收 电路 电源电路 数码显示 电路 单片机() AT89S52 矩阵 键盘 电路 红外 发射 电路 电源电路 号控制红外发射管发射相应的脉冲。 AT89S52单片机 遥控电路的 核心控制芯片采用 AT89S52单片机,它 具备 8KB可重编程 Flash存储器, 1000次擦写周期, 32个可编程 I/O口线, 3个 16位定时器 /计数器, 8个中断源,看门狗定时器, 2个数据指针, 另外, AT89S52 可降至 0Hz 静态逻辑操作,支持 2种软件
5、可选择节电模式 。 空闲模式下, CPU停止工作,允许 RAM、定时器 /计数器、串口、中断继续工作。掉电保护方式下, RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。 矩阵式键盘 矩阵式键盘即行列式键盘,用线组成行、列结构,按键设置在行列的交电 上,行列线分别连接到按键开关的两图 3: 遥控发射部分的电路原理图 端,按键中有无按键按下是由列线送入扫描字,行线读入行线状态来判断的。本设计中的矩阵键盘扫描时 先 经位输出口向位列线输出低电平,然后再输入位行线的状态,若行线状态皆为高电平则表明无键按下,若行线状态有低电平则表明有键被按下。 红外发射电路 遥控信息码
6、由单片机的 定时器 0调制成 38KHZ的 红外线载波 信号,由 .4口输出, 经三极管 9013放大后由红外发射管发射出去。 2 2接收控制部分 ( 电路原理图如图 4): 主要由 AT89S52单片机、红外接收电路、数码显示电路、继电器控制电路和电源电路组成。遥控器发射的信号经红外接收处理传递给单片机,单片机根据不同的信息码进行相应的继电器的控制,并完成相应的现实功能。 2 AT89S52单片机 AT89S52(2)单片机为控制核心,外加 12MHZ的晶振。 2红外接收电路 红外光波不可见,峰值波长 940nm 左右,属红外波段。红外接收管将接收到的红外线光波转换成电信号,黑色的树脂封装将
7、 700nm 以下波长的光线滤除。红外一体化接收头是由红外接收管和放大电路组成的,能够接收 脉冲编码调制的红外光信号,具有体积小,密封性好,灵敏度高,价格低廉等优点。本设计采用 SM0038 一体化接收头,其解调频率为 38KHZ,当接收到 38KHZ的红外脉冲信号时输出为低电平,反之输出高电平。经其解调后的信号输入单片机的中断和串行接收口。通过单片机的中断查询可进行下一步操作。 2数码显示电路 为方便识别发射的按键号码,以及显示受控制的电路,在接收部分设置数码显示电路。显示电路主要由显示驱动器 4511 和数码管 LED组成。 CD4511 是 7 段译码器,与其它驱动器不同的是,它显示数码
8、 6和 9时没有拖尾现象,它所驱动对象是共阴 极 LED 数码管。CD4511的四个信号输入端用单片机 P1端口中的四位来实现。 2继电器控制电路 继电器控制电路可由单片机的 P0 和 P2 口输出,一共可以有 16个支路,即可以控制 16 个电器,而这 16 个支路的电路形式完全相同,在本次设计模型中,可选择其中的一个或几个支路来演示。以 P2.1口为例,将其连接到继电控制电路中三极管 9012 的基极,三极管的射极接继电器 ,使整个控制部分接到交流电器中。当 P2.1 输出低电平时,三极管导通,继电器吸合,对应的电器设备电源接通,设备开启 工作;否则 P0 或 P2 口相应引脚输出为高电平
9、,三极管截止,继电器断开,对应的电器设备因断电而不能工作。 图 : 接收控制部分的电路原理图 3 系统软件设计 本设计的软件分为发射部分和接收部分。 发射部分的工作原理为:系统上电初始化, 进入主程序循环状态。调用键盘扫描处理子程序,当无按键按下时,系统处于等待状态;当有按键按下时,系统通过按键检查子程序,检查按键号并转入相应的发射子程序。 (键扫描程序流程图如图) 在发射子程序中, 利用定时器 将待发射信号调制成 38KHZ的载波信号,经三极管放 大后驱动红外发射管,发射调制脉冲信号。发射信号采用脉冲个数编码,不同的脉冲个数代表不同的编码,最小为 个脉冲, 其它信息码的脉冲个数逐个递增。为了
10、使接收可靠,第一位码宽为,其余为,码间距为, 遥控码数据帧间隔大于。遥控器上每一个按键都有唯一的一个键号,通过查询得到的键值发射事先设定个数的脉冲。 (红外发射程序流程图如图 6) 键扫描 Y N START 装载发射脉冲个数 发 3ms 首脉冲 停发 1ms 码间距 发射脉 冲个数减 1 等于 0 吗? 发 1ms 脉冲 停发 1ms 脉冲 START 有键按下吗? N 键码计算 键扫描 由键号转至发射程序 Y 图 5:键扫描程序流程图 图 6:发射程序流程图 接收部分工作原理为 :系统上电初始化后, 对单片机的 INT1 口进行检测,当其为高电平时,系统处于等待状态;当其为低电平时,将启动
11、中断服务程序。红外接收器输出脉冲帧数据时,第一位码的下降沿触发中断程序,实时接收数据帧,并对第一位码的码宽进行验证。若第一位的低电平码的脉宽小于 2ms,将作为错误帧处理。当间隔位的高电平脉冲宽大于 3ms 时,结束接收,然后根据累加器 A 中的脉冲数,在单片机 P1 O P1 3 口输出相应的二进制数据,经译码器的译码后驱动数码显示管显示相应按键,同时 P0 或 P2 口的某一对应引脚输出控制信号,使继电器原有状态发生改变,此时即完成一次数据的接收处理。 4 结束语 本设计采用红外发射和接收的方式,保证了信号传输的可靠性,并且控制简单、实施方便,成本低廉。通过接收发射端的控制信号,在接收部分
12、实现了相应的控制。但是,由于受红外线定向性和传输距离的限制,该系统只适应于短距离的遥控控制 (10 m以内 ),而且操作时遥控器要有一定的角度,如果中间有墙、门窗等障碍物时,红外线将无法穿透。如果采用调频或调幅等发射接收编码,可提高遥控距离,并且不受角度的影响。 注释: 红外编码的 格式多种多样,本设计只是选取了其中的一种。 参考文献 : ( 1) 李 广弟单片机基础北京航空航天大学出版社 2001年第 2版, 2003年 9月第 6次 印刷 , P11-37,P200-203 ( 2) 刘东汉基于微处理器解码多功能遥控系统的设计 2006年第 8期, P27-29 ( 3) 朱光忠基于单片机的红外遥控开关控制 器 2006年第 11期, P2097-2099