Beep(2);
break;
case CODE_UNLOCK:
Beep(2);
break;
case CODE_SOUND:
Beep(2);
break;
case CODE_BACK:
Beep(2);
break;
case CODE_FIND:
Beep(2);
break;
default:
break;
}
}
u8 CheckIR(void)
{
u8 temp;
temp = ir_flag ^ 0xff;
temp&= 0x01;
if (temp) // if ir_pass == 0
{
ir_flag &= 0xfe; // clear pass flag
return 0;
}
if ((ir_addr_hig==0xf6) && (ir_addr_low == 0x7c))
{
return 1; // success
}else{
ir_flag = 0; // clear pass flag
return 0; // fail
}
}
//==================================
void _iNTCall interrupt_l(void) @ 0x08:low_int 0
{
_asm{
MOV 0x1f,a
swap 0x1f
swapa 0x03
MOV 0x1e,a
}
}
void _intcall interrupt(void) @ int 0
{
///////////////////////////////////////
// intrrupt counter increase
IntrCnt++;
///////////////////////////////////////
// RF receive
_asm{
int_ir:
jbc %ir_flag,ir_pass
jmp int_ir_end
jbc %ir_flag,ir_receive
jmp code_receive
jbc %ir_flag,ir_lead
jmp code_lead
jbc ir_port,ir_pin // if detect low level
jmp int_ir_end
bs %ir_flag,ir_lead
clr %ir_reg_code
/***********************************************/
code_lead:
jbc ir_port,ir_pin
jmp detect_hig
detect_low:
jz %ir_reg_code
jmp int_ir_end
detect_error:
clr %ir_reg_code // time overflow error
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] 下一页
本文关键字:单片机 无线 程序 义隆单片机,单片机-工控设备 - 义隆单片机