📄 p08008-1.asm
字号:
;
CMLE MODE_MARK,#0001B ;mode4 SUB无效
BR !R_KEY_F_18A
LDM SERIES_ACTION,#3 ;开启连续按键功能
LDM SERIES_C,#11 ;设定1秒连续按键起始延时
LDM SERIES_R,#0
SERIES_RKEY_F_5:
CALL !ADD_SUB
;7月26日加得功能,封锁音量极限,不给予动作
CMNE VOL_FULL,#0
BR !R_KEY_F_18A
;
LDM SRSAI_ACTION,#7
LDM SRSAI_FLOW,#0
LDM LEDAI_ACTION,#2
R_KEY_F_18A:
RET
R_KEY_F_19:
CMNE R_KEY_STATUS1,#4 ;SUB VOL-
BR !R_KEY_F_20
CMNE R_KEY_STATUS2,#1
BR !R_KEY_F_20
;11月12日加,静音下安音量控制就取消MUTE
TM STATUS_MARK.#2
BR !R_KEY_F_12C
;
CMLE MODE_MARK,#0001B ;mode4 SUB无效
BR !R_KEY_F_19A
LDM SERIES_ACTION,#4 ;开启连续按键功能
LDM SERIES_C,#11 ;设定1秒连续按键起始延时
LDM SERIES_R,#0
SERIES_RKEY_F_6:
CALL !SUB_SUB
;7月26日加得功能,封锁音量极限,不给予动作
CMNE VOL_FULL,#0
BR !R_KEY_F_19A
;
LDM SRSAI_ACTION,#7
LDM SRSAI_FLOW,#0
LDM LEDAI_ACTION,#2
R_KEY_F_19A:
RET
R_KEY_F_20:
CMNE R_KEY_STATUS1,#5 ;FRONT VOL+
BR !R_KEY_F_21
CMNE R_KEY_STATUS2,#1
BR !R_KEY_F_21
;11月12日加,静音下安音量控制就取消MUTE
TM STATUS_MARK.#2
BR !R_KEY_F_12C
;
LDM SERIES_ACTION,#5 ;开启连续按键功能
LDM SERIES_C,#11 ;设定1秒连续按键起始延时
LDM SERIES_R,#0
SERIES_RKEY_F_7:
CALL !ADD_FRONT
;7月26日加得功能,封锁音量极限,不给予动作
CMNE VOL_FULL,#0
BR !R_KEY_F_19A
;
LDM SRSAI_ACTION,#7
LDM SRSAI_FLOW,#0
LDM LEDAI_ACTION,#2
RET
R_KEY_F_21:
CMNE R_KEY_STATUS1,#6 ;FRONT VOL-
BR !START
CMNE R_KEY_STATUS2,#1
BR !START
;11月12日加,静音下安音量控制就取消MUTE
TM STATUS_MARK.#2
BR !R_KEY_F_12C
;
LDM SERIES_ACTION,#6 ;开启连续按键功能
LDM SERIES_C,#11 ;设定1秒连续按键起始延时
LDM SERIES_R,#0
SERIES_RKEY_F_8:
CALL !SUB_FRONT
;7月26日加得功能,封锁音量极限,不给予动作
CMNE VOL_FULL,#0
BR !R_KEY_F_19A
;
LDM SRSAI_ACTION,#7
LDM SRSAI_FLOW,#0
LDM LEDAI_ACTION,#2
RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
SERIES_RKEY_F:
CMNE SERIES_ACTION,#0000B
BR !SERIES_RKEY_F_1
RET
SERIES_RKEY_F_1:
CMNE SERIES_R,#15 ;红外信号刚接收完
BR !SERIES_RKEY_F_X
LDM SERIES_R,#0
CLRC
ADDC SERIES_C,#1
LDM SERIES_C,A
TSTC
BR !SERIES_RKEY_F_2
SERIES_RKEY_F_X:
RET
SERIES_RKEY_F_2:
LDM SERIES_C,#14
;
CMLE SERIES_ACTION,#1
BR !SERIES_RKEY_F_3
CMLE SERIES_ACTION,#2
BR !SERIES_RKEY_F_4
CMLE SERIES_ACTION,#3
BR !SERIES_RKEY_F_5
CMLE SERIES_ACTION,#4
BR !SERIES_RKEY_F_6
CMLE SERIES_ACTION,#5
BR !SERIES_RKEY_F_7
CMLE SERIES_ACTION,#6
BR !SERIES_RKEY_F_8
BR !START
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
REMOTE_F:
LDM SAVE_A,A
LRI IRQR,#0000B
LRI IENR,#0100B
LDM R_MARK_1,#15
LDM R_MARK_2,#14
LRI T0D0L,#0 ;准备8.5MS的低电平扫描
LRI T0D0H,#8
LRI T0D1L,#10
LRI T0D1H,#7
LRI T0MR,#1110B
EI
WDTC
REMOTE_S:
LDM TIME0_MARK,#0000B
;FUNCTION
CALL !R_KEY_SET
CALL !ESD
;FUNCTION
REMOTE_S_1:
TSTR PBDR.#0
BR !REMOTE_RET
CMNE TIME0_MARK,#1111B
BR !REMOTE_S_1
CLRC
ADDC R_MARK_1,#1
LDM R_MARK_1,A
ADDC R_MARK_2,#0
LDM R_MARK_2,A
TSTC
BR !REMOTE_S_2
BR !REMOTE_S
REMOTE_S_2:
CALL !WAIT_H
CMLE R_MARK_1,#0 ;如果超时溢出,终止接收程序
BR !REMOTE_RET
LRI T0MR,#0010B ;准备4MS的低电平扫描
LRI T0D0L,#0
LRI T0D0H,#8
LRI T0D1L,#10
LRI T0D1H,#7
LRI T0MR,#1110B
LDM R_MARK_1,#8
REMOTE_S_3:
LDM TIME0_MARK,#0000B
;FUNCTION
CALL !R_KEY_SET
CALL !ESD
;FUNCTION
REMOTE_S_4:
TSTR PBDR.#0
BR !REMOTE_S_5
;判断重复码
CMLE R_MARK_1,#11
BR !REMOTE_RET
CMLE R_MARK_1,#13
BR !REPEAT_CODE
BR !REMOTE_RET
;
REMOTE_S_5:
CMNE TIME0_MARK,#1111B
BR !REMOTE_S_4
CLRC
ADDC R_MARK_1,#1
LDM R_MARK_1,A
TSTC
BR !REMOTE_S_6
BR !REMOTE_S_3
REMOTE_S_6:
CALL !WAIT_L
CMLE R_MARK_1,#0 ;如果超时溢出,终止接收程序
BR !REMOTE_RET
LDM R_DATA_1,#0
LDM R_DATA_2,#0
LDM R_DATA_3,#0
LDM R_DATA_4,#0
LDM R_DATA_5,#0
LDM R_DATA_6,#0
LDM R_DATA_7,#0
LDM R_DATA_8,#0
;;;;;;;;;;
CALL !DATA_RECEIVE
CMLE R_MARK_1,#0
BR !REMOTE_RET
LDA R_DATA
LDM R_DATA_8,A
CALL !DATA_RECEIVE
CMLE R_MARK_1,#0
BR !REMOTE_RET
LDA R_DATA
LDM R_DATA_7,A
CALL !DATA_RECEIVE
CMLE R_MARK_1,#0
BR !REMOTE_RET
LDA R_DATA
LDM R_DATA_6,A
CALL !DATA_RECEIVE
CMLE R_MARK_1,#0
BR !REMOTE_RET
LDA R_DATA
LDM R_DATA_5,A
CALL !DATA_RECEIVE
CMLE R_MARK_1,#0
BR !REMOTE_RET
LDA R_DATA
LDM R_DATA_4,A
CALL !DATA_RECEIVE
CMLE R_MARK_1,#0
BR !REMOTE_RET
LDA R_DATA
LDM R_DATA_3,A
CALL !DATA_RECEIVE
CMLE R_MARK_1,#0
BR !REMOTE_RET
LDA R_DATA
LDM R_DATA_2,A
CALL !DATA_RECEIVE
CMLE R_MARK_1,#0
BR !REMOTE_RET
LDA R_DATA
LDM R_DATA_1,A
;;;;;;;;;;
LRI T0MR,#0010B ;准备做最后一次1ms扫描,必须有上升电平
LRI T0D0L,#15
LRI T0D0H,#15
LRI T0D1L,#15
LRI T0D1H,#15
LRI T0MR,#1110B
LDM R_MARK_1,#0
LDM TIME0_MARK,#0000B
;FUNCTION
REPEAT_CODE_1:
LDA #1111B
XOR R_DATA_8
CANE R_DATA_6
BR !REMOTE_RET
LDA #1111B
XOR R_DATA_7
CANE R_DATA_5
BR !REMOTE_RET
LDA #1111B
XOR R_DATA_4
CANE R_DATA_2
BR !REMOTE_RET
LDA #1111B
XOR R_DATA_3
CANE R_DATA_1
BR !REMOTE_RET
;客户码确认
CMNE R_DATA_8,#8
BR !REMOTE_RET
CMNE R_DATA_7,#0
BR !REMOTE_RET
;
CMNE R_DATA_4,#0DH
BR !REMOTE_A
CMNE R_DATA_3,#0
BR !REMOTE_A
LDM R_KEY_OUT1,#1 ;POWER ON/OFF
LDM R_KEY_OUT2,#0
BR !REMOTE_Z
REMOTE_A:
CMNE R_DATA_4,#8
BR !REMOTE_B
CMNE R_DATA_3,#2
BR !REMOTE_B
LDM R_KEY_OUT1,#2 ;INPUT1
LDM R_KEY_OUT2,#0
BR !REMOTE_Z
REMOTE_B:
CMNE R_DATA_4,#8
BR !REMOTE_C
CMNE R_DATA_3,#0
BR !REMOTE_C
LDM R_KEY_OUT1,#3 ;INPUT2
LDM R_KEY_OUT2,#0
BR !REMOTE_Z
REMOTE_C:
CMNE R_DATA_4,#4
BR !REMOTE_D
CMNE R_DATA_3,#0
BR !REMOTE_D
LDM R_KEY_OUT1,#4 ;INPUT3
LDM R_KEY_OUT2,#0
BR !REMOTE_Z
REMOTE_D:
CMNE R_DATA_4,#0CH
BR !REMOTE_E
CMNE R_DATA_3,#0
BR !REMOTE_E
LDM R_KEY_OUT1,#5 ;INPUT4
LDM R_KEY_OUT2,#0
BR !REMOTE_Z
REMOTE_E:
CMNE R_DATA_4,#5
BR !REMOTE_G
CMNE R_DATA_3,#2
BR !REMOTE_G
LDM R_KEY_OUT1,#6 ;MODE1
LDM R_KEY_OUT2,#0
BR !REMOTE_Z
REMOTE_G:
CMNE R_DATA_4,#2
BR !REMOTE_H
CMNE R_DATA_3,#0
BR !REMOTE_H
LDM R_KEY_OUT1,#7 ;MODE2
LDM R_KEY_OUT2,#0
BR !REMOTE_Z
REMOTE_H:
CMNE R_DATA_4,#0AH
BR !REMOTE_I
CMNE R_DATA_3,#0
BR !REMOTE_I
LDM R_KEY_OUT1,#8 ;MODE3
LDM R_KEY_OUT2,#0
BR !REMOTE_Z
REMOTE_I:
CMNE R_DATA_4,#6
BR !REMOTE_J
CMNE R_DATA_3,#0
BR !REMOTE_J
LDM R_KEY_OUT1,#0 ;MODE4
LDM R_KEY_OUT2,#1
BR !REMOTE_Z
REMOTE_J:
CMNE R_DATA_4,#9
BR !REMOTE_K
CMNE R_DATA_3,#0
BR !REMOTE_K
LDM R_KEY_OUT1,#1 ;MAIN VOL+
LDM R_KEY_OUT2,#1
LDM SERIES_R,#15
BR !REMOTE_Z
REMOTE_K:
CMNE R_DATA_4,#0CH
BR !REMOTE_L
CMNE R_DATA_3,#0AH
BR !REMOTE_L
LDM R_KEY_OUT1,#2 ;MAIN VOL-
LDM R_KEY_OUT2,#1
LDM SERIES_R,#15
BR !REMOTE_Z
REMOTE_L:
CMNE R_DATA_4,#1
BR !REMOTE_M
CMNE R_DATA_3,#0
BR !REMOTE_M
LDM R_KEY_OUT1,#3 ;SUB VOL+
LDM R_KEY_OUT2,#1
LDM SERIES_R,#15
BR !REMOTE_Z
REMOTE_M:
CMNE R_DATA_4,#0BH
BR !REMOTE_N
CMNE R_DATA_3,#8
BR !REMOTE_N
LDM R_KEY_OUT1,#4 ;SUB VOL-
LDM R_KEY_OUT2,#1
LDM SERIES_R,#15
BR !REMOTE_Z
REMOTE_N:
CMNE R_DATA_4,#2
BR !REMOTE_O
CMNE R_DATA_3,#8
BR !REMOTE_O
LDM R_KEY_OUT1,#5 ;FRONT VOL+
LDM R_KEY_OUT2,#1
LDM SERIES_R,#15
BR !REMOTE_Z
REMOTE_O:
CMNE R_DATA_4,#0FH
BR !REMOTE_P
CMNE R_DATA_3,#8
BR !REMOTE_P
LDM R_KEY_OUT1,#6 ;FRONT VOL-
LDM R_KEY_OUT2,#1
LDM SERIES_R,#15
BR !REMOTE_Z
REMOTE_P:
CMNE R_DATA_4,#0
BR !REMOTE_Q
CMNE R_DATA_3,#0
BR !REMOTE_Q
LDM R_KEY_OUT1,#7 ;MUTE
LDM R_KEY_OUT2,#1
BR !REMOTE_Z
REMOTE_Q:
CMNE R_DATA_4,#0EH
BR !REMOTE_R
CMNE R_DATA_3,#0
BR !REMOTE_R
LDM R_KEY_OUT1,#8 ;POP
LDM R_KEY_OUT2,#1
BR !REMOTE_Z
REMOTE_R:
CMNE R_DATA_4,#8
BR !REMOTE_T
CMNE R_DATA_3,#0AH
BR !REMOTE_T
LDM R_KEY_OUT1,#0 ;开关EQ
LDM R_KEY_OUT2,#2
BR !REMOTE_Z
REMOTE_T:
CMNE R_DATA_4,#3
BR !REMOTE_U
CMNE R_DATA_3,#8
BR !REMOTE_U
LDM R_KEY_OUT1,#1 ;CLASS
LDM R_KEY_OUT2,#2
BR !REMOTE_Z
REMOTE_U:
CMNE R_DATA_4,#0AH
BR !REMOTE_V
CMNE R_DATA_3,#8
BR !REMOTE_V
LDM R_KEY_OUT1,#2 ;JASS
LDM R_KEY_OUT2,#2
BR !REMOTE_Z
REMOTE_V:
CMNE R_DATA_4,#4
BR !REMOTE_Z
CMNE R_DATA_3,#0AH
BR !REMOTE_Z
LDM R_KEY_OUT1,#3 ;ROCK
LDM R_KEY_OUT2,#2
BR !REMOTE_Z
REMOTE_Z:
;
CALL !R_KEY_SET
CALL !ESD
;FUNCTION
REMOTE_S_7:
TSTR PBDR.#0
BR !REMOTE_RET1
CMNE TIME0_MARK,#1111B
BR !REMOTE_S_7
REMOTE_RET:
CMNE TIME0_MARK,#1111B ;等定时器溢出才能退出收码程序,确保时间完整
BR !REMOTE_RET
LDM R_DATA_1,#0
LDM R_DATA_2,#0
LDM R_DATA_3,#0
LDM R_DATA_4,#0
LDM R_DATA_5,#0
LDM R_DATA_6,#0
LDM R_DATA_7,#0
LDM R_DATA_8,#0
REMOTE_RET1:
DI
LDA SAVE_A
LRI IRQR,#0000B
LRI IENR,#1001B
LRI T0MR,#0010B
LRI T1MR,#1110B
RETI
REPEAT_CODE:
;;;;;;;;;;
LRI T0MR,#0010B ;准备做最后一次1ms扫描,必须有上升电平
LRI T0D0L,#15
LRI T0D0H,#15
LRI T0D1L,#15
LRI T0D1H,#15
LRI T0MR,#1110B
LDM R_MARK_1,#0
LDM TIME0_MARK,#0000B
BR !REPEAT_CODE_1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
LED_F:
TM STATUS_MARK.#3
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -