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