基于单片机系统的红外遥控器应用.doc

上传人:灯火****19 文档编号:136887849 上传时间:2020-07-03 格式:DOC 页数:10 大小:73.50KB
返回 下载 相关 举报
基于单片机系统的红外遥控器应用.doc_第1页
第1页 / 共10页
基于单片机系统的红外遥控器应用.doc_第2页
第2页 / 共10页
基于单片机系统的红外遥控器应用.doc_第3页
第3页 / 共10页
基于单片机系统的红外遥控器应用.doc_第4页
第4页 / 共10页
基于单片机系统的红外遥控器应用.doc_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《基于单片机系统的红外遥控器应用.doc》由会员分享,可在线阅读,更多相关《基于单片机系统的红外遥控器应用.doc(10页珍藏版)》请在金锄头文库上搜索。

1、遥控器应用摘要1Abstract21红外遥控器信号发射原理简介22红外遥控器信号接收芯片外围电路33 遥控编码4一、编码格式5二、单片机遥控接收电路84软件解码应用程序85 结 语9参考文献9摘要介绍红外遥控器与单片机的硬件接口,并从原理出发给出软件解码的方法。通过软件程序对红外遥控器发射的脉冲波形检测得出信号码,从而为软件解码提供依据。红外遥控器由于其体积小、功耗低、功能强、成本低的特点,已经在家电产品设备中广泛应用。现代智能化仪器仪表系统、工业设备中的控制输入也较多地使用红外遥控器。本文给出红外遥控器信号发射原理、红外接收器的连接方式和单片机软件解码应用程序,并提供了一种对未知格式的遥控器

2、信号码检测的应用程序。 关键词:遥控器;软件解码;单片机;红外线 AbstractIntroduction infrared remote control and microcontroller hardware interface and software decoding are presented and from the principle of the method. Through the infrared remote control software program launched in the letter obtained pulse detection number,

3、and thus provide the basis for software decoding. Infrared remote control because of its small size, low power consumption, strong function, and low costs, has been widely used in home appliances equipment. Modern intelligent instrumentation systems, industrial equipment, the control input is greate

4、r use of infrared remote control. In this paper, principle of infrared remote control signal transmission, infrared receiver connection and SCM software decoding applications, and provides a remote control for unknown format letter number detection applications.Keywords: remote control; software dec

5、oding; SCM; infrared1红外遥控器信号发射原理简介通用红外发射器由指令键、指令信号产生电路、调制电路、驱动电路及红外发射器组成。如图1所示。遥控器所产生的脉冲编码的格式一般为: 引导脉冲(头)识别码(用户码)键码键码的反码其引导脉冲为宽度是10 ms左右的一个高脉冲和一个低脉冲的组合,用来标识指令码的开始。识别码、键码、键码的反码均为数据编码脉冲,用二进制数表 示。“0”和“1”均由ms量级的高低脉冲的组合代表。识别码(即用户码)是对每个遥控系统的标识。通过对识别码的检验,每个遥控器只能控制一个设备动作,有效的防止了多个设备之间的串扰。当指令键按下时,指令信号产生电路便产生脉

6、冲编码。键码后面一般还要有键码的反码,用来检验键码接收的正确性,防止误动作,增强系统的可靠性。这些指令信号由调制电路调制成3240 kHz的信号,经调制后输出,最后由驱动电路驱动红外发射器件(LED)发出红外遥控信号。2红外遥控器信号接收芯片外围电路接收电路可以使用集成红外接收器成品,一般不需要任何外接元件就能完成从红外接收到输出TTL电平兼容信号的所有工作。注意选择接收器件时要保证接收器件的中心频率与发射信号的中心频率相匹配。接收器对外只有3个引脚:VCC,GND和1个脉冲信号输出OUT。与单片机接口非常方便,如图2所示。脉冲信号输出接CPU的普通输入引脚或中断输入引脚(IO/INT)。采取

7、这种连接方法,软件解码既可工作于查询方式,也可工作于中断方式。在实际应用中,还可以进一步增加抑制干扰电路和提高驱动能力电路,增强系统的稳定性。红外线遥控信号发送器电路 TC9012F的遥控信号,TC9012F为4位专用微控制器,其内部振荡电路的振荡频率fosc典型值为455 kHz。当不按下操作键时,其内部455 kHz的时钟振荡器停止工作,以减少电池消耗。内部分频电路将振荡频率,fosc进行12分频后,变成频率fc=379 kHz,占空比为1/3的脉冲载波信号。 红外遥控信号发送器电路由集成电路TC9012F、键盘矩阵电路、驱动器和红外发光二极管组成,遥控信号为379 kHz的脉冲载波被遥控

8、编码脉冲调制的已调波,三、遥控信号的解码算法及程序编制,遥控器无键按下。红外发射二极管不发出信号,遥控接收头输出信号1。有键按下时O和1编码的高电平经遥控头倒相后会输出信号O由于与单片机的中断脚相连,将会引起单片机中断(单片机预先设定为下降沿产生中断)。单片机在中断时使用定时器0或定时器1开始计时到下一个脉冲到来时,即再次产生中断时,先将计时值取出。清零计时值后再开始计时通过判断每次中断与上一次中断之间的时间间隔。便可知接收到的是引导码还是 O和1。如果计时值为9ms。接收到的是引导码,如果计时值等于112ms,接收到的是编码O。如果计时值等于2 25ms接收到的是编码1。在判断时间时,应考虑

9、一定的误差值。因为不同的遥控器由于晶振参数等原因,发射及接收到的时间也会有很小的误差。 以接收TC9012遥控器编码为例,解码方法如下: (1)设外部中断0(或者1)为下降沿中断,定时器0(或者1)为16位计时器初始值均为O。 (2)第一次进入遥控中断后,开始计时。 (3)从第二次进入遥控中断起,先停止计时。并将计时值保存后,再重新计时。如果计时值等于前导码的时间,设立前导码标志。准备接收下面的一帧遥控数据,如果计时值不等于前导码的时间,但前面已接收到前导码,则判断是遥控数据的O还是1。(4)继续接收下面的地址码、数据码、数据反码。(5)当接收到32位数据时,说明一帧数据接收完毕。此时可停止定

10、时器的计时,并判断本次接收是否有效如果两次地址码相同且等于本系统的地址,数据码与数据反码之和等于0FFH,则接收的本帧数据码有效。否则丢弃本次接收到的数据。(6)接收完毕,初始化本次接收的数据,准备下一次遥控接收。3 遥控编码遥控编码脉冲由引导码、用户码、功能码和功能码的相反码组成,用户码是同一组码发送两次,如图2所示。用户码为8位,所以整个脉冲码为32位。引导码作为接收数据的准备脉冲,他由8TCP(45 ms)的高电平和8TCP(45 ms)的低电平组成。用户码和功能码采用脉冲位置调制(PPM)方式编码,根据脉冲之间的时间间隔来区分码值的0或1。对应于二进制数字信号的0或1,脉冲时间间隔分别

11、为2TCP(1125 ms)和4TCP(225 ms),而每一脉冲的宽度仍不变,均为TCP(0562 6 ms)。由于用户码发送两次,功能码与其相反码一起发送,因此系统的误动作很少。本遥控器采用第一次发送的遥控信号的编码脉冲(图3所示)和第二、第三次连续发送的遥控信号的编码脉冲(图4所示)不同的工作方式。这样,当按键一直按着的时候,从第二次连续发送开始,只发送引导码和用户码第一位SO的相反码SO,因此可减少接收处理时间和红外发光二极管功耗,遥控编码脉冲经脉冲载波调制后由TC9021F的第脚输出,再经激励器驱动红外发光二极管,发送出波长为940nm的脉冲红外光。假设用户码为十六进制的76H则第一

12、次发送的遥控信号的编码脉冲如图3所示。解码器硬件以AT89C51单片机为核心,如图5所示,图中只给出接收红外遥控信号的部分电路。红外遥控信号经过红外接收模块接收后,解调为遥控信号的编码脉冲由输出端A输出,其波形如图3和图4所示,此信号经过反相器74LS04输出到AT89C51的外部中断INT0输入端.单片机通过运行程序对红外遥控器TC9021所发出的编码脉冲进行接收和译码。用单片机解码红外遥控器遥控器使用方便,功能多目前已广泛应用在电视机、VCD、DVD、空调等各种家用电器中,且价格便宜,市场上非常容易买到。如果能将遥控器上许多的按键解码出来用作单片机系统的输入则解决了常规矩阵键盘线路板过大、

13、布线复杂、占用IO口过多的弊病。而且通过使用遥控器,操作时可实现人与设备的分离,从而更加方便使用。下面以TC9012编码芯片的遥控器为例。谈谈如何用常用的51系统单片机进行遥控的解码。一、编码格式1、0和1的编码遥控器发射的信号由一串O和1的二进制代码组成不同的芯片对0和1的编码有所不同。通常有曼彻斯特编码和脉冲宽度编码。TC9012的O和1采用PWM方法编码,即脉冲宽度调制,其O码和1码如图1所示(以遥控接收输出的波形为例)。O码由O56ms低电平和056ms高电平组合而成脉冲宽度为112ms1码由056ms低电平和169ms高电平组合而成脉冲宽度为225ms。在编写解码程序时通过判断脉冲的

14、宽度,即可得到0或1。2、按键的编码当我们按下遥控器的按键时,遥控器将发出如图2的一串二进制代码,我们称它为一帧数据。根据各部分的功能。可将它们分为5部分,分别为引导码、地址码、地址码、数据码、数据反码。遥控器发射代码时均是低位在前。高位在后。由图2分析可以得到引导码高电平为45ms,低电平为45ms。当接收到此码时表示一帧数据的开始。单片机可以准备接收下面的数据。地址码由8位二进制组成,共256种图中地址码重发了一次。主要是加强遥控器的可靠性如果两次地址码不相同则说明本帧数据有错应丢弃。不同的设备可以拥有不同的地址码因此。同种编码的遥控器只要设置地址码不同,也不会相互干扰。图中的地址码为十六

15、进制的0EH(注意低位在前)。在同一个遥控器中所有按键发出的地址码都是相同的。数据码为8位,可编码256种状态,代表实际所按下的键。数据反码是数据码的各位求反,通过比较数据码与数据反码可判断接收到的数据是否正确。如果数据码与数据反码之间的关系不满足相反的关系则本次遥控接收有误数据应丢弃。在同一个遥控器上所有按键的数据码均不相同。在图2中,数据码为十六进制的0CH,数据反码为十六进制的0F3H(注意低位在前)两者之和应为0FFH。单片机程序主要解决的问题就是如何对接收到的9021型红外遥控器所发射的信号进行解码,编码脉冲信号是由引导码、用户码、和功能码等部分组成,我们只对获取其功能码过程进行分析。在单片机设置中,将单片机AT89C51内部定时器/计数器T0设为定时方式1,定时时间为1 ms;设外部中断INT0为下降沿中断触发方式,由于在接收时将编码脉冲信号进行反相,因此,每当INT0外管脚信号下降沿到来时,外部中断INT0发生中断,启动定时器T0,定时器每次中断定时时间为1 ms并累加到定时计数器中,在下一次外部中断INT0发生中断时读取定时计数器中的时间,通过对两个脉冲之间的定时时间的分析来对 遥控器功能码进行解码

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号