USER1 DB ? ;用户识别码高8位,原始数据
USER2 DB ? ;用户识别码低8位,原始数据
POWER_DATA DB ? ;POWER键数据码,原始数据
COPY_DATA DB ? ;COPY键数据码,原始数据
COU122 DB ? ;静音廷时用
COU8 DB ? ;电源接通廷时用,8个周期约为64mS
BUF1 DB ? ;中断数据临时存储
BUF2 DB ? ;中断数据临时存储
R2 DB ?
R3 DB ?
R6 DB ?
R7 DB ?
NOP
NOP
JMP 00H ;陷阱
IR_ERROR: ;错误处理
JMP MAIN ;退出解码子程序
NOP
NOP
JMP 00H ;陷阱
;===========================================================
IR_DONE:
;这里还要判断系统码或用户码,用于识别不同的遥控器
MOV A,ADD1
SUB A,USER1
SZ ACC
JMP IR_ERROR ;用户码1不对则退出
MOV A,ADD2
SUB A,USER2
SZ ACC
JMP IR_ERROR ;用户码2不对则退出
;判断两个数据码是否相反
CPLA DATA1
SUB A,DATA2
SZ ACC
JMP IR_ERROR ;两个数据码不相反则退出
;遥控执行部份
SET TMRC.4 ;起动定时器,供静音与电源转换时定时用
MOV A,DATA1
SUB A,POWER_DATA
SZ ACC
JMP ROMT1
SZ POWER ;POWER键有按下则将POWER标志取反
JMP ROMT00 ;
SET POWER ;
JMP ROMT01 ;
ROMT00:CLR POWER ;
ROMT01:
SNZ POWER
JMP ROMT71 ;关机则跳到ROMT8
;JNB POWER,ROMT8 ;关机则跳到ROMT8
CLR LED ;点亮LED
;关USB状态
CLR COPY
CLR POWER_USB
;开播放器
SET MCUSP ;静音
MOV A,255 ;置静音初值,可廷时4S左右
MOV COU122,A
SET MUTE ;静音状态位置1
MOV A,8
MOV COU8,A
SET COU ;打开计数开关
CLR POWER_HDD
CLR POWER_USB
JMP ROMT12 ;然后跳到ROMT12