以下是mc30p6060指令集编写的红外解码子程序 接下来该怎么用来编程控制一个led灯亮灭的程序啊
新手完全不懂 求大佬帮助
JBSET R_2MS,0
GOTO RECVING_IR_EXIT
;进入周期64us
RECVING_IR:
JBSET PIN_IR
GOTO IR_LAST_L
IR_LAST_H:
BSET FLG_LAST_IR
;上升沿
IR_ALREAD_H:
JBSET R_TIME_H,7
INCR R_TIME_H
GOTO RECVING_IR_EXIT
IR_LAST_L:
JBSET FLG_LAST_IR
GOTO IR_ALREAD_L
BCLR FLG_LAST_IR
;下降沿
MOVAI 156;10MS
RSUBAR R_TIME_L
JBCLR C
GOTO IR_RESET
MOVAI 125;8MS
RSUBAR R_TIME_L
JBSET C
GOTO REC_DATA ;低电平时间长度小于8ms则接收数据
MOVAI 52
RSUBAR R_TIME_H
JBSET C
GOTO IR_COUNT ;重复码
IR_START:
BSET FLG_IR_HEAT
BCLR FLG_IR_LONG ;长按键
IR_RESET_SAME:
BCLR FLG_IR_OK
CLRR R_IR_CNT
CLRR R_IR_DATA1
CLRR R_IR_DATA2
CLRR R_IR_DATA3
CLRR R_IR_DATA4
IR_CLR_TIME:
CLRR R_TIME_L
CLRR R_TIME_H
GOTO RECVING_IR_EXIT
IR_COUNT:
;BSET FLG_IR_OK
;BSET FLG_IR_LONG ;长按键
;BCLR FLG_IR_HEAT
GOTO IR_CLR_TIME
IR_RESET:
BCLR FLG_IR_HEAT
GOTO IR_CLR_TIME
REC_DATA:
MOVAI 12
RSUBAR R_TIME_L
JBCLR C
GOTO IR_RESET
|