📄 p08008-1.asm
字号:
BR !LED_F_1
LDM LED_DATA4,#0000B
LDM LED_DATA3,#0000B
LDM LED_DATA2,#0000B
LDM LED_DATA1,#0100B
CALL !LED_SCAN
RET
LED_F_1:
LDM LED_DATA4,#0
CMNE CHANNEL_MARK,#1000B
BR !LED_F_1_1A
SET1 LED_DATA4.#3
BR !LED_F_1_1Z
LED_F_1_1A:
CMNE CHANNEL_MARK,#0100B
BR !LED_F_1_1B
SET1 LED_DATA4.#2
BR !LED_F_1_1Z
LED_F_1_1B:
CMNE CHANNEL_MARK,#0010B
BR !LED_F_1_1C
SET1 LED_DATA4.#1
BR !LED_F_1_1Z
LED_F_1_1C:
SET1 LED_DATA4.#0
LED_F_1_1Z:
;
LDM LED_DATA3,#0
LDM LED_DATA2,#0
CMNE MODE_MARK,#1000B
BR !LED_F_1A
SET1 LED_DATA3.#1
BR !LED_F_1Z
LED_F_1A:
CMNE MODE_MARK,#0100B
BR !LED_F_1B
SET1 LED_DATA3.#3
BR !LED_F_1Z
LED_F_1B:
CMNE MODE_MARK,#0010B
BR !LED_F_1C
SET1 LED_DATA2.#0
BR !LED_F_1Z
LED_F_1C:
SET1 LED_DATA2.#3
LED_F_1Z:
;
TM STATUS_MARK.#1
BR !LED_F_2
BR !LED_F_3
LED_F_2:
CMNE EQ_MARK,#1000B
BR !LED_F_2A
SET1 LED_DATA3.#2
BR !LED_F_3
LED_F_2A:
CMNE EQ_MARK,#0100B
BR !LED_F_2B
SET1 LED_DATA2.#2
BR !LED_F_3
LED_F_2B:
CMNE EQ_MARK,#0010B
BR !LED_F_2C
SET1 LED_DATA3.#0
BR !LED_F_3
LED_F_2C:
SET1 LED_DATA2.#1
LED_F_3:
;
CMLE LEDAI_ACTION,#1
BR !LED_F_3A
BR !LED_F_6
LED_F_3A:
TM STATUS_MARK.#2
BR !LED_F_4
LDM LED_DATA1,#1000B
BR !LED_F_5
LED_F_4:
LDM LED_DATA1,#1100B
LED_F_5:
LDM LEDAI_C1,#0
LDM LEDAI_C2,#0
CALL !LED_SCAN
RET
LED_F_6:
CLRC
ADDC LEDAI_C1,#1
LDM LEDAI_C1,A
ADDC LEDAI_C2,#0
LDM LEDAI_C2,A
CMNE LEDAI_C1,#4
BR !LED_F_7
CMNE LEDAI_C2,#2
BR !LED_F_7
LDM LEDAI_ACTION,#0
BR !LED_F_3
LED_F_7:
LDM LED_DATA1,#0000B
CALL !LED_SCAN
RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;SECOND LAYER
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
SOUND_UP:
LDA VOL_DATA4 ;比较音量是否已经一样
CANE VOL_DATA_L
BR !SOUND_UP_1
LDA VOL_DATA2
CANE VOL_DATA_H
BR !SOUND_UP_1
BR !SOUND_UP_2
SOUND_UP_1:
CLRC
SUBC VOL_DATA4,#1
LDM VOL_DATA4,A
CMLE VOL_DATA4,#8
BR !SOUND_UP_3
LDM VOL_DATA4,#9
CLRC
SUBC VOL_DATA2,#1
LDM VOL_DATA2,A
CMLE VOL_DATA2,#6
BR !SOUND_UP_3
BR !START
SOUND_UP_2:
LDM VOL_DATA1,#1101B ;调整总音量
LDM VOL_DATA3,#1110B
CALL !VOL_I2C
CLRC
ADDC SRSAI_FLOW,#1
LDM SRSAI_FLOW,A
RET
SOUND_UP_3:
LDM VOL_DATA1,#1101B ;调整总音量
LDM VOL_DATA3,#1110B
CALL !VOL_I2C
RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
SOUND_DOWN:
CMNE VOL_DATA2,#0111B ;比较音量是否最小
BR !SOUND_DOWN_1
CMNE VOL_DATA4,#1001B
BR !SOUND_DOWN_1
BR !SOUND_DOWN_2
SOUND_DOWN_1:
CLRC
ADDC VOL_DATA4,#1
LDM VOL_DATA4,A
CMLE VOL_DATA4,#9
BR !SOUND_DOWN_3
LDM VOL_DATA4,#0
ADDC VOL_DATA2,#1
LDM VOL_DATA2,A
CMLE VOL_DATA2,7
BR !SOUND_DOWN_3
BR !START
SOUND_DOWN_2:
LDM VOL_DATA1,#1101B ;调整总音量
LDM VOL_DATA3,#1110B
CALL !VOL_I2C
CLRC
ADDC SRSAI_FLOW,#1
LDM SRSAI_FLOW,A
RET
SOUND_DOWN_3:
LDM VOL_DATA1,#1101B ;调整总音量
LDM VOL_DATA3,#1110B
CALL !VOL_I2C
RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
DATA_RECEIVE:
LDM R_DATA,#0
CALL !WAIT_H
CMLE R_MARK_1,#0
BR !DATA_RECEIVE_R
CALL !WAIT_L
CMNE R_MARK_1,#0
BR !DATA_RECEIVE_1
SET1 R_DATA.#3
CALL !R_KEY_SET ;补
CALL !WAIT_L
CMLE R_MARK_1,#0
BR !DATA_RECEIVE_R
DATA_RECEIVE_1:
CALL !WAIT_H
CMLE R_MARK_1,#0
BR !DATA_RECEIVE_R
CALL !WAIT_L
CMNE R_MARK_1,#0
BR !DATA_RECEIVE_2
SET1 R_DATA.#2
CALL !R_KEY_SET ;补
CALL !WAIT_L
CMLE R_MARK_1,#0
BR !DATA_RECEIVE_R
DATA_RECEIVE_2:
CALL !WAIT_H
CMLE R_MARK_1,#0
BR !DATA_RECEIVE_R
CALL !WAIT_L
CMNE R_MARK_1,#0
BR !DATA_RECEIVE_3
SET1 R_DATA.#1
CALL !R_KEY_SET ;补
CALL !WAIT_L
CMLE R_MARK_1,#0
BR !DATA_RECEIVE_R
DATA_RECEIVE_3:
CALL !WAIT_H
CMLE R_MARK_1,#0
BR !DATA_RECEIVE_R
CALL !WAIT_L
CMNE R_MARK_1,#0
BR !DATA_RECEIVE_4
SET1 R_DATA.#0
CALL !R_KEY_SET ;补
CALL !WAIT_L
CMLE R_MARK_1,#0
BR !DATA_RECEIVE_R
DATA_RECEIVE_4:
LDM R_MARK_1,#1111B
DATA_RECEIVE_R:
RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
VOL_I2C:
LRI R1DR,#1011B ;SCL(R13)高电平期间,SDA(R12)由高电平变低电平,开始I2C数据传输
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
LRI R1DR,#0011B ;SCL(R13)为低电平,主控制器等待
NOP
NOP
NOP
NOP
NOP
NOP
LDA #1000B
LDM VOL_I2C_IN1,A
LDA #1000B
LDM VOL_I2C_IN2,A
CALL !VOL_I2C_E
;
LDA VOL_DATA1
LDM VOL_I2C_IN1,A
LDA VOL_DATA2
LDM VOL_I2C_IN2,A
CALL !VOL_I2C_E
LDA VOL_DATA3
LDM VOL_I2C_IN1,A
LDA VOL_DATA4
LDM VOL_I2C_IN2,A
CALL !VOL_I2C_E
NOP
NOP
NOP
NOP
NOP
NOP
NOP
LRI R1DR,#1011B ;SCL(R13)高电平期间,SDA(R12)由低电平变高电平,停止I2C数据传输
NOP
NOP
NOP
NOP
NOP
NOP
LRI R1DR,#1111B
RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
VOL1_I2C:
LRI R1DR,#1011B
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
LRI R1DR,#0011B
NOP
NOP
NOP
NOP
NOP
NOP
LDA #1000B
LDM VOL_I2C_IN1,A
LDA #1000B
LDM VOL_I2C_IN2,A
CALL !VOL_I2C_E
;
LDA VOL_DATA1
LDM VOL_I2C_IN1,A
LDA VOL_DATA3
LDM VOL_I2C_IN2,A
CALL !VOL_I2C_E
NOP
NOP
NOP
NOP
NOP
NOP
NOP
LRI R1DR,#1011B
NOP
NOP
NOP
NOP
NOP
NOP
LRI R1DR,#1111B
RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
SRS_I2C_ALL:
LRI R1DR,#1110B
NOP
LRI R1DR,#1100B
LDA SRS_DATA1
LDM SRS_I2C_IN1,A
LDA SRS_DATA2
LDM SRS_I2C_IN2,A
CALL !SRS_I2C_E
LDA SRS_DATA3
LDM SRS_I2C_IN1,A
LDA SRS_DATA4
LDM SRS_I2C_IN2,A
CALL !SRS_I2C_E
LDA SRS_DATA5
LDM SRS_I2C_IN1,A
LDA SRS_DATA6
LDM SRS_I2C_IN2,A
CALL !SRS_I2C_E
LDA SRS_DATA7
LDM SRS_I2C_IN1,A
LDA SRS_DATA8
LDM SRS_I2C_IN2,A
CALL !SRS_I2C_E
LDA SRS_DATA9
LDM SRS_I2C_IN1,A
LDA SRS_DATA10
LDM SRS_I2C_IN2,A
CALL !SRS_I2C_E
LDA SRS_DATA11
LDM SRS_I2C_IN1,A
LDA SRS_DATA12
LDM SRS_I2C_IN2,A
CALL !SRS_I2C_E
LDA SRS_DATA13
LDM SRS_I2C_IN1,A
LDA SRS_DATA14
LDM SRS_I2C_IN2,A
CALL !SRS_I2C_E
LDA SRS_DATA15
LDM SRS_I2C_IN1,A
LDA SRS_DATA16
LDM SRS_I2C_IN2,A
CALL !SRS_I2C_E
LDA SRS_DATA17
LDM SRS_I2C_IN1,A
LDA SRS_DATA18
LDM SRS_I2C_IN2,A
CALL !SRS_I2C_E
LDA SRS_DATA19
LDM SRS_I2C_IN1,A
LDA SRS_DATA20
LDM SRS_I2C_IN2,A
CALL !SRS_I2C_E
LDA SRS_DATA21
LDM SRS_I2C_IN1,A
LDA SRS_DATA22
LDM SRS_I2C_IN2,A
CALL !SRS_I2C_E
LDA SRS_DATA23
LDM SRS_I2C_IN1,A
LDA SRS_DATA24
LDM SRS_I2C_IN2,A
CALL !SRS_I2C_E
LDA SRS_DATA25
LDM SRS_I2C_IN1,A
LDA SRS_DATA26
LDM SRS_I2C_IN2,A
CALL !SRS_I2C_E
LDA SRS_DATA27
LDM SRS_I2C_IN1,A
LDA SRS_DATA28
LDM SRS_I2C_IN2,A
CALL !SRS_I2C_E
LDA SRS_DATA29
LDM SRS_I2C_IN1,A
LDA SRS_DATA30
LDM SRS_I2C_IN2,A
CALL !SRS_I2C_E
LDA SRS_DATA31
LDM SRS_I2C_IN1,A
LDA SRS_DATA32
LDM SRS_I2C_IN2,A
CALL !SRS_I2C_E
LDA SRS_DATA33
LDM SRS_I2C_IN1,A
LDA SRS_DATA34
LDM SRS_I2C_IN2,A
CALL !SRS_I2C_E
LDA SRS_DATA35
LDM SRS_I2C_IN1,A
LDA SRS_DATA36
LDM SRS_I2C_IN2,A
CALL !SRS_I2C_E
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
LRI R1DR,#1110B
NOP
LRI R1DR,#1111B
RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
RADIO_I2C_READ:
LRI PBOD,#1000B
LRI PBDD,#1000B ;0输入,1输出PB2设为输入
LRI PBDR,#1111B
NOP
NOP
NOP
LRI PBDR,#1011B
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
LRI PBDR,#0011B
NOP
NOP
NOP
NOP
NOP
NOP
LDA #0010B
LDM RADIO_I2C_IN1,A
LDA #0001B ;最低位1为读方式
LDM RADIO_I2C_IN2,A
CALL !RADIO_I2C_E_WRITE
;
CALL !RADIO_I2C_E_READ
LDA RADIO_I2C_IN1
LDM RADIO_DATA00H1,A
LDA RADIO_I2C_IN2
LDM RADIO_DATA00H2,A
CALL !RADIO_I2C_E_READ
LDA RADIO_I2C_IN1
LDM RADIO_DATA00H3,A
LDA RADIO_I2C_IN2
LDM RADIO_DATA00H4,A
CALL !RADIO_I2C_E_READ
LDA RADIO_I2C_IN1
LDM RADIO_DATA01H1,A
LDA RADIO_I2C_IN2
LDM RADIO_DATA01H2,A
CALL !RADIO_I2C_E_READ
LDA RADIO_I2C_IN1
LDM RADIO_DATA01H3,A
LDA RADIO_I2C_IN2
LDM RADIO_DATA01H4,A
CALL !RADIO_I2C_E_READ
LDA RADIO_I2C_IN1
LDM RADIO_DATA02H1,A
LDA RADIO_I2C_IN2
LDM RADIO_DATA02H2,A
CALL !RADIO_I2C_E_READ
LDA RADIO_I2C_IN1
LDM RADIO_DATA02H3,A
LDA RADIO_I2C_IN2
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -