av_06s.asm
来自「PT2253+SC6122+PT2258+PT」· 汇编 代码 · 共 948 行 · 第 1/2 页
ASM
948 行
NOP
NOP
NOP
NOP
DECMSZ R3
LGOTO WBY0
NOP
NOP
NOP
NOP
BCM PORT5,SCL
NOP
NOP
NOP
NOP
BSM PORT5,SDA
NOP
NOP
NOP
NOP
BSM PORT5,SCL
NOP
NOP
NOP
NOP
WAIT: BCM PORT5,SCL
NOP
RET
;----------------IIC DATA FORMAT----------------------
ON24: NOP
BSM PORT5,SDA
NOP
NOP
NOP
BSM PORT5,SCL
NOP
NOP
NOP
NOP
BCM PORT5,SDA
NOP
NOP
NOP
NOP
BCM PORT5,SCL
NOP
RET
OFF24: NOP
NOP
BCM PORT5,SDA
NOP
NOP
NOP
NOP
BSM PORT5,SCL
NOP
NOP
NOP
NOP
BSM PORT5,SDA
NOP
NOP
NOP
NOP
RET
;===============LONG DELAY==============================
DELAY20MS: MOVLA .255
MOVAM R2
DELAY_LP1: MOVLA .255
MOVAM R1
DELAY_LP0: NOP
NOP
NOP
DECMSZ R1
LGOTO DELAY_LP0
DECMSZ R2
LGOTO DELAY_LP1
RET
;===========================================
AK_47: LCALL DELAY20MS
; LCALL DELAY20MS
; LCALL DELAY20MS
MOVM REMBYTE1,A
MOVAM REMBYTE
RET
R_EXIT: BTMSC FLAG,AK47
LGOTO AK_47
RET
R_EXIT1: NOP
NOP
RET
R_EXIT2: NOP
NOP
RET
;----------------------------====================
;===========REMOTE CONTROL SOFTWARE===================
REMOTE: MOVLA .12
MOVAM R2
R_LOOP1: LCALL DELAY0
BTMSS PORT6,IR
LGOTO R_LOOP3
R_LOOP2: LGOTO R_EXIT2
R_LOOP3: DECMSZ R2 ;9MS START CODE
LGOTO R_LOOP1
R_LOOP4: BTMSS PORT6,IR
LGOTO R_LOOP4 ;4.5MS CODE
MOVLA 4
MOVAM R2
MOVLA REMBUFF
MOVAM 4
R_LOOP5: LCALL BYTE_IN
BTMSC FLAG,R_OVER
LGOTO R_EXIT
MOVM DAT_REM,A
MOVAM 0
INCM 4
DECMSZ R2
LGOTO R_LOOP5
MOVM REMBUFF,A
XORLA 0X02
BTMSS STATUS,Z
LGOTO R_EXIT2
MOVM REMBUFF+1,A
XORLA 0XFD
BTMSS STATUS,Z
LGOTO R_EXIT2
MOVLA .9
MOVAM R3
;==============????????====================
REM_BAK1: MOVM R3,A
LCALL IRKEY
XORAM REMBUFF+2,A
BTMSC STATUS,Z
LGOTO REM_BAK0
DECMSZ R3
LGOTO REM_BAK1
LGOTO R_EXIT
REM_BAK0: NOP
MOVM R3,A
MOVAM REMBYTE
MOVAM REMBYTE1
NOP
RET
;==============????????========================
BYTE_IN: BCM FLAG,R_OVER
MOVLA .8
MOVAM R1
CLRM DAT_REM
BYTE1: MOVLA .8
MOVAM R3
BYTE03: MOVLA .4
MOVAM R0
BYTE2: MOVLA .218
MOVAM R5
BYTE3: BTMSS PORT6,IR
LGOTO BYTE4
DECMSZ R5
LGOTO BYTE3
NOP
DECMSZ R0
LGOTO BYTE2
DECMSZ R3
LGOTO BYTE03
BSM FLAG,R_OVER
RET
BYTE4: BTMSS PORT6,IR
LGOTO BYTE4
LCALL DELAY0
BSM STATUS,C
BTMSC PORT6,IR ;HIGH PLUSE >725US C=1
LGOTO BYTE04
BCM STATUS,C
BYTE04: RRM DAT_REM,M
MOVLA 2
XORAM R2,A
BTMSS STATUS,Z
LGOTO BYTE05
MOVLA 1
XORAM R1,A
BTMSS STATUS,Z
LGOTO BYTE05
NOP
BYTE05: DECMSZ R1
LGOTO BYTE1
RET
;######################################
DELAY1MS: MOVLA .30
MOVAM R5
DELAY10: MOVLA .30 ;4CLOCK(32X4X4/3.58)X10=715USX2
MOVAM R6
DELAY20: NOP
DECMSZ R6
LGOTO DELAY20
DECMSZ R5
LGOTO DELAY10
NOP
RET
;
DELAY0: MOVLA .0 ;
MOVAM TCC ;TCC
MOVLA .6
MOVAM R5
DELAY1: MOVLA .29 ;4CLOCK(32X4X4/3.58)X10=715USX2
MOVAM R6
DELAY2: NOP
DECMSZ R6
LGOTO DELAY2
DECMSZ R5
LGOTO DELAY1
NOP
NOP
NOP
NOP
NOP
MOVM TCC,A
RET
;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
P_RESET: MOVLA .25
MOVAM MVOLG
SUBAM .78,A
MOVAM BUFFER
MOVLA .05
MOVAM FVOLG
MOVAM SVOLG
MOVAM CVOLG
MOVAM WVOLG
LGOTO P_INM_01
;======================================
P_MUTE: BCM FLAG,AK47
BTMSC FLAG,MUTE
LGOTO MUTE_OFF
LGOTO MUTE_ON
MUTE_ON: BSM FLAG,MUTE
LGOTO P_MU01
MUTE_OFF: BCM FLAG,MUTE
P_MU01: LCALL PLAY_MUTE
LGOTO LOOP
P_STANDBY: LCALL DELAY20MS
BSM FLAG,KEY_DOWN
BCM FLAG,AK47
BTMSC FLAG,POWER
LGOTO POWER_OFF
LGOTO POWER_ON
POWER_ON: BSM FLAG,POWER
BCM FLAG,MUTE
LGOTO P_ON01
POWER_OFF: BCM FLAG,POWER
BSM FLAG,MUTE
P_ON01: LCALL PLAY_MUTE
LGOTO P_INM_01
;LGOTO LOOP99 ;
;===================================
LOOP99: LCALL FVOL
LCALL SVOL
LCALL WVOL
LCALL CVOL
LGOTO LOOP
;++++++++++++++++++++++++++++++++++++
;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
DISPLAY_LED: MOVLA 0X01
IODIR PORT6
MOVLA 0X08
IODIR PORT5
BTMSS FLAG,POWER
LGOTO OFF_DISPLAY
BSM PORT6,STB_LED
BCM PORT6,POW_LED
BCM PORT6,SCN_LED
BTMSC FLAG,MUTE
LGOTO MUT_LED
BSM PORT6,KEY2
BTMSC FLAG_LED,LED1
BCM PORT6,KEY2
BSM PORT5,KEY1
BTMSC FLAG_LED,LED2
BCM PORT5,KEY1
BSM PORT6,KEY4
BTMSC FLAG_LED,LED3
BCM PORT6,KEY4
BSM PORT6,KEY3
BTMSC FLAG_LED,LED4
BCM PORT6,KEY3
RET
MUT_LED: BSM PORT6,KEY2
BSM PORT6,KEY4
BSM PORT5,KEY1
BSM PORT6,KEY3
RET
;---------------------------------------
OFF_DISPLAY: MOVLA 0XFE
MOVAM PORT6
BCM PORT6,STB_LED
BSM PORT6,POW_LED
MOVLA 0X0C
MOVAM PORT5
RET
;========================================
;++++++++++++++++++++++++++++++++++++
DISVOL_LED: CLRM FLAG_LED
ONE_LED: MOVLA .45
SUBAM MVOLG,A
BTMSC STATUS,C
LGOTO TWO_LED
MOVLA .35
SUBAM MVOLG,A
BTMSS STATUS,C
LGOTO TWO_LED
BSM FLAG_LED,LED1
LGOTO OUT_LED
TWO_LED: MOVLA .35
SUBAM MVOLG,A
BTMSC STATUS,C
LGOTO THREE_LED
MOVLA .25
SUBAM MVOLG,A
BTMSS STATUS,C
LGOTO THREE_LED
BSM FLAG_LED,LED1
BSM FLAG_LED,LED2
LGOTO OUT_LED
THREE_LED: MOVLA .25
SUBAM MVOLG,A
BTMSC STATUS,C
LGOTO FOUR_LED
MOVLA .17
SUBAM MVOLG,A
BTMSS STATUS,C
LGOTO FOUR_LED
BSM FLAG_LED,LED1
BSM FLAG_LED,LED2
BSM FLAG_LED,LED3
LGOTO OUT_LED
FOUR_LED: MOVLA .17
SUBAM MVOLG,A
BTMSC STATUS,C
LGOTO OUT_LED
MOVLA .15
SUBAM MVOLG,A
BTMSS STATUS,C
LGOTO OUT_LED
BSM FLAG_LED,LED1
BSM FLAG_LED,LED2
BSM FLAG_LED,LED3
BSM FLAG_LED,LED4
OUT_LED: RET
;===================================
PLAYA: LCALL ON24
MOVLA 0X88
MOVAM R4
LCALL WBYTE
MOVLA 0XF8
LGOTO M_P_01A
MUTEA: LCALL ON24
MOVLA 0X88
MOVAM R4
LCALL WBYTE
MOVLA 0XF9
M_P_01A: MOVAM R4
LCALL WBYTE
LCALL OFF24
RET
P_DEMVOL: BCM FLAG,KEY_DOWN
BCM STATUS,C
MOVLA .78
SUBAM MVOLG,A
BTMSC STATUS,C
LGOTO P_INM_01A
INCM MVOLG
LGOTO P_INM_01
P_INMVOL: BCM FLAG,KEY_DOWN
BCM STATUS,C
MOVLA .16
SUBAM MVOLG,A
BTMSS STATUS,C
LGOTO P_INM_01
DECM MVOLG
; LCALL PLAYA
P_INM_01:; LCALL DISVOL_LED
LGOTO LOOP99
P_INM_01A: LCALL MUTEA
LGOTO P_INM_01
P_DEC: MOVM CVOLG,A
BTMSC STATUS,Z
LGOTO P_DEC_01
DECM CVOLG
P_DEC_01: MOVM CVOLG,A
LGOTO LOOP99
P_INC: MOVLA .15
BCM STATUS,C
SUBAM CVOLG,A
BTMSC STATUS,C
LGOTO P_DEC_01
INCM CVOLG
LGOTO P_DEC_01
P_DESUR: MOVM SVOLG,A
BTMSC STATUS,Z
LGOTO P_DES_01
DECM SVOLG
P_DES_01: MOVM SVOLG,A
LGOTO LOOP99
P_INSUR: MOVLA .15
BCM STATUS,C
SUBAM SVOLG,A
BTMSC STATUS,C
LGOTO P_DES_01
INCM SVOLG
LGOTO P_DES_01
P_DEFRT: MOVM FVOLG,A
BTMSC STATUS,Z
LGOTO P_DEF_01
DECM FVOLG
P_DEF_01: MOVM FVOLG,A
LGOTO LOOP99
P_INFRT: MOVLA .15
BCM STATUS,C
SUBAM FVOLG,A
BTMSC STATUS,C
LGOTO P_DEF_01
INCM FVOLG
LGOTO P_DEF_01
P_DESW: BCM FLAG,KEY_DOWN
MOVM WVOLG,A
BTMSC STATUS,Z
LGOTO P_DEW_01
DECM WVOLG
P_DEW_01: MOVM WVOLG,A
LGOTO LOOP99
P_INSW: BCM FLAG,KEY_DOWN
MOVLA .15
BCM STATUS,C
SUBAM WVOLG,A
BTMSC STATUS,C
LGOTO P_DEW_01
INCM WVOLG
LGOTO P_DEW_01
;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
END
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?