基于单片机系统的红外遥控器应用_第1页
基于单片机系统的红外遥控器应用_第2页
基于单片机系统的红外遥控器应用_第3页
免费预览已结束,剩余9页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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, and t

3、hus 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 greater use

4、 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 decoding

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

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

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

8、kHz的脉冲载波被遥控编码脉冲调制的已调波,三、遥控信号的解码算法及程序编制,遥控器无键按下。红外发射二极管不发出信号,遥控接收头输出信号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)从第二次进入遥控中断起,先停顿计时。并将计时值保存后,再重新计时。如果计时值等于前导码的时间,设立前导码标志。准备接收下面的一帧遥控数据,如果计时值不等于前导码

10、的时间,但前面已接收到前导码,那么判断是遥控数据的O还是1。(4)继续接收下面的地址码、数据码、数据反码。(5)当接收到32位数据时,说明一帧数据接收完毕。此时可停顿定时器的计时,并判断本次接收是否有效如果两次地址码一样且等于本系统的地址,数据码与数据反码之和等于0FFH,那么接收的本帧数据码有效。否那么丢弃本次接收到的数据。(6)接收完毕,初始化本次接收的数据,准备下一次遥控接收。3遥控编码遥控编码脉冲由引导码、用户码、功能码和功能码的相反码组成,用户码是同一组码发送两次,如图2所示。用户码为8位,所以整个脉冲码为32位。引导码作为接收数据的准备脉冲,他由8TCP(45 ms)的高电平和8T

11、CP(45 ms)的低电平组成。用户码和功能码采用脉冲位置调制(PPM)方式编码,根据脉冲之间的时间间隔来区分码值的"0"或"1"。对应于二进制数字信号的"0"或"1",脉冲时间间隔分别为2TCP(1125 ms)和4TCP(225 ms),而每一脉冲的宽度仍不变,均为TCP(0562 6 ms)。由于用户码发送两次,功能码与其相反码一起发送,因此系统的误动作很少。本遥控器采用第一次发送的遥控信号的编码脉冲(图3所示)和第二、第三次连续发送的遥控信号的编码脉冲(图4所示)不同的工作方式。这样,当按键一直按着的时候,

12、从第二次连续发送开场,只发送引导码和用户码第一位SO的相反码SO,因此可减少接收处理时间和红外发光二极管功耗,遥控编码脉冲经脉冲载波调制后由TC9021F的第脚输出,再经鼓励器驱动红外发光二极管,发送出波长为940nm的脉冲红外光。假设用户码为十六进制的76H那么第一次发送的遥控信号的编码脉冲如图3所示。解码器硬件以AT89C51单片机为核心,如图5所示,图中只给出接收红外遥控信号的局部电路。红外遥控信号经过红外接收模块接收后,解调为遥控信号的编码脉冲由输出端A输出,其波形如图3和图4所示,此信号经过反相器74LS04输出到AT89C51的外部中断INT0输入端.单片机通过运行程序对红外遥控器

13、TC9021所发出的编码脉冲进展接收和译码。用单片机解码红外遥控器遥控器使用方便,功能多目前已广泛应用在电视机、VCD、DVD、空调等各种家用电器中,且价格廉价,市场上非常容易买到。如果能将遥控器上许多的按键解码出来用作单片机系统的输入那么解决了常规矩阵键盘线路板过大、布线复杂、占用IO口过多的弊病。而且通过使用遥控器,操作时可实现人与设备的别离,从而更加方便使用。下面以TC9012编码芯片的遥控器为例。谈谈如何用常用的51系统单片机进展遥控的解码。一、编码格式1、0和1的编码遥控器发射的信号由一串O和1的二进制代码组成不同的芯片对0和1的编码有所不同。通常有曼彻斯特编码和脉冲宽度编码。TC9

14、012的O和1采用PWM方法编码,即脉冲宽度调制,其O码和1码如图1所示(以遥控接收输出的波形为例)。O码由O56ms低电平和056ms高电平组合而成脉冲宽度为112ms1码由056ms低电平和169ms高电平组合而成脉冲宽度为225ms。在编写解码程序时通过判断脉冲的宽度,即可得到0或1。2、按键的编码当我们按下遥控器的按键时,遥控器将发出如图2的一串二进制代码,我们称它为一帧数据。根据各局部的功能。可将它们分为5局部,分别为引导码、地址码、地址码、数据码、数据反码。遥控器发射代码时均是低位在前。高位在后。由图2分析可以得到引导码高电平为45ms,低电平为45ms。当接收到此码时表示一帧数据

15、的开场。单片机可以准备接收下面的数据。地址码由8位二进制组成,共256种图中地址码重发了一次。主要是加强遥控器的可靠性如果两次地址码不一样那么说明本帧数据有错应丢弃。不同的设备可以拥有不同的地址码因此。同种编码的遥控器只要设置地址码不同,也不会相互干扰。图中的地址码为十六进制的0EH(注意低位在前)。在同一个遥控器中所有按键发出的地址码都是一样的。数据码为8位,可编码256种状态,代表实际所按下的键。数据反码是数据码的各位求反,通过比拟数据码与数据反码可判断接收到的数据是否正确。如果数据码与数据反码之间的关系不满足相反的关系那么本次遥控接收有误数据应丢弃。在同一个遥控器上所有按键的数据码均不一

16、样。在图2中,数据码为十六进制的0CH,数据反码为十六进制的0F3H(注意低位在前)两者之和应为0FFH。单片机程序主要解决的问题就是如何对接收到的9021型红外遥控器所发射的信号进展解码,编码脉冲信号是由引导码、用户码、和功能码等局部组成,我们只对获取其功能码过程进展分析。在单片机设置中,将单片机AT89C51内部定时器/计数器T0设为定时方式1,定时时间为1 ms;设外部中断INT0为下降沿中断触发方式,由于在接收时将编码脉冲信号进展反相,因此,每当INT0外管脚信号下降沿到来时,外部中断INT0发生中断,启动定时器T0,定时器每次中断定时时间为1 ms并累加到定时计数器中,在下一次外部中

17、断INT0发生中断时读取定时计数器中的时间,通过对两个脉冲之间的定时时间的分析来对 遥控器功能码进展解码例如程序如下: E1INT:. v.PUSHACCPUSH PSWCLRTR1MOV RMTLEN,TH1    、MOVTH1,*00HMOV TL1,*00HSETBTR1MOV A,RMJLENJNZ LBLRMDATBITMOV RMADDR*00HMOV RMRADDR,*00HMOV RMDAT,*00HMOV RMRDAT,*00HMOV RMBIT_T,*00HCLR RMOKCLR RMGUIDEPOPPSWPOPACCRET1 I BI RM

18、 DAT BIT:    MOV A,RM_TLEN    CJNE A,*23H,LBLRM_ADDR_DAT    SETB RMGUIDE    SJMP LBLE1 INT-RETLBLRM_ADDR_DAT;    JNB RMGUIDE,LBLRMERROR    CJNE A,*04H,LBL_RM_ONE    CLR C    SJMP L

19、BL_RMSHIFTLBLRMONE:    CJNE A。*08H。LBLRMERROR    SETB CLBL_RM_SHIFT:    MOV A,RMRDAT    RRC A    MOV RMRDATA    MOV A,RMDAT    RRC A    MOV RMDAT,A    MOV A,RMRADDR&

20、#160;   RRC A    MOV RM RADDRA    MOV A。RM-ADDR    RRC A    MOV RMADDRALBLRMEND:    INC RMBITT    MOV A,RM_BIT_T    CJNE A,*32,LBLE1 INT_RET    CLRTR1    M

21、OV TH1,*00H    MOVTL1,*00H    MOV HOURRMADDR    MOV MINUTE,RMDAT    MOV RM_ADDR,*00H    MOV RMRADDR,*00H    MOV RMDAT,*00H    MOV RMRDAT,*00H    MOV RM一8IT_T,*00H   

22、 CLR RMGUIDE    SEITB RMOK    SJMP LBLE1 INTRET LBLRMERROR:    CLRTR1    MOV TH1,*0OH    MOVTL1,*00H     MOV RM_ADDR,*00H    MOV RMRADDR,*00H    MOV RMDAT,*00H    MO

23、V RMRDAT,*00H    MOV RMB1TT,*00H    CLR RMGUIDELBLE1 INTRET:POPPSWPOPACCRETI. v.二、单片机遥控接收电路    红外遥控接收可采用较早的红外接收二极管加专用的红外处理电路的方法。如CXA20216,此种方法电路复杂,现在一般不采用。较好的接收方法是用一体化红外接收头,它将红外接收二极管、放大、解调、整形等电路做在一起,只有三个引脚分别是+5V电源、地、信号输出。常用的一体化接收头的外形及引脚见图3和图4。红外接收头的信号输出接单

24、片机的INTO或INTl脚典型电路如图5所示图中增加了一只PNP型三极管对输出信号进展放大。    以上以Tc9012编码格式为例,说明了解码的原理与方法。只要注意一帧数据的格式及引导码、O码和1码的时间长度其它编码芯片如 HT6121、M50560、LC7461等也非常容易解码。4软件解码应用程序在遥控器信格式的条件下,可以通过单片机软件程序实现解码。以笔者手中的遥控器为例,根据上面已测得的信,采用PIC16C54单片机,4 MHz晶振,提供一种软件解码的应用程序。PIC16C54单片机是一款有着较高性能价格比的低档单片机,最适合低价格、低功耗、小体积的设备。PIC16C54没有中断系统,程序采用软件查询法,查询输入引脚的电平变化,采用定时器定时,根据定时器的记录值和的信号格式比拟,判断各局部接收是否正确以及分辨键码并执行相应的命令。由于遥控器脉宽时间值是在一个小X围内波动,而且检测过程中定时器也存在误差。因此,对信号的识别不能采取准确比拟法,本程序采用了区间比拟法,即判断定时器的记录值是否在预先计算的区间内。由88于引导脉冲和数据脉冲的时间相差很大,解

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论