⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 av_06s.asm

📁 PT2253+SC6122+PT2258+PT
💻 ASM
📖 第 1 页 / 共 2 页
字号:
;==========================================================				
;DEFINE				

;INCLUDE	<EMC456.INC>	
;================================================
#define         iport5       0x04
#define         iport6       0x0f

                A     EQU    0X00
                M     EQU    0X01   						
		TCC   EQU    0X01
;--------------------------------- --		
		PC    EQU    0X02
;-------------STATUS----------------			
		STATUS EQU   0X03		
		C     EQU    0X00
		DC    EQU    0X01	
		Z     EQU    0X02
;-----------PORT5------------------					
		PORT5  EQU   0X05
		SCL    EQU   0X00
		SDA    EQU   0X01
		KEY1   EQU   0X02   ;BASS+
	;	KEY5   EQU   0X03   ;STANDBY

;-----------PORT6-------------------					
		PORT6   EQU   0X06
		
		IR      EQU   0X00
		KEY2    EQU   0X01   ;BASS-
		KEY3    EQU   0X02   ;MAS-
		KEY4    EQU   0X03   ;MAS+
		SCN_LED EQU   0X04
		STB_LED EQU   0X05
		POW_LED EQU   0X07
	;	VUP_LED EQU   0X06
;----------------------------------------
                WAKE_UP EQU     0X20
                IRQM    EQU     0X21
                IRQF    EQU     0X22	
;---------DEFINE ------------------
;==================================
                BUF_LED EQU    0X07
                REMBUFF EQU    0X08
                			
		R0     EQU   0X10
		R1     EQU   0X11
		R2     EQU   0X12
		R3     EQU   0X13
		R4     EQU   0X14
		R5     EQU   0X15	
		R6     EQU   0X16
		COUNT1 EQU   0X17
		KEYBYTE EQU  0X18	
		BUFFER EQU   0X19		
		A_BUF  EQU   0X1A	
		R3_BUF EQU   0X1B
			
		;	    0X1C
		;	    0X1D	
		MVOLG  EQU   0X1E
		FVOLG  EQU   0X1F
		SVOLG  EQU   0X28
		WVOLG  EQU   0X29
		CVOLG  EQU   0X2A
		DAT_REM EQU   0X2B
                REMBYTE EQU   0X2C
                TIMES   EQU   0X2D	
;------------0X28------------------
                REMBYTE1 EQU  0X2E
                COUNT2   EQU  0X2F
;----------------------------
                FLAG_LED EQU	0X0E
                ;----------------
		LED1	 EQU	0X00
		LED2	 EQU	0X01
		LED3	 EQU	0X02
		LED4	 EQU	0X03
		LED5 	 EQU	0X04
		LED6	 EQU	0X05
;==========BIT DEFIND==========						
		FLAG	 EQU	0X0F
		
		KEYED    EQU	0X00			
		KEY_DOWN EQU	0X01			
		POWER    EQU	0X02
		MUTE 	 EQU	0X03
		R_OVER   EQU	0X04
		AK47	 EQU	0X05
		REMED    EQU	0X06
		KEY_BIT  EQU    0X07
								
;=========================================================	
                
                	
                ORG	0X3FF
		LGOTO	START						
		
		ORG     0X3FE
                LGOTO   BREAK

                ORG     0X00			
;---------------------------------------------------------
BREAK:		RETI
               
;;-------------INIT  BACK--------------------					
IRKEY:		CLRM	REMBYTE
                ADDAM	PC,M
		RETLA   0X00
		RETLA   0X00
		RETLA   0X11
		RETLA   0X01
		RETLA   0X1F
		RETLA   0X0F
		RETLA   0X41
		RETLA   0X45
		RETLA   0X06
		RETLA   0X5E
;===============================================				
TAB_YAOKON01:	BTMSS	FLAG,POWER
		LGOTO	LOOP
		LGOTO	TAB_YAOKON02
TABLE_YAOKON:	BSM	FLAG,AK47
		MOVM	REMBYTE,A
		XORAM	0X01,A
		BTMSS	STATUS,Z
		LGOTO	TAB_YAOKON01
TAB_YAOKON02:	MOVM	REMBYTE,A
		CLRM	REMBYTE
		ADDAM	PC,M
		LGOTO	LOOP
		LGOTO	P_MUTE
                LGOTO	P_INSW
		LGOTO	P_DESW
		LGOTO   P_INC
		LGOTO   P_DEC
		LGOTO   P_INSUR
		LGOTO   P_DESUR
		LGOTO	P_INMVOL
		LGOTO	P_DEMVOL
		LGOTO	P_STANDBY
;--------------------------------		
TABLE_01:	BTMSS	FLAG,POWER
		LGOTO	LOOP
		LGOTO	TABLE_02						
TABLE:		MOVM	KEYBYTE,A
		XORLA	0X01
		BTMSS	STATUS,Z
		LGOTO	TABLE_01
TABLE_02:	MOVM	KEYBYTE,A
		CLRM	KEYBYTE			
		BSM	FLAG,KEY_DOWN
		ADDAM	PC,M
		LGOTO	LOOP
		LGOTO	P_STANDBY
		LGOTO	P_MUTE
		LGOTO	P_DEMVOL
		LGOTO	P_INMVOL
		LGOTO	LOOP
;;-===========================================
;&&&&&&&&&&&&&&&& START  ASM &&&&&&&&&&&&&&&&&&		
START:		MOVLA	0X01		  ;??????????
		SELECT	
		
		MOVLA	iport5		
		IODIR	PORT5
		
		MOVLA	iport6		
		IODIR	PORT6
		
		MOVLA    0X61
		MOVAM    WAKE_UP
		
		MOVLA    0X00
		MOVAM    IRQM

			
		MOVLA	0XF0
		MOVAM	PORT6
		
		LCALL   DELAY20MS
		LCALL   DELAY20MS
		LCALL   DELAY20MS
					
		BCM     FLAG,MUTE		;;;;;;;;;;;
		BSM     FLAG,POWER	   ;;;;;;;;;;			
			
		BCM	 FLAG,REMED
			
		LCALL    PT225801
		MOVLA	.30
		MOVAM	MVOLG
			
		MOVLA   .15
		MOVAM	FVOLG
		MOVAM	SVOLG
		MOVAM	CVOLG
	        MOVLA	08	
		MOVAM	WVOLG
		LCALL   FVOL
		LCALL   SVOL
		LCALL   CVOL
		LCALL   WVOL
		LCALL	DISVOL_LED
		LGOTO	LOOP
						
;************************************************
;************************************************							
LOOP_REM:	LCALL   REMOTE
		MOVM	REMBYTE,A
		BTMSC    STATUS,Z
		LGOTO	LOOP1
		CLRM	COUNT1
		MOVLA	.250
		MOVAM	COUNT2
		LGOTO	TABLE_YAOKON
LOOPK:          NOP
		
LOOP:   	BTMSS	PORT6,IR
		LGOTO	LOOP_REM	
LOOP1:		lcall   scan_key				
		BTMSS   FLAG,KEYED			
		LGOTO	LOOPK			
		Btmsc	FLAG,KEY_DOWN			
		LGOTO	LOOP
		LCALL   DELAY20MS
		BCM	 FLAG,KEYED

		CLRM	COUNT1
		MOVLA   .253
		MOVAM	COUNT2			
		LGOTO	TABLE		
		LGOTO	LOOP
;*************************************************
scan_key:
                bsm	flag,keyed
 		btmsc	port5,key1
 		lgoto	scan_key01
 		lcall   key_delay
 		btmsc	port5,key1
 		lgoto	scan_key01
 		movla   0x04
 		movam   keybyte
 		ret 	
scan_key01:
 		btmsc	port6,key2
 		lgoto	scan_key02
 		call    key_delay
 		btmsc	port6,key2
 		lgoto	scan_key02
 		movla   0x03
 		movam   keybyte
 		ret 	 	
scan_key02:
 		btmsc	port6,key3
 		lgoto	scan_key03
 		call   key_delay
 		btmsc	port6,key3
 		lgoto	scan_key03
 		movla   0x02
 		movam   keybyte
 		ret
scan_key03:
 		btmsc	port6,key4
 		lgoto	scan_key04
 		call    key_delay
 		btmsc	port6,key4
 		lgoto	scan_key04
 		movla   0x01
 		movam   keybyte
 		ret 	 	   			 	  		
scan_key04:		
	 	bcm	 flag,keyed
	 	bcm	 flag,key_down
	 	ret	
;---------------------------------
;=================================				
;---------------------------------------------
;---------------------------------*/
KEY_DELAY:	MOVLA	030
		MOVAM	R0
UP_KEY_DELAY:	DECMSZ	R0
		LGOTO	UP_KEY_DELAY
		RET
			
;=================================

;========BCMD  TO  10 DIGITAL=========================
CONVERT:	CLRM	R1
		CLRM	R2
CON_01:		MOVAM	R2
		BCM	STATUS,C
		MOVLA	.10
		SUBAM	R2,A
		BTMSS	STATUS,C

		LGOTO	CON_02
		INCM	R1
		LGOTO	CON_01
CON_02:		RET	
;================================================		
PLAY_MUTE:	LCALL   ON24
		MOVLA  0X88
		MOVAM  R4
		LCALL   WBYTE
		BTMSC	FLAG,MUTE
		LGOTO	MUT_P
		LGOTO	PLY_P
PLY_P:		MOVLA	0XF8
		LGOTO	M_P_01
MUT_P:		MOVLA	0XF9
M_P_01:		MOVAM	R4
		LCALL   WBYTE
		LCALL   OFF24
		RET
;;;;;;;;;;INIT  PT2258;;;;;;;;;;;;;;;;		
PT225801:	LCALL   ON24
		MOVLA   0X88
		MOVAM	R4
		LCALL    WBYTE
		
		MOVLA	0XC7
		MOVAM	R4
		LCALL   WBYTE
				
		MOVM    MVOLG,A
		LCALL   CONVERT
		MOVLA	0XD0
		ADDAM   R4,M
		LCALL   WBYTE
		
		MOVLA   0XE0
		ADDAM	R4,M
		LCALL   WBYTE
		LCALL   OFF24
		RET
FVOL:   	LCALL   ON24
		MOVLA	0X88
		MOVAM	R4
		LCALL   WBYTE
		
		MOVLA	0XC7
		MOVAM	R4
		LCALL   WBYTE
			
		MOVM    FVOLG,A
		SUBAM   MVOLG,A
		LCALL   CONVERT
		MOVM	R1,A
		MOVAM	R5
		MOVM	R2,A
		MOVAM	R6
		
		MOVLA	0X60
		ADDAM	R1,A
		MOVAM	R4
		LCALL   WBYTE
		
		MOVLA	0X70
		ADDAM	R2,A
		MOVAM	R4
		LCALL    WBYTE
			
		MOVLA	0X80
		ADDAM	R5,A
		MOVAM	R4
		LCALL   WBYTE
		
		MOVLA	0X90
		ADDAM	R6,A
		MOVAM	R4
		LCALL   WBYTE
		
		LCALL   OFF24
		RET		
SVOL:		LCALL   ON24
		MOVLA  0X88
		MOVAM	R4
		LCALL   WBYTE
		
		MOVM	SVOLG,A
		SUBAM	MVOLG,A
		LCALL   CONVERT
		MOVM	R1,A
		MOVAM	R5
		MOVM	R2,A
		MOVAM	R6
		
		MOVLA	0X00
		ADDAM	R1,A
		MOVAM	R4
		LCALL   WBYTE
		MOVLA	0X10
		ADDAM	R2,A
		MOVAM	R4
		LCALL   WBYTE
		
		MOVLA	0X20
		ADDAM	R5,A
		MOVAM	R4
		LCALL    WBYTE
		CLRM	R4
		MOVLA	0X30
		ADDAM	R6,A
		MOVAM	R4
		LCALL   WBYTE
		LCALL   OFF24
		NOP
		RET	
CVOL:		LCALL   ON24
		MOVLA	0X88
		MOVAM	 R4
		LCALL	WBYTE
		
		MOVM	CVOLG,A
		SUBAM	MVOLG,A
		LCALL    CONVERT
		
		MOVLA	0X40
		ADDAM	R1,A
		MOVAM	R4
		LCALL	WBYTE
		
		MOVLA	0X50
		ADDAM	R2,A
		MOVAM	R4
		LCALL	WBYTE
		LCALL	OFF24
		NOP
		RET	
WVOL:		LCALL   ON24
		MOVLA	0X88
		MOVAM	R4
		LCALL	WBYTE
		
		MOVM	WVOLG,A
		SUBAM	MVOLG,A
		LCALL    CONVERT
		
		MOVLA	0XA0
		ADDAM	R1,A
		MOVAM	R4
		LCALL   WBYTE
		MOVLA	0XB0
		ADDAM	R2,A
		MOVAM	R4
		LCALL   WBYTE
		
		
		LCALL   OFF24
		NOP
		RET	
	
;=================================			
WBYTE:		MOVLA	.8
		MOVAM	R3
WBY0:		BCM	 PORT5,SCL
		NOP
		NOP	
		NOP
		NOP	
		RLM      R4,M
		BCM	 PORT5,SDA
		NOP	
		NOP
		NOP
		BTMSS	 STATUS,C
		LGOTO 	 WBY1
		BSM	 PORT5,SDA
WBY1:		NOP	
		NOP
		NOP	
		NOP	
		BSM	 PORT5,SCL

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -