微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 红外解码程序

红外解码程序

时间:10-02 整理:3721RD 点击:
void IR_IN() interrupt 0 using 0 //外部中断INT0函数
{unsigned char j,k,n=0;        EX0=0;        //暂时先关中断
delay(20);                                    //延时0.10ms*20=2ms
if(IRIN==1)         //如果IRIN出现高电平,是干扰信号
{EX0=1;            // 允许外部中断INT0中断
return;      //返回                 
}
......
为什么一开始要判断2ms。2ms是争对什么设置的,为什么?

检测引导码,如果超过了2ms还能检测到低电平,就说明检测到了引导码,可以进行解码操作!

检测的引导码有9ms低电平和4.5ms高电平。那可以将2ms增加到小于9ms的吗?

用来判断是否存在干扰信号,最后返回一个信号来表明

我之前做这个解码的时候,把延时定在了8ms,我认为延时时间应该大于4.5ms但一定要小于9ms。这样解码正确率会高一点!

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top