📄 2236-dvd
字号:
INC FLASH_CHAR_5
LD data1_H,to1_H
LD data0_L,to0_L
PUSH data1_H
PUSH data0_L
LD data5_H,#27H
LD data4_L,#10H
CALL unbin_sub_16
POP data0_L
POP data1_H
CP to2,#00H
JP Z,con_sub_10000
DEC FLASH_CHAR_5
LD to0_L,data0_L
LD to1_H,data1_H
clr FLASH_CHAR_4
con_sub_1000:
INC FLASH_CHAR_4
LD data1_H,to1_H
LD data0_L,to0_L
PUSH data1_H
PUSH data0_L
LD data5_H,#03H
LD data4_L,#0E8H
CALL unbin_sub_16
POP data0_L
POP data1_H
CP to2,#00H
JP Z,con_sub_1000
DEC FLASH_CHAR_4
LD to0_L,data0_L
LD to1_H,data1_H
CLR FLASH_CHAR_3
con_sub_100:
INC FLASH_CHAR_3
LD data1_H,to1_H
LD data0_L,to0_L
PUSH data1_H
PUSH data0_L
LD data5_H,#00H
LD data4_L,#64H
CALL unbin_sub_16
POP data0_L
POP data1_H
CP to2,#00H
JP Z,con_sub_100
DEC FLASH_CHAR_3
LD ACC_SEN_VAL,data0_L
CALL bintobcd_8
LD to0_L,ACC_SEN_VAL
RL FLASH_CHAR_4
RL FLASH_CHAR_4
RL FLASH_CHAR_4
RL FLASH_CHAR_4
OR FLASH_CHAR_4,FLASH_CHAR_3
LD to1_H,FLASH_CHAR_4
LD to2,FLASH_CHAR_5
RET
.IF 0
bintobcd_16 endp
.ENDIF
.IF 0
unbin_mul_16 proc
.ENDIF
unbin_mul_16:
init
LD count0,#10H
RCF
rradd16:
rrc to3
rrc to2
rrc data5_H
rrc data4_L
JP C,mul_add_c
JP rr116
mul_add_c:
ADD to2,data0_L
ADC to3,data1_H
rr116:
SUB count0,#01H
JP Z,unbin_mul_end
JP rradd16
unbin_mul_end:
rrc to3
rrc to2
rrc data5_H
rrc data4_L
LD to0_L,data4_L
LD to1_H,data5_H
ret
.IF 0
unbin_mul_16 endp
.ENDIF
;16bit bin to bcd
;***********************************************
;from acc_SEN_VAL
;return acc_SEN_VAL
;***********************************************
.IF 0
bintobcd_8 proc
.ENDIF
bintobcd_8:
clr data5_H
bin_tobcd:
LD data4_L,ACC_SEN_VAL
SUB ACC_SEN_VAL,#0AH
JP UGE,inc_10p
JP end_bcd
inc_10p:
inc data5_H
JP bin_tobcd
end_bcd:
LD ACC_SEN_VAL,data5_H
RL ACC_SEN_VAL
RL ACC_SEN_VAL
RL ACC_SEN_VAL
RL ACC_SEN_VAL
OR ACC_SEN_VAL,data4_L
ret
.IF 0
bintobcd_8 endp
.ENDIF
;*********************************************************
.IF 0
volume_key_par proc
.ENDIF
volume_key_par:
CP Current_Key,#IR_VOL_INC_KEY
JP NE,vol_dec_ir_fun
vol_inc_fun:
;音量加
CP volume_val,#3CH
JP UGE,show_volu
INC volume_val
INC volume_val
JP vol_fun
vol_dec_ir_fun:
CP Current_Key,#IR_VOL_DEC_KEY
JP Z,vol_dec_fun
;clr show_volume
vol_mute:
CP Current_Key,#IR_MUTE_KEY
JP Z,vol_mute_fun
RET
vol_mute_fun:
XOR_MUTE
CLR_KEY_VALID
LD ACC_SEN_VAL,#VFD_PANEL_MUTE
CALL VFD_NOSHOW_POINT
MUTE_IS_LOW
JP Z,noshow_mute_icon
CALL DELAY_200MS
CALL PT2314_MUTE
LD ACC_SEN_VAL,#VFD_PANEL_MUTE
CALL VFD_SHOW_POINT
RET
noshow_mute_icon:
CALL PT2314_NOMUTE
mute_ret:
RET
vol_dec_fun:
;音量减
CP volume_val,#00H
JP Z,show_volu
DEC volume_val
DEC volume_val
vol_fun:
LD ACC_SEN_VAL,#3CH
SUB ACC_SEN_VAL,volume_val
call PT2314_SEND
show_volu:
LD SHOW_STATIC,#SHOW_VOL
LD SHOW_OLD_TIME,secon_time
LD ACC_SEN_VAL,#VFD_PANEL_MUTE
CALL VFD_NOSHOW_POINT
CALL PT2314_NOMUTE
CLR_MUTE
CLR_KEY_VALID
RET
.IF 0
volume_key_par endp
.ENDIF
.IF 0
set_volume proc
.ENDIF
set_volume:
LD ACC_SEN_VAL,#0f0H
call REMOTE_DELAY_200uS
LD ACC_SEN_VAL,#0f0H
call REMOTE_DELAY_200uS
LD ACC_SEN_VAL,#0f0H
call REMOTE_DELAY_200uS
LD ACC_SEN_VAL,#0C0H
call PT2314_SEND
LD ACC_SEN_VAL,#0E0H
call PT2314_SEND
LD ACC_SEN_VAL,#3CH
SUB ACC_SEN_VAL,volume_val
call PT2314_SEND
LD ACC_SEN_VAL,#0C0H
call PT2314_SEND
LD ACC_SEN_VAL,#0E0H
call PT2314_SEND
LD ACC_SEN_VAL,#3CH
SUB ACC_SEN_VAL,volume_val
call PT2314_SEND
CP FUNCTION_STAT,#Function_Radio
JP NE,sel_tape_channel
AND EQ_RAM,#0FCH
JP sel_channel
sel_tape_channel:
CP FUNCTION_STAT,#Function_Tape
JP NE,sel_vcd_channel
AND EQ_RAM,#0FCH
OR EQ_RAM,#02H
JP sel_channel
sel_vcd_channel:
CP FUNCTION_STAT,#Function_Vcd
JP NE,sel_channel
AND EQ_RAM,#0FCH
OR EQ_RAM,#01H
sel_channel:
LD ACC_SEN_VAL,EQ_RAM
call PT2314_SEND
CALL SEND_EQ_VAL
LD ACC_SEN_VAL,#0C8H
call REMOTE_DELAY_200uS
CLR_MUTE
ret
.IF 0
set_volume endp
.ENDIF
;*******************************************************************
.IF 0
power_key_par proc
.ENDIF
power_key_par:
CP Current_Key,#IR_POWER_KEY
JP NE,power_key_ret
CLR_KEY_VALID
CLR FUNCTION_STAT
SET_first_change_function
call clear_function_pin
XOR_POWER
power_key_ret:
ret
.IF 0
power_key_par endp
.ENDIF
;*******************************************************************
.IF 0
CHANGE_FUNC_KEY_Par proc
.ENDIF
CHANGE_FUNC_KEY_Par:
;snz power_on
;ret
KEY_VALID_IS_HIGH
JP Z,ir_vcd_fun
RET
;*****************************************************************************
ir_vcd_fun:
CP Current_Key,#IR_VCD_KEY
JP NE,ir_radio_fun
CP FUNCTION_STAT,#Function_Vcd
JP Z,no_change_vfd_fun
SET_first_change_function
SET_MUTE
LD FUNCTION_STAT,#Function_Vcd
no_change_vfd_fun:
CLR_KEY_VALID
RET
;*****************************************************************************
ir_radio_fun:
CP Current_Key,#IR_RADIO_KEY
JP NE,ir_band_fun
radio_fun:
CALL CLOSE_TRAY
CP FUNCTION_STAT,#Function_Radio
JP NE,no_change_fre
XOR_FM_AM_STATION
no_change_fre:
CLR_RADIO_AUTO_SEARCH_dec
CLR_RADIO_AUTO_SEARCH_inc
SET_first_change_function
CLR_KEY_VALID
LD FUNCTION_STAT,#Function_Radio
RET
ir_band_fun:
CP Current_Key,#IR_BAND_KEY
JP NE,ir_tape_fun
CP FUNCTION_STAT,#Function_Radio
JP NE,ir_band_ret
XOR_FM_AM_STATION
CLR_RADIO_AUTO_SEARCH_dec
CLR_RADIO_AUTO_SEARCH_inc
SET_first_change_function
CLR_KEY_VALID
ir_band_ret:
RET
;*****************************************************************************
ir_tape_fun:
CP Current_Key,#IR_TAPE_KEY
JP NE,ir_aux_fun
;tape_fun:
CALL CLOSE_TRAY
CP FUNCTION_STAT,#Function_Tape
JP Z,no_change_tape_fun
SET_first_change_function
SET_MUTE
LD FUNCTION_STAT,#Function_Tape
no_change_tape_fun:
CLR_KEY_VALID
RET
;*****************************************************************************
ir_aux_fun:
CP Current_Key,#IR_AUX_KEY
JP NE,ir_function
;aux_fun:
CALL CLOSE_TRAY
CP FUNCTION_STAT,#Function_Aux
JP Z,no_change_aux_fun
SET_first_change_function
SET_MUTE
LD FUNCTION_STAT,#Function_Aux
no_change_aux_fun:
CLR_KEY_VALID
RET
;*****************************************************************************
ir_function:
CP Current_Key,#IR_CHANGE_FUN_KEY
JP Z,change_function
ret
change_function:
CALL CLOSE_TRAY
SET_first_change_function ;第一次转功能
SET_MUTE
INC FUNCTION_STAT
CLR_KEY_VALID
CP FUNCTION_STAT,#last_fun
JP EQ,init_function
RET
init_function:
LD FUNCTION_STAT,#01H
RET
.IF 0
CHANGE_FUNC_KEY_Par endp
.ENDIF
;********************************************************
.IF 0
clear_function_pin proc
.ENDIF
clear_function_pin:
SET_MUTE
CALL DELAY_200MS
CALL PT2314_MUTE
LD ACC_SEN_VAL,#22H
CALL REMOTE_DELAY_200uS
CD_NO_CLOSED_IS_HIGH
JP Z,no_clr_vcd_power
CLR_VCD
no_clr_vcd_power:
CLR_RADIO
CLR_TAPE
CLR_HI
;CLR_AUX
ret
.IF 0
clear_function_pin endp
.ENDIF
.IF 0
DELAY_200MS PROC
.ENDIF
DELAY_200MS:
LD ACC_SEN_VAL,#0F8H
CALL REMOTE_DELAY_200uS
LD ACC_SEN_VAL,#0F8H
CALL REMOTE_DELAY_200uS
RET
.IF 0
DELAY_200MS ENDP
.ENDIF
;*************************************************************
; eq function
;*************************************************************
.IF 0
EQ_key_par proc
.ENDIF
EQ_key_par:
EQ_JAZZ:
CP Current_Key,#IR_JAZZ_KEY
JP NE,EQ_FLAT
LD EQ_VAL,#00H
JP EQ_FUNCTION
EQ_FLAT:
CP Current_Key,#IR_FLAT_KEY
JP NE,EQ_CLASSIC
LD EQ_VAL,#00H
JP EQ_FUNCTION
EQ_CLASSIC:
CP Current_Key,#IR_CLASSIC_KEY
JP NE,EQ_ROCK
LD EQ_VAL,#00H
JP EQ_FUNCTION
EQ_ROCK:
CP Current_Key,#IR_ROCK_KEY
JP NE,EQ_SINGNED
LD EQ_VAL,#00H
JP EQ_FUNCTION
EQ_SINGNED:
CP Current_Key,#IR_CHANGE_EQ_KEY
JP NE,EQ_RET
INC EQ_VAL
CP EQ_VAL,#04H
JP ULT,EQ_FUNCTION
CLR EQ_VAL
EQ_FUNCTION:
CLR_KEY_VALID
LD ACC_SEN_VAL,#VFD_PANEL_CLASSIC
call VFD_NOSHOW_POINT
LD ACC_SEN_VAL,#VFD_PANEL_FLAT
call VFD_NOSHOW_POINT
LD ACC_SEN_VAL,#VFD_PANEL_JAZZ
call VFD_NOSHOW_POINT
LD ACC_SEN_VAL,#VFD_PANEL_ROCK
call VFD_NOSHOW_POINT
LD ACC_SEN_VAL,#VFD_PANEL_BOX
CALL VFD_SHOW_POINT
CALL SEND_EQ_VAL
RET
.IF 0
EQ_key_par endp
.ENDIF
.IF 0
SEND_EQ_VAL PROC
.ENDIF
SEND_EQ_VAL:
PUSH R2
PUSH R3
PUSH R0
CLR R2
LD R3,EQ_VAL
ADD R3,EQ_VAL
LDC R0,#1FF4H[RR2]
LD ACC_SEN_VAL,R0
CALL PT2314_SEND
INC R3
LDC R0,#1FF4H[RR2]
LD ACC_SEN_VAL,R0
CALL PT2314_SEND
LD R3,EQ_VAL
LDC R0,#1FFCH[RR2]
LD ACC_SEN_VAL,R0
CALL VFD_SHOW_POINT
POP R0
POP R3
POP R2
EQ_RET:
RET
.IF 0
SEND_EQ_VAL ENDP
.ENDIF
ORG 01FF4H ;EQ VAL PT2314
DB 67H
DB 77H
DB 6BH
DB 7DH
DB 6CH
DB 7EH
DB 6AH
DB 7BH
;**********VFD_PANEL_ICON*********
DB VFD_PANEL_FLAT
DB VFD_PANEL_JAZZ
DB VFD_PANEL_CLASSIC
DB VFD_PANEL_ROCK
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -