红外接收解码原理和源程序

上传人:伴*** 文档编号:243652715 上传时间:2024-09-28 格式:PPT 页数:12 大小:371KB
返回 下载 相关 举报
红外接收解码原理和源程序_第1页
第1页 / 共12页
红外接收解码原理和源程序_第2页
第2页 / 共12页
红外接收解码原理和源程序_第3页
第3页 / 共12页
点击查看更多>>
资源描述
,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,红外线遥控,红外线遥控,红外线遥控是目前使用最广泛的一种通信和遥控手段。由于红外线遥控装置具有体积小、功耗低、功能强、成本低等特点,因而,继彩电、录像机之后,在录音机、音响设备、空凋机以及玩具等其它小型电器装置上也纷纷采用红外线遥控。工业设备中,在高压、辐射、有毒气体、粉尘等环境下,采用红外线遥控不仅完全可靠而且能有效地隔离电气干扰。,1,红外遥控系统,通用红外遥控系统由发射和接收两大部分组成,应用编,/,解码专用集成电路芯片来进行控制操作,如图,1,所示。发射部分包括键盘矩阵、编码调制、,LED,红外发送器;接收部分包括光、电转换放大器、解调、解码电路。,遥控发射器及其编码,遥控发射器专用芯片很多,根据编码格式可以分成两大类,这里我们以运用比较广泛,解码比较容易的一类来加以说明,现以兼容,NEC,的,uPD6121G,芯片发射码格式的芯片组成发射电路为例说明编码原理。当发射器按键按下后,即有遥控码发出,所按的键不同遥控编码也不同。这种遥控码具有以下特征:,采用脉宽调制的串行码,以脉宽为,0.565ms,、间隔,0.56ms,、周期为,1.125ms,的组合表示二进制的“,0”,;以脉宽为,0.565ms,、间隔,1.685ms,、周期为,2.25ms,的组合表示二进制的“,1”,,其波形如图,2,所示。,上述“,0”,和“,1”,组成的,32,位二进制码经,38kHz,的载频进行二次,调制以提高发射效率,达到降低电源功耗的目的。,然后再通过红外发射二极管产生红外线向空间发射,如图。,UPD6121G,产生的遥控编码是连续的,32,位二进制码组,其中前,16,位为用户识别码,能区别不同的电器设备,防止不同机种遥控码互相干扰。芯片厂商把用户识别码固定为十六进制的一组数;后,16,位为,8,位操作码(功能码)及其反码。,UPD6121G,最多额,128,种不同组合的编码。遥控器在按键按下后,周期性地发出同一种,32,位二进制码,周期约为,108ms,。一组码本身的持续时间随它包含的二进制“,0”,和“,1”,的个数不同而不同,大约在,45,63ms,之间,图,4,为发射波形图。当一个键按下超过,36ms,,振荡器使芯片激活,将发射一组,108ms,的编码脉冲,这,108ms,发射代码由一个起始码(,9ms,),一个结果码(,4.5ms,),低,8,位地址码(,9ms18ms,),高,8,位地址码(,9ms18ms,),8,位数据码(,9ms18ms,)和这,8,位数据的反码(,9ms18ms,)组成。如果键按下超过,108ms,仍未松开,接下来发射的代码(连发代码)将仅由起始码(,9ms,)和结束码(,2.5ms,)组成。,接收器及解码,一体化红外线接收器是一种集红外线接收和放大于一体,不需要任何外接元件,就能完成从红外线接收到输出与,TTL,电平信号兼容的所有工作,而体积和普通的塑封三极管大小一样,它适合于各种红外线遥控和红外线数据传输。,图中,3,个引脚从左到右,依次是,1,信号输出,2,地线(,GND,),3,电源 (,+5V,),锐志开发板上红外接收头连接图,注:P3.2接的是外部中断,红外接收头将,38K,载波信号过虑,得到与发射代码反向接收代码,发射端的“,0”,和“,1”,红外解码的关键就是识别,0,和,1,1,解码的关键是如何识别“,0”,和“,1”,,,从位的定义我们可以发现“,0”,、“,1”,均以,0.56ms,的低电平开始,,不同的是高电平的宽度不同,“,0”,为,0.56ms,“1”,为,1.68ms,所以必须根据高电平的宽度,区别“,0”,和“,1”,。如果从,0.56ms,低电平过后,开始延时,,0.56ms,以后,若读到的电平为低,,说明该位为“,0”,,反之则为“,1”,,为了可靠起见,延时必须比,0.56ms,长些,,但又不能超过,1.12ms,否则如果该位为“,0”,,读到的已是下一位的高电平,,因此取(,1.12ms+0.56ms,),/2=0.84ms,最为可靠,一般取,0.84ms,左右均可。,2,根据码的格式,应该等待,9ms,的起始码和,4.5ms,的结果码完成后才能读码。,检测,9MS,的引导码,IT0=1; /,外中断的下降沿触发,void Int0(void) interrupt 0,EX0=0; /,关闭外中断,0,,不再接收二次红外信号的中断,只解码当前红外信号,TH0=0; /,定时器,T0,的高,8,位清,0,TL0=0; /,定时器,T0,的低,8,位清,0,TR0=1; /,开启定时器,T0,while(IR,=0); /,如果是低电平就等待,给引导码低电平计时,TR0=0; /,关闭定时器,T0,LowTime,=TH0*256+TL0; /,保存低电平时间,TH0=0; /,定时器,T0,的高,8,位清,0,TL0=0; /,定时器,T0,的低,8,位清,0,TR0=1; /,开启定时器,T0,while(IR,=1); /,如果是高电平就等待,给引导码高电平计时,TR0=0; /,关闭定时器,T0,HighTime,=TH0*256+TL0;/,保存引导码的高电平长度,if(LowTime,7800)&(LowTime3600)&(HighTime4700),/,如果是引导码,就开始解码,否则放弃,引导码的低电平计时,/,次数,9000us/1.085=8294,判断区间,:8300,500,7800,,,8300,500,8800.,/,如果是引导码,就开始解码,否则放弃,引导码的低电平计时,/,次数,9000us/1.085=8294,判断区间,:8300,500,7800,,,8300,500,8800.,if(DeCode,()=1) /,执行遥控解码功能,bit,DeCode(void,), unsigned char,i,j,;,unsigned char temp; /,储存解码出的数据,for(i,=0;i4;i+) /,连续读取,4,个用户码和键数据码,for(j,=0;j1; /temp,中的各数据位右移一位,因为先读出的是高位数据,TH0=0; /,定时器清,0,TL0=0; /,定时器清,0,TR0=1; /,开启定时器,T0,while(IR,=0) /,如果是低电平就等待,; /,低电平计时,TR0=0; /,关闭定时器,T0,LowTime,=TH0*256+TL0; /,保存低电平宽度,TH0=0; /,定时器清,0,TL0=0; /,定时器清,0,TR0=1; /,开启定时器,T0,while(IR,=1) /,如果是高电平就等待,;,TR0=0; /,关闭定时器,T0,HighTime,=TH0*256+TL0; /,保存高电平宽度,if(LowTime,640),return 0; /,如果低电平长度不在合理范围,则认为出错,停止解码,if(HighTime,420)&(HighTime1300)&(HighTime1800) /,如果高电平时间在,1680,微秒左右,即计数,1680,1.085,1548,次,temp=temp|0x80; /(1550-250=1300,1550+250=1800),则该位是,1,ai,=temp;/,将解码出的字节值储存在,ai,if(a2=a3) /,验证键数据码和其反码是否相等,一般情况下不必验证用户码,return 1; /,解码正确,返回,1,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 小学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!