📄 irm.c
字号:
#include "irm.h"
unsigned char irm_code;//红外解码键值返回全局变量
void int2_init(void)
{
EA = 1;
IT2 = 1; //下降沿中断
EX2 = 1;
}
void irm_int(void) interrupt 6
{
unsigned char i,flag;
unsigned int da;
unsigned int temp=0;
EA=0;
temp=0;
da=0;
flag=0;
for(i=0;i<14;i++) {
da=0;
while(!M51_IRM_DQ) {if(++da>300) break;}
if((da>10)&&(da<500)) {
if(da>200) temp++;
else flag ^= 0xff;
if(flag==0) temp<<=1;
}
da=0;
while(M51_IRM_DQ) {if(++da>300) break;}
if((da>10)&&(da<500)) {
if(da>200) temp++;
else flag ^= 0xff;
if(flag==0) temp<<=1;
}
}
irm_code=(unsigned char)(temp&0x00ff);
IE2 = 0;
EA = 1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -