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 + -
显示快捷键?