光电信息协会电子设计竞赛 钟培文小组
} }
void Ircordpro(void) //红外码值处理函数 { uchar i, j, k; uchar cord,value; k=1;
for(i=0;i<4;i++) //处理4个字节 {
for(j=1;j<=8;j++) //处理1个字节8位 {
cord=irdata[k]; if(cord>7) value|=0x80; if(j<8) {
value>>=1; }
k++; }
IRcord[i]=value; value=0; }
irpro_ok=1;//处理完毕标志位置1 }
void Ir_work(void)//红外键值散转程序 {
switch(IRcord[2])//判断第三个数码值 {
case 0x0c:key=1;break;//1 返回相应的按键值 case 0x18:key=2;break;//2 case 0x5e:key=3;break;//3
33
光电信息协会电子设计竞赛 钟培文小组
case 0x08:key=4;break;//4 case 0x1c:key=5;break;//5 default:break; }
irpro_ok=0;//处理完成标志 }
void beep() {
if(run_flag) { beep_on=1; beep_time=0; } }
//蜂鸣器
34
光电信息协会电子设计竞赛 钟培文小组
附录2:实物照片
35
光电信息协会电子设计竞赛 钟培文小组
36