《红外线遥控器解码程序.docx》由会员分享,可在线阅读,更多相关《红外线遥控器解码程序.docx(45页珍藏版)》请在课桌文档上搜索。
1、红外线遥控器解码程序红外线遥控是目前使用最广泛的一种通信和遥控手段。由于红外线遥控装at具有体积小、功耗低、功能强、成本低等特点,因而,继彩电、录像机之后,在录音机、音响设备、空调机以及玩具等其它小型电器装上也纷纷采用红外线遥控。工业设备中,在高压、辐射、有毒气体、粉尘等环境下,采用红外线遥控不仅完全可靠而且能有效地隔离电气干扰。1红外遥控系统通用红外遥控系统由发射和接收两大部分组成,应用端/解码专用集成电路芯片来进行控制操作,如图1所示。发射部分包括键盘矩阵、编码调制、LED红外发送器;接收部分包括光、电转换放大器、解调、解码电路。蕊菽f编码调制LED遥控发射器一卜光/电放大解调4丽逋控接收
2、方图1红外遥控系统框图2遥控发射器及其编码遥控发射器专用芯片很多,根据编码格式可以分成脉冲宽度调制和脉冲相位调制两大类,这里我们以运用比较广泛,解码比较容易的脉冲宽度调制来加以说明,现以LC7461组成发射电路为例说明编码原理。当发射器按键按下后,即有遥控码发出,所按的键不同遥控端码也不同。这种遥控码具有以下特征:采用脉宽调制的串行码,以脉宽为0.565ms、间隔0.56ms、周期为1.125ms的组合表示二进制的“0”以脉宽为0.565ms、间隔1.685ms、周期为2.25ms的组合表示二进制的IT上述“0”和T”蛆成的42位二进制码经38kHz的载频进行二次调制以提高发射效率,达到降低电
3、源功耗的目的。然后再通过红外发射二极管产生红外线向空间发射,7461产生的遥控墉码是连续的42位二进制码组,其中前26位为用户识别码,能区别不同的红外遥控设备,防止不同机种遥控码互相干扰。后16位为8位的操作码和8位的操作反码用于核对数据是否接收准确。当遥控器上任意一个按键按下超过36ms时,LC7461芯片的振荡器使芯片激活,将发射一个特定的同步码头,对于接收端而言就是一个9ms的低电平,和一个4.5ms的高电平,这个同步码头可以使程序知道从这个同步码头以后可以开始接收数据。解码的关键是如何识别“0”和“1”,从位的定义我们可以发现“0”、T”均以0.56ms的低电平开始,不同的是高电平的宽
4、度不同J(F为0.56ms门”为1.68ms,所以必须根据高电平的宽度区另!”和“1”。如果从0.56ms低电平过后,开始延时,0.56ms以后,若读到的电平为低,说明该位为“0”,反之则为tT,为了可靠起见,延时必须比0.56ms长些,但又不能超过1.12ms,否则如果该位为,读到的已是下一位的高电平,因此取(1.12ms+0.56ms)2=0.84ms最为可靠,一般取0.84ms左右即可。根据红外编码的格式,程序应该等待9ms的起始码和4.5ms的结果码完成后才能读码。接收器及解码1.T0038是塑封一体化红外线接收器,它是一种集红外线接收、放大、整形于一体的集成电路,不需要任何外接元件,
5、就能完成从红外线接收到输出与TTL电平信号兼容的所有工作,没有红外遥控信号时为高电平,收到红外信号时为低电平,而体积和普通的塑封三极管大小一样,它适合于各种红外线遥控和红外线数据传输。下面是一个对51实验板配套的红外线遥控器的解码程序,它可以把上图32健的红外遥控器每一个按键的键值读出来,并且通过实验板P1口的8个LED显示出来,在解码成功的同时并且能发出“看嘀嘀”的提示音。ORGOOOOHAJMPMAIN;转入主程序ORGOOO3H;外部中断P3.2脚INTO入口地址AJMPlNT;转入外部中断服务子程序(解码程序);以下为主程序进行CPU中断方式设置MAIN:SETBEA;打开CPU总中断
6、请求SETBITO;设定INTO的触发方式为脉冲负边沿触发SETBEXO;打开INTO中断请求;以下对单片机的所有引脚进行初始化,全部设置成高电平MOVP2,#11100111BAJMP$;以下为进入P3.2脚外部中断子程序,也就是解码程序INT:CLREA;暂时关闭CPU的所有中断请求MOVR6,#10SB:ACALLYS1;调用882微秒延时子程序JBP32EXIT;延时882微秒后判断P3.2脚是否出现高电平如果有就退出解码程序DJNZR6,SB;重复10次,目的是检测在8820微秒内如果出现高电平就退出解码程序;以上完成对遥控信号的9000微秒的初始低电平信号的识别。JNBP3.2,$
7、;等待高电平避开9毫秒低电平引导脉冲ACALLYS2涎时4.74毫秒避开4.5毫秒的结果码MOVR7,#26;忽略前26位系统识别码JJJJAJNBP3.2$等待地址码第一位的高电平信号1.CALLYS1;高电平开始后用882微秒的时间尺去判断信号此时的高低电平状态MOVC,P32;将P3.2引脚此时的电平状态。或1存入C中JNCUUUA;如果为0就跳转到UUUA1.CALLYS3;检测到高电平1的话延时1毫秒等待脉冲高电平结束UUUA:DJNZR7,JJJJAMOVR1#IAH;设定1AH为起始RAM区MOVR2,#2;接收从1AH到IBH的2个内存,用于存放操作码和操作反码PP:MOVR3
8、,#8;每组数据为8位JJJJ:JNBP3.2$等待地址码第一位的高电平信号1.CALLYS1;高电平开始后用882微秒的时间尺去判断信号此时的高低电平状态MOVGP3.2;将P3.2引脚此时的电平状态。或1存入C中JNCUUU;如果为O就跳转到UUU1.CALLYS3;检测到高电平1的话延时1毫秒等待脉冲高电平结束UUU:MOVA,R1;将R1中地址的给ARRCA;将C中的值。或1移入A中的最低位MoVR1,A;将A中的数Ir时存放在R1数值的内存中DJNZR3,JJJJ;接收满8位换一个内存INCR1;对R1中的值加1,换下一个RAMDJNZR2,PP;接收完8位数据码和8位数据反码,存放
9、在1AH/1BH中M0VA,1AHCPLA;对IAH取反后和IBH比较CJNEABH,EXIT;如果不等表示接收数据发生错误,放弃MOVP1,1AH;将按键的键值通过P1口的8个LED显示出来!CLRP2.5;蜂鸣器鸣响嘀嘀嘀-的声音,表示解码成功1.CALLYS21.CALLYS21.CALLYS2SETBP2.5;蜂鸣器停止EXIT:SETBEA;允许中断RETI;退出解码子程序YS1:MOVR4,#20;延时子程序1,精确延时882微秒D1:M0VR5,#20DJNZR5,$DJNZR4,D1RETYS2:MOVR4,#10涎时子程序2,精确延时4740微秒D2:MOVR5,#235DJ
10、NZR5,$DJNZR4,D2RETYS3:MOVR4,#2;延时程序3,精确延时1000微秒D3:MOVR5,#248DJNZR5,$DJNZR4,D3RETENDOA0111121314151617181910IAIBOE0203IC060405OCOD0809ID00IFIEOB07OF这是按照红外遥控器按键的实际位置给出的32个按键的键值16进制)PT2262/2272是一对带地址、数据编码功能的红外遥控发射/接收芯片。其中发射芯片PT2262-IR将载波振荡器、编码器和发射单元集成于一身,使发射电路变得非常筒洁.876543210-1 1 1 1 1 1 1 1 1123456789
11、J VDDAOC3 DoutAlE2 OSClA2CU OSC2A3C2 TEA4C2 A11D5A5C3 A10D4DOC3 A9D3DlC3 A8D2VssC3 VDD2 VT3 OSCl3 0SC22 DIN2 D5 D4 D3 D2OSCl 0SC2TEDoutPT2262TR内部原理框图地址接收芯片PT2272的数据输出位根据其后缀不同而不同,数据输出具有,暂存”和,锁存”两种方式,方便用户使用。后缀为“M,为喈存型”,后级为F为锁存型”,其数据输出又分为0、2、4、6不同的输出,例如:PT2272M4则表示数据输出为4位的暂存型红外遥控接收芯片。AOCAlCA2CA3CA4CA5C
12、A6D0CA7D1C图 1 PT2262TRPT2272引脚图VssCPT2262IR引脚功能说明:Pinl-Pin6(A0-A5):地址输入端,可编成”0”和“开路”三种状态.Pin7、Pin8、pinlO-Pinl3(A6/D0-A11/D5):地址或数据输入端,地址输入时用Pinl-Pi116,做数据输入时只可编成“1”、“0”两种状态。Pinl4(TE):发射使能端,低电平有效.PinI5、Pinl6(OSCKOSC2):外接振荡电阻,决定振荡的时钟频率。Pinl7(Dout):数据输出端,编码由此脚串行输出。Pin9、Pinl8(Vdd,Vss):电源+,-输入端。PT2272引脚功
13、能说明:Pinl-Pin6(A0-A5):地址输入端,可编成“、”0”和“开路”三种状态。要求与PT2262设定的状态一致。PiII7、Pin8、pinlO-Pinl3(D0-D5):数据输出端,分暂存和锁存两种状态。Pin14(DI):脉冲编码信号输入端。PinI5、Pinl6(OSCKOSC2):外接振荡电阻,决定振荡的时钟频率。Pin17(VT):输出端,接收有效信号时,VT端由低电平变为高电平。Pin9、Pinl8(Vdd,Vss):电源+,-输入端。PT2262/PT2272电气参数参数名称符号工作条件最小值典型值最大值单位工作电压Vdd-3-15V工作电流IDDVdd=12V停振A
14、O-All开路-0.020.03uA输出驱动电流(Dout)IohVdd=5V,Voh=3VVdd=8V,Voh=4VVdd=12V,Voh=6V3610mA输出驱动电流(Dout)IolVdd=5V,Voi=3VVdd=8V,Voi=4VVdd=12V,Vol=6V259mAPT2262/PT2272极限参数参数名称符号极限值单位工作电压Vdd-0.3-+16VV输入电压Vi-03-Vdd+03VV输出电压Vo-0.3-Vdd+0.3VV功耗Pd300(Vdd=12V)mW工作温度Topt-20-+70C存储温度Tmb-40+125rPT2262/PT2272工作原理:PT2262-IR发射
15、芯片地址编码输入有“1”、0”和“开路”三种状态,数据输入有“1”和“0”两种状态。由各地址、数据的不同接脚状态决定,编码从输出端Dout输出,通过红外发射管发射出去.其编码时序波形如图2所示.Dout输出的编码信号是调制在38kHz载波上的,OSChOSC2外接的电阻决定载频频率,一般电阻可在430k470k之间选择即可。位“0”同步头_I 8位4位图2 PT2262-I蹄码时序图图3 PT2262-I啦外发射典型应用电路PT2272的暂存功能是指当发射信号消失时,PT2272的对应数据输出位即变为低电平。而锁存功能是指,当发射信号消失时,PT2272的数据输出端仍保持原来的状态,直到下次接
16、收到新的信号输入。图3是红外发射和接收的典型应用原理图,为了能正确解调出调制的编码信号,接收端需加一级前置放大级,保证输入PT2272的信号幅度足够大。PT2272各输出端通过各种接口即可控制相应的负载。图4是PT2262构成6路发射电路,图中PT2262-IR的VDD是通过按键接通后向芯片供电,这样静态时,PT2262-IR并不耗电,特别适合是电池供电的场合。如果使用电源电压较低(如3V),二极管应选用低压差的型号(如1N60等),工作原理与图3相近,这里不再赘述。状态机的典范HT6222红外遥控芯片接收程序(XWj)程序匠人发表于2006-3-1112:57:00阅读全文|回复(0)|引用
17、通告|缰状态机的典范HT6222红外遥控芯片接收程序xwj发表于2006-3-101:01:00红外线遥控器按健检测程序.通过检测两次下降沿之间的时间差判断接受到的数据位.已经通过了测试,能够正确区分出32bit数据的遥控器按健健值.具有数据重发功能,但是数据的发有点频繁.使用晶震频率为11.0592MHz,所有定时值都是基于这个频率计算.占用很少的CPU时间,使用了外部中断0接受数据,定时器0进行计数,定时器1作为串口的波特率发生器(Band=9600).主函数会使MCU进入低功耗模式,如需加入自己的代码需要屏蔽此功能.状态机:1 .如果时间差=0,由空闲态进入接受态2 .如果时间差1msa
18、ndv1.3ms,收到数据03 .如果时间差2msandv2.5ms,收到数据14 .如果时间差13.2msandv13.8ms,收到开始位5 .如果时间差122msandv12.8ms,收到停止位(没有检测)6 .如果时间定时器溢出(时间差20ms),进入空闲状态/本程序可以说是状态机的典范/叁照了网友高伟能QWnPeter的代码和思路,仅供学习弁考/如有问题请mailtoXUvVeniUn欢迎与我交流!/(c)Copyright2001-2003xuwenjun/AllRightsReserved/V1.00/标就:Ij6222遥控芯片接收程序文件名:ir_6222.c/版本:V1.00/
19、修改人:徐文军E-mail:xuwenjun()/B期:03-06-14/描述:Ij6222遥控芯片接收程序/老版本:无老版本文件名:创建人:徐文军E-mail:xuwenjun()日期:03-06-14/描述:什_6222遥控芯片接收程序/当ykok=1B,ykcode中的数据就是接收到的遥控码(14位的最后8位)/占用以下资源:/1.遥控使用外部中断0,接P3.2口/2.遥控使用定时计数器1/3.5.1字节dataRAM/4.293字节codeROM/声明:/以下代码仅免费提供给学习用途,但引用成修改后必须在文件中声明出处./如用于商业用途请与作者联系.E-mail:xuwenjun/本程
20、序弁照了网友高伟能awnpeter的代码,仅供学习弁考IlH如有问题请mailtoXUWeniUn欢迎与我交流!/#include#include”Ij6222.h/ht6222函数原型:公用函数/#include,xwL4led.h/四位LED显示模块/#includexwj_pcf8566.h/I2C总线LCD8566函数声明/#include/-三-#defineTIME_O_OOMS0x0000#defineTIME100MS0x039a#defineTIME_1_13MS0x0480#defineTIME_2_00MS0x0733#defineTIME_2_50MS0x0900#de
21、fineTIME_13_2MS0x2ecd#defineTIME_20_0MS0x47ff#defineTIME1_L0AD(Oxffff-TIME_20_0MS)bitrunning;longIrbuf;unsignedcharIrdat;bitIrok;voidlrlnit(void)遥控接收初始化(/initTIMElTMOD=0x10;/TMODT0,T1均选用方式1(16位定时)TH1=TIME1_LOAD8;TL1=TIME1_LOAD&Oxff;/SCON=OxOO;IP=0x01;/SETBINTO中断优先TCON=0x41;/TCONEXo下降沿触发,启动T1/TR1=1;I
22、E=0x89;/SETBEXO0x1外部中断O允许/SETBETO0x8定时器1中断允许/SETBEA0x80开中断unsignedcharIrGetcode(void)返回遥控码(Irok=O;return(lrdat);bitIrTest(Void)/检查有无遥控信号(return(lrok);voidintOJsr(void)interruptO遥控使用外部中断0,接P3.2口(unsignedinttimer;TR1=O;timer=(TH18)TL1)-TIME1_L0AD;TH1=TIME1_L0AD8;TL1=TIME1_L0AD&Oxff;TR1=1;if(timerTIME_
23、1_00MS&timerTIME_2_00MS&timerTIME_13_2MS)Irbuf=0x0000;running=1;voidtime1Jsr(void)interrupt3遥控使用定时计数器1(/EA=0;/TR1=0;TH1=TIME1_LOAD8;TL1=TIME1_LOAD&Oxff;/if(Irbuf24)&Oxff)=(-(Irbuf16)&Oxff)&(lrbuf8)&Oxff)=(-(Irbuf0)&Oxff)if(Irbuf8)&Oxff)=(-(Irbuf0)&Oxff)(Irdat=(lrbuf8)&Oxff;Irok=1;/pcf8566_showhh(lrd
24、at);elseif(lrbuf=OxOO&Irok=1)/pcf8566_showhh(lrdat);elseIrok=0;/IEO=O;/EA=1;running=O;*/HT6222测试主函数内容main()(lrlnit();ledjest();/4LED测试函数for(;1;)主程序(if(IrTestO)led_showhh(lrGetcode();led_delay(10);*/本程序由XWj设计的UltraEdit脚本加亮显示,如需要脚本访问我的Blog/或发送邮件至:XWifiIe森本数据 Question1HOItek的TVRemoteICSerieS有那些?其差异在那里?
25、Question1Holtek的TVRemoteICSeries府那些?其差异在那里?AnswerPartNo.Encoder/DecoderVDDAddr.No.Addr./DataNo.KeyNo.PackageHT6221Encoder1.8V3.5V1683220SOPHT6222Encoder1.8V3.5V1686424SOPHT6230Encoder2.4V5.2V569628SOPHT6240-002Encoder2.2V3.6V88322024SOP应用说明 Question1HT6221系列可以搭配36kHz的红外线接收器吗?Question1HT6221系列可以搭配36k
26、Hz的红外线接收吗?Answer可以JHT6221series目前系统ResonatorR9K三*j455kHz可于DOUt送出38kHzcarrier,并搭配38kHz的CL外线接收AL若要搭配36kHz的缸外线接收可更换较低复落频率的Crystal,送出36kHzcarrier即可。注意事项 Question1请问HT6221,HT6222,HT6230,HT6240的对应解碣1C型号为何?Question1请问HT6221,HT6222,HT6230,HT6240的对应解ICJtt号为何?AnswerHT6221,HT6222,HT6230,HT6240为电视遥控码,在功能上与T广受的电
27、视遥控码兼容。由于译码部分密会内建于电视机内。一般是使用MCU作译码,因此并无提供单独的译码芯片。其它Question1HOltek的TVRernOteICSerieS对应COmPatibleIC是那些?Question1Holtek的TVRemoteICSeries对应CompatibleIC是那些?AnswerProductNo.CompatibleHT6221uPD6121HT6222uPD6122HT6230SAA3010HT6240-002M50560这里我们以红外线遥控编码芯片为uPD6121G(或者是HT622、7461等芯片)为例来说明用单片机实现红外遥控解码的详细过程,站长琢
28、磨这个解码程序花了相当多的精力,期间几经修改逐步完善,后来还用它开发了几个小产品,希望能对网友学习单片机有所帮助。红外线遥控是目前使用最广泛的一种通信和遥控手段。由于红外线遥控装置具有体积小、功耗低、功能强、成本低等特点,因而,鲤彩电、录像机之后,在录音机、音响设备、空耨机以及玩具等其它小型电物装It上也给纷采用红外线遥控。工业设备中,在高压、落射、有毒气体、粉尘等环境下,采用缸外线遥控不仅完全可靠而且能有效地隔离电气干扰。1红外遥控系统通用红外遥控系统由发射和接收两大部分组成,应用编/解码专用集成电路芯片来进行控制操作,如图1所示。发射部分包括健盘矩阵、金码调制、LEDfl:外发送后;接收部
29、分包括光、电转换放大器、解调、解码电路。袋研fI编码调制LED遥控发射器-(Al光/电放大卜解调4丽逋控接收需;图1红外遥控系统框图2遥控发射器及其码遥控发射网专用芯片很多,根据编码格式可以分成两大类,这里我以运用比较广泛,解码比较容易的一类来加以说明,现以日本NEC的uPD6121G组成发射电路为例说明编码原理。当发射器按健按下后,即有遥控码发出,所按的他不同遥控金码也不同。这种遥控码具有以下特征:采用脉宽调制的串行码,以脉宽为0.565ms、间隔0.56ms、周期为1.125ms的组合表示二进制的“0”;以脉宽为0.565ms、间隔1.685ms、周期为2.25ms的组合表示二进制的“一,
30、其波形如图2所示。bit rtO0.56ms 54:bit4(S3遥控信号缰码波形图.”=l08mIOm,图4遛控值目的周期性波形UPD6121G产生的遥控箱码是连续的32位二进制码组,其中前16位为用户识别码,能区别不同的电器设备,防止不同机种遥控码互相干扰。该芯片的用户识别码固定为十六进制OlH;后16位为8位操作码(功能码)及其反码。UPD6121G最多额128种不同组合的编码。遥控器在按他按下后,周期性地发出同一种32位二进制码,周期约为108ms。一组码本身的持续时间随它包含的二进制“()”和的个数不同而不同,大约在4563ms之间,图4为发射波形图。当一个健按下超过36ms振藩圈使
31、芯片激活,将发射一组108ms的编码脉冲,这108ms发射代码由一个起始码(9ms),一个结果码(4.5ms),低8位地址码(9ms-18ms).K8位地址码(9ms18ms),8位数据码(9ms18ms)和这8位数据的反码(9ms18ms)组成。如果健按下超过108ms仍未松开,接下来发射的代码(连发代码)将仅由起始码(9ms)和结束码(2.5ms)组成。代码格式(以接收代码为准,接收代玛与发射代码反向)位定义单发代码格式连发代码格式注:代码宽度算法:16位地址码的最短宽度:1.12X16=18ms16位地址码的最长宽度:2.24ms16=36ms易知8位数据代码及其8位反代码的宽度和不变:
32、(1.12ms+2.24ms)8=27ms32位代码的宽度为(18ms+27ms)(36ms+27ms)1 .解码的关健是如何识别P”和T,从位的定义我们可以发现T”均以0.56ms的低电平开始,不同的是高电平的宽度不同J(T为0.56ms,T为1.68ms,所以必须根据高电平的宽度区别“0”和T。如果从0.56ms低电平过后,开始延时,0.56ms以后,若读到的电平为低,说明该位为V,反之则为T:为了可靠起见,延时必须比0.56ms长些,但又不能超过1.12ms,否则如果该位为曾、谈到的已是下一位的高电平,因此取(1.12ms+0.56ms)2=0.84ms最为可靠,一般取0.84ms左右均
33、可。2 .根据码的格式,应该等待9ms的起始码和4.5ms的结果码完成后才能读码。如果郎购我开发的51单片机试改板利扩展元件的网友,可以获得如上图所示的红外遥控手柄,这种遥控器的编码格式符合上面的描述规律,而且价格低廉,有32个按健,按健外形比较统一,如果用于批开发,可以把遥控器上贴膜换成你需要的字符,这为开发产品提供了便利。接收8及解码一体化红外线接收器是一种集红外线接收和放大于一体,不需要任何外接元件,就能完成从机外线接收到输出与TTL电平信号兼容的所有工作,而体积和普通的奥封三极管大小一样,它透合于各种红外线遥控和红外线数据传输。下面是一个对51实验板配套的红外线遥控需的解码程序,它可以
34、把上图32健的SE外遥控圈每一个按健的健值读出来,并且通过实Jft板上Pl口的8个LED显示出来,在解码成功的同时并且能发出“*的提示不。这是站长最新用单片机AT89C51制作的30路红外遥控器遥控器就是官家的VCD遥控IB,接收板用了5片CD4069作为输出f冲隔离,当按下遥控器30个按健中的一个,接收板对应的一个触点会变成高电平,松开按健,立即饮星成低电平,利TTL兼容。红外遥控是目前家用电器中用得较多的遥控方式,其中在车载影音导航系统也被广泛的应用。缸外遥控的特点是不影响周边环境的、不干扰其他电器设备。由于其无法穿透墙发,故不同房间的家用电可使用通用的遥控需而不会产生相互干扰;电路调试简
35、单,只要按给定电路连接无误,一般不需任何调试即可投入工作;解码容易,可进行多路遥控。由于各生产厂家生产了大红外遥控专用集成电路,需要时按图索Sl即可。因此,现在红外遥控在家用电器、近距离(小于10米)遥控中得到了广泛的应用。1 .缸外遥控系统组成红外遥控系统主饕由红外遥控发射装置、红外接收设备、遥控微处理机等组成(见图1)。因此,遥控系统是一涉及单片机的数字系统。2 .红外遥控发射同缸外遥控发射装,也就是通常我们说的缸外遥控器是由健盘电路、红外码电路、电源电路利缸外发射电路组成。红外发射电路的主要元件为机外发光二极管。它实际上是一只特殊的发光二极管;由于其内部材料不同于普通发光二极管,因而在其
36、两端施加一定电压时,它便发出的是红外线而不是可见光。目前大量的使用的红外发光二极管发出的红外线波长为940mm左右,外形与普通5发光二极管相同。通常红外遥控为了提高抗干扰性能和降低电源消耗,机外遥控器常用藏波的方式传送二进制箱码,常用的威波频率为38kHz,这是由发射端所使用的455kHz振来决定的。在发射端要对振进行整数分频,分频系数-Iftffi12,3fW455kHz1237.9kHz38kHzo也有T遥控系统果用36kHz.40kHz.56kHz等,一般由发射端振的振德频率来决定。所以,通常的缸外遥控期是将遥控信号(二进制脉冲码)调制在38KHz的藏波上,经D放大后送至缸外发光二极,转
37、化为红外信号发射出去的。二进制脉冲码的形式有多种,其中最为常用的是PWM码(脉冲宽度调制码)和PPM码(脉冲位调制码,脉冲申之间的时间间隔来实现信号调制)。如果要开发红外接收设备,一定要知道红外遥控部的编码方式和或波频率,我们才可以选取一体化红外接收头和制定解码方案。遥控编码脉冲信号(以PPM码为例)通常包括三大部分,即引导码(起始码)、系统码(即识别码,用户码成设各码)和功能码(健位数据码)。各组成部分与结构情况倚介如下。(1) 引导码,也称引导脉冲,一般由高电平1和低电平。的脉冲组成,二者的宽度之比可为1:1,占9ms时间,也可为2:1,占13.5ms(近度为9ms的高电平和宽度为4.5m
38、s的低电平组成),也可能有其他组成情况。引导码的主要作用类似于穿行通信中的同步脉冲,用来标志遥控码脉冲信号的开始,使遥控接收器能由此刊断出所接收的信号是干扰还是系统的遥控代码。(2) 系统码,也称用户码、识别码、设备码,通常由8位原码利8位反码组成。它用来指示遥控系统的种类,以区别其它遥控系统,防止各遥控系蜕的浜动作。这种码是由生产厂商自行规定的,各厂均有不同,出厂时已经设好,用户难以更改。这是不同遥控器不能通用的主要原因。(3) 功能码,也称健位数据码。它与健盘的健位相对应,由它传送所需要的遥控信息。功能码通常也是由8位原码和8位反码组成。反码的加入是为了能在接收端校对传输过程中是否产生差错
39、。(4) 遥控指令码要经过脉冲调制才能形成最终的发射用码,调制的主要目的是为了降低红外发射管的功率损耗,提高发射效率,防止与削翳日光灯等光源的闪烁干扰。下面以SC6122编码芯片为例介绍一下红外遥控的编码方式。SC6122是一块用于红外遥控系统中的专用发射集成电路,采用CMOS工艺制造。它外接64个安健,其中有三组双重按健。SC6121所发射的一帧码含有一个引导码,16位的用户码和8位的健数据码(功能码),8位健数据反码。下图给出了这一帧码的结构。载波方式使用455KHz晶体,经内部分频电路,fl!号被调制在37.91KHz,占空比为3分之Io调制频率(晶振使用455KHz时)fear=1/T
40、c=fosc/12=38KHzTc-1fosc是晶振频率,占空比=1/3引导码引导码由一个9ms的吸波波形和4.5ms的关断时间构成,它作为随后发射的码的引导。这样,当接收系统是由徼处理网构成的时候,能更有效的处理码的接收与检潴。AAAA|19ms.4.5ms.位定义用户码或数据码中的每一位可以是1,也可以是位0。区分0利1是利用脉冲的时间间隔来区分的(PPM调制方式)。具体的时序见下图。A|人人人人人人人人人人|.0.56ms.II.0.56ms.|I1.125ms1|2.25ms1位0位工按健输出波形SC6122的输出波形如下图所示:当一个健按下时,先读取用户码和数据码,36msJS,遥控
41、输出端启动输出,按他时间只有超过36ms,才能输出一帧码。超过108ms后,才能输出第二幢码。按健输出有两种方式:一种是每次按健都输出完整的一帧数据;另一种是按下相同的按健后每发送完整的一帧数据后,在发送复码,再到按健被松开。3 .红外遥控接收器红外接收设备是由缸外接收电路、红外解码、电源和应用电路组成。缸外遥控接收8的主要作用是将遥控发射8发来的缸外光信好转换成电信号,再放大、限幅、检波、整形,形成遥控指令脉冲,输出至遥控微处理AL其中红外接收电路主要是接收部分的红外接收管是一种光敏二极管(现在常用一体化红外接收头)。在实际应用中要给红外接收二极管加反向偏压,它才能正常工作,亦即红外接收二极
42、管在电路中应用时是反向运用,这样才能获得较高的员敏度。红外发光二极管一般有Bl形利方形两种。由于红外发光二极管的发射功率一般都较小(100mW左右),所以红外接收二极管接收到的信号比较微弱,因此就要增加高增益放大电路。近几年不论是业余制作还是正式产品,大多都采用成品红外接收头。成品红外接收头的封装大致有两种:一种采用铁皮屏敲;一种是JB料封装。均有三只引脚,即电源正(VDD)、电源负(GND)和数据输出(VOUT)。红外接收头的引脚排列因型号不同而不尽相同,可弁考厂家的使用说明。成品红外接收头的优点是不需要复杂的调试和外壳屏敲,使用起来如同一只三极管,非常方便。但在使用时注意成品红外接收头的裁波频率,另外在遥控金码芯片输出的波形,在接收头端收到接收到信号时输出地点片的,也就是说接收头输出的波形正好利遥控芯片输出的相反。4 .遥控微处理器解码程序设计一般有两种方法,定时BI查询法和外部中断触发。在讲红外遥控之前,首先讲一讲什么是红外线。我们知道,人的眼睛能看到的可见广按波长从长到短排列,依次为红、橙、黄、绿、青、蓝、紫。其中红光的波长范Bl为0620.76m;紫光的波长范Bl为0380.46m0比紫光波长还短的光叫紫外线,比红光波长还长