📄 av-p06a.asm
字号:
IN06: MOV A,AD_TIME1
CJNE A,#60,INTO_RET
MOV AD_TIME1,#0
MOV A,AD_SIM6
CJNE A,AD_DATA1,INTO_06
JMP INTO_RET
INTO_06: SUBB A,AD_DATA1
JNC AD_SUB6
AD_UP6: MOV A,AD_SIM6
INC A
MOV AD_SIM6,A
JMP INTO_RET
AD_SUB6: MOV A,AD_SIM6
DEC A
MOV AD_SIM6,A
INTO_RET: JMP RUN3_2
;/////////////////////////////////////////////////////////////////////////////////////////
GIF_1: JNB POWER_FLAG,GIF_V1 ;如果关机就清屏
JMP GIF_V2
GIF_V1: CALL CLR_ALL ;清屏
JMP RET1
GIF_V2: JNB START_FLAG,GIF_V4
MOV R0,#30H ;显示缓存RAM清0
MOV R1,#12
GIF_V3: MOV @R0,#0
INC R0
DJNZ R1,GIF_V3 ;22H-3BH共26个RAM,两个RAM一个显示位,共13位
V3_0: MOV A,DP_MODE ;屏谱模式的转换
CJNE A,#0,V3_1
MOV DPTR,#TAB_PP_01
V3_1: CJNE A,#1,V3_2
MOV DPTR,#TAB_PP_02
V3_2: CJNE A,#2,V3_3_S
MOV DPTR,#TAB_PP_03
V3_3_S: CJNE A,#3,V3_3
MOV DPTR,#TAB_PP_04
V3_3: JB AUTO_FLAG,V3_5 ;如果是自动屏谱则跳转处理
MOV R0,#3bH
MOV R1,#6
V3_4: MOV A,DP_NUM
RL A
MOVC A,@A+DPTR
MOV @R0,A
DEC R0
MOV A,DP_NUM
RL A
INC A
MOVC A,@A+DPTR
MOV @R0,A
DEC R0
DJNZ R1,V3_4
JMP V3_7
V3_5: MOV R0,#3bH
MOV R1,#AD_SIM1
MOV R2,#6 ;一个循环2个字节(对应一个屏谱位),6次12个字节
V3_6: MOV A,@R1
RL A
MOVC A,@A+DPTR
MOV @R0,A
DEC R0
MOV A,@R1
RL A
INC A
MOVC A,@A+DPTR
MOV @R0,A
INC R1
DJNZ R2,V3_6
V3_7: MOV A,3bH
ADD A,#20H
MOV 3bH,A
MOV A,39H
ADD A,#20H
MOV 39H,A
MOV A,37H
ADD A,#20H
MOV 37H,A
MOV A,35H
ADD A,#20H
MOV 35H,A
MOV A,33H
ADD A,#20H
MOV 33H,A
MOV A,31H
ADD A,#20H
MOV 31H,A
JMP GIF_V5
GIF_V4: MOV 30H,#03H
mov 31h,#40h
MOV 32H,#03h
mov 33h,#40h
MOV 34H,#03h
mov 35h,#40h
MOV 36H,#03h
mov 37h,#40h
MOV 38H,#03h
mov 39h,#40h
MOV 3aH,#03h
mov 3bh,#40h ;加上低位频谱壁划和频率数字
GIF_V5: MOV A,GIF_SIGN
CJNE A,#1,GIF_2
INC GIF_TIME
MOV A,GIF_TIME
CJNE A,#80,GIF_V6
MOV GIF_TIME,#0
MOV DPTR,#TAB_MVLEFT
CALL GIF_LEFT
INC GIF_LONG
MOV A,GIF_LONG
CJNE A,#23, GIF_V6
MOV GIF_LONG,#0
MOV GIF_SIGN,#2
GIF_V6: JMP RET1
;/////////////////////////////////////////////////////////////////////////////////////////
GIF_2: MOV A,GIF_SIGN
CJNE A,#2,GIF_2B
MOV R0,#30H ;清除7G-13G
MOV R1,#12
CLR_GID: MOV @R0,#0
INC R0
DJNZ R1,CLR_GID
GIF_2_DELY: INC GIF_TIME
MOV A,GIF_TIME
CJNE A,#150,GIF_2A
MOV GIF_TIME,#0
INC GIF_LONG
MOV A,GIF_LONG
CJNE A,#30,GIF_2A
MOV GIF_LONG,#0
MOV GIF_TIME,#0
JMP RET1
GIF_2A: MOV R7,SYS_SIGN ;处理G9-G13
CJNE R7,#0,GIF_2C ;VOL
MOV DPTR,#TAB_VOL
CALL GIF_4GID
MOV DPTR,#TAB_LEV1
mov a,main_data
CALL GIF_3GID_A
JMP RET1
GIF_2B: LJMP GIF_3
GIF_2C: CJNE R7,#17,GIF_2D
MOV R6,INPUT_DATA ;输入显示
CJNE R6,#1,GIF_2C_1
MOV DPTR,#TAB_DVD_LD ;显示DVD/LD
SETB AC_3
JMP GIF_2C_4
GIF_2C_1: CJNE R6,#2,GIF_2C_2
MOV DPTR,#TAB_VCD_CD ;显示VCD/CD
SETB AC_3
JMP GIF_2C_4
GIF_2C_2: CJNE R6,#3,GIF_2C_3
MOV DPTR,#TAB_AUX ;显示AUX
SETB AC_3
JMP GIF_2C_4
GIF_2C_3: MOV DPTR,#TAB_AC3 ;显示AC-3
CLR AC_3
GIF_2C_4: CALL GIF_7GID ;7个位的显示
JMP RET1
GIF_2D: CJNE R7,#1,GIF_2E ;输入BASS
MOV DPTR,#TAB_BASS
CALL GIF_4GID
MOV DPTR,#TAB_LEV2
MOV A,BASS_DATA
CALL GIF_3GID_B
JMP RET1
GIF_2E: CJNE R7,#2,GIF_2F ;输入TREB
MOV DPTR,#TAB_TREB
CALL GIF_4GID
MOV DPTR,#TAB_LEV2
MOV A,TREB_DATA
CALL GIF_3GID_B
JMP RET1
GIF_2F: CJNE R7,#3,GIF_2G ;显示话筒音量
MOV DPTR,#TAB_MVOL
CALL GIF_4GID
MOV DPTR,#TAB_LEV1
MOV A,MVOL_DATA
CALL GIF_3GID_A
JMP RET1
GIF_2G: CJNE R7,#4,GIF_2H ;显示混响级别
MOV DPTR,#TAB_ECHO
CALL GIF_4GID
MOV DPTR,#TAB_LEV1
MOV A,ECHO_DATA
CALL GIF_3GID_A
JMP RET1
GIF_2H: CJNE R7,#6,GIF_2I ;显示环绕左音量
MOV DPTR,#TAB_SL
CALL GIF_4GID
MOV DPTR,#TAB_LEV1
MOV A,SURL_DATA
CALL GIF_3GID_A
JMP RET1
GIF_2I: CJNE R7,#7,GIF_2J ;显示环绕右音量
MOV DPTR,#TAB_SR
CALL GIF_4GID
MOV DPTR,#TAB_LEV1
MOV A,SURR_DATA
CALL GIF_3GID_A
JMP RET1
GIF_2J: CJNE R7,#8,GIF_2K ;显示中置音量
MOV DPTR,#TAB_CEN
CALL GIF_4GID
MOV DPTR,#TAB_LEV1
MOV A,CEN_DATA
CALL GIF_3GID_A
JMP RET1
GIF_2K: CJNE R7,#9,GIF_2L ;显示重低音音量
MOV DPTR,#TAB_SBW
CALL GIF_4GID
MOV DPTR,#TAB_LEV1
MOV A,BW_DATA
CALL GIF_3GID_A
JMP RET1
GIF_2L: CJNE R7,#11,GIF_2M ;显示DSP声场模式
MOV DPTR,#TAB_DSP
CALL GIF_4GID
MOV DPTR,#TAB_LEV1
MOV A,DSP_DATA
CALL GIF_3GID_A
JMP RET1
GIF_2M: CJNE R7,#15,GIF_2N ;显示静音
MOV DPTR,#TAB_MUTE
JNB MUTE_FLAG,GIF_NO_MUT
CALL GIF_4GID
JMP RET1
GIF_NO_MUT: MOV SYS_SIGN,#0
JMP RET1
GIF_2N: CJNE R7,#13,GIF_2O ;显示5.1CH模式
MOV DPTR,#TAB_51CH
CALL GIF_7GID
JMP RET1
GIF_2O: CJNE R7,#12,GIF_2P ;显示2.0CH模式
MOV DPTR,#TAB_20CH
CALL GIF_7GID
JMP RET1
GIF_2P: CJNE R7,#14,GIF_2Q ;显示等响开关
JB LOUND_FLAG,GIF_LOU_ON
MOV DPTR,#TAB_LOUND_OF
JMP GIF_2P_1
GIF_LOU_ON: MOV DPTR,#TAB_LOUND_ON
GIF_2P_1: CALL GIF_7GID
JMP RET1
GIF_2Q: NOP
JMP RET1
;/////////////////////////////////////////////////////////////////////////////////////////
GIF_3: CALL CLR_ALL
MOV GIF_SIGN,#1
JMP RET1
RET1: JMP GIF_END
;/////////////////////////////////////////////////////////////////////////////////////////
CLR_ALL: MOV R2,#26 ;清26个显示用RAM
MOV R1,#22H ;共13位15段显示
CLR_DSPRAM: MOV @R1,#0
INC R1
DJNZ R2,CLR_DSPRAM
RET
;-----------------------------------------------------------------------------------------
GIF_LEFT: MOV 2fH,2dH ;左移
MOV 2eH,2cH
MOV 2dH,2bH
MOV 2cH,2aH
MOV 2bH,29H
MOV 2aH,28H
MOV 29H,27H
MOV 28H,26H
MOV 27H,25H
MOV 26H,24H
MOV 25H,23H
MOV 24H,22H
MOV A,GIF_LONG ;更新最低位
RL A
MOVC A,@A+DPTR
MOV 22H,A
MOV A,GIF_LONG
RL A
INC A
MOVC A,@A+DPTR
MOV 23H,A
RET
;-----------------------------------------------------------------------------------------
GIF_4GID: MOV R1,#8
MOV R2,#0
MOV R0,#2fH
G_4GID: MOV A,R2
MOVC A,@A+DPTR
MOV @R0,A
DEC R0
INC R2
DJNZ R1,G_4GID
RET
;-----------------------------------------------------------------------------------------
GIF_3GID_A: MOV DIV_16,A
CALL DIV10
MOV A,DISP_H ;输入十位
RL A
MOVC A,@A+DPTR
MOV 25H,A
MOV A,DISP_H
RL A
INC A
MOVC A,@A+DPTR
MOV 24H,A
MOV A,DISP_L ;输入个位
RL A
MOVC A,@A+DPTR
MOV 23H,A
MOV A,DISP_L
RL A
INC A
MOVC A,@A+DPTR
MOV 22H,A
RET
;-----------------------------------------------------------------------------------------
GIF_3GID_B:
MOV B,#6
MUL AB
MOV R1,A
MOV R0,#27H
MOV R2,#6
D3GID_B: MOV A,R1
MOVC A,@A+DPTR
MOV @R0,A
DEC R0
INC DPTR
DJNZ R2,D3GID_B
RET
;-----------------------------------------------------------------------------------------
GIF_7GID: MOV R1,#14 ;处理14个显示缓存RAM
MOV R2,#0 ;DPTR指针
MOV R0,#2fH ;高位开始
D7GID: MOV A,R2
MOVC A,@A+DPTR
MOV @R0,A
DEC R0
INC R2
DJNZ R1,D7GID
RET
;/////////////////////////////////////////////////////////////////////////////////////////
;A/D转换,T1中断入口
AD_GO: INC TIME1
PUSH ACC
PUSH PSW
AD: MOV R3,AD_SIGN
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -