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

📄 zzw0504121v01.asm

📁 万能遥控器:此遥控器是由TENX单片机编写程序所写的
💻 ASM
📖 第 1 页 / 共 5 页
字号:
	RTCC	EQU  01H
	PC	EQU  02H
	STATUS	EQU  03H
	FSR	EQU  04H
	RA	EQU  05H
	RB	EQU  06H
	RC	EQU  07H
	
	BUFFER1		EQU  08H
	BUFFER2		EQU  09H
	KEY_COUNT	EQU  0AH
	KEY_LINE	EQU  0BH
	KEY_DATA	EQU  0CH
	R_COUNT1	EQU  0DH
	R_COUNT2	EQU  0EH
	COUNT1		EQU  1DH
	COUNT2		EQU  10H
	LEAD_CODE1	EQU  11H
	LEAD_CODE2	EQU  12H
	SIGN		EQU  13H
	TV_SIGN		EQU  14H
	LEAD_3010_CODE	EQU  16H
	LEAD_3010_CODE2	EQU  17H
	DATA1		EQU  1BH
	DATA2		EQU  1CH
	K		EQU  18H
	LEAD_3004_CODE	EQU  0FH
	;LEAD_3004_CODE2	EQU  1FH
	DATA3		EQU  19H
	DATA4		EQU  1AH
	MODE_COUNT	EQU  15H
	SET_SIGN	EQU  17H;30H
	
	TM58PC20	EQU  7FFH
	ORG	TM58PC20
	LGOTO   F_MAIN
	ORG	0
;;^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
;;^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TAB_TV_MODE
	ADDAM	PC,1
	NOP
	RETLA   01H
	RETLA   02H
	RETLA   04H
	RETLA   08H
	RETLA   10H
	RETLA   20H
;;*****************************************************
;;                         模式1
;;*****************************************************
;M001:	3010	Custom Code: 11X  00000(M070
;;*****************************************************
TAB_M001
		ADDAM   PC,1
		NOP
		RETLA	0CH	;K1:电源
		RETLA	0EH    ;K2:TV/AV
		RETLA	26H    ;K3:睡眠
		RETLA	01H    ;K4:1
		RETLA	02H    ;K5:2
		RETLA	03H    ;K6:3
		RETLA	04H    ;K7:4
		RETLA	05H    ;K8:5
                
		RETLA	06H    ;K9:6
		RETLA	07H    ;K10:7
		RETLA	08H    ;K11:8
		RETLA	09H    ;K12:9
		RETLA	00H    ;K13:0
		RETLA	0AH    ;K14:跳播
		RETLA	22H    ;K15:往复
		RETLA	0BH    ;K16:制式
                
		RETLA	23H    ;K17:丽音
		RETLA	2EH    ;K18:正常
		RETLA	2AH    ;K19:伴音
		RETLA	2BH    ;K20:画中画
		RETLA	3FH    ;K21:上
		RETLA	38H    ;K22:菜单
		RETLA	11H    ;K23:左
		RETLA	3CH    ;K24:下
                
		RETLA	10H    ;K25:右
		RETLA	3BH    ;K26:OK
		RETLA	0FH    ;K27:屏显
		RETLA	0DH    ;K28:静音
		RETLA	10H    ;K29:音量+
		RETLA	11H    ;K30:音量-
		RETLA	20H    ;K31:频道+
		RETLA	21H    ;K32:频道-   
		RETLA   0FFH   ;K33
;;***********************************************************
;M002:	50462	Custom Code: 47(M011
;;***********************************************************
TAB_M002
		ADDAM   PC,1
		NOP
		RETLA	02H	;K1:电源
		RETLA	3AH    ;K2:TV/AV
		RETLA	17H    ;K3:睡眠
		RETLA	00H    ;K4:1
		RETLA	08H    ;K5:2
		RETLA	10H    ;K6:3
		RETLA	18H    ;K7:4
		RETLA	20H    ;K8:5
                
		RETLA	28H    ;K9:6
		RETLA	30H    ;K10:7
		RETLA	38H    ;K11:8
		RETLA	01H    ;K12:9
		RETLA	09H    ;K13:0
		RETLA	11H    ;K14:跳播
		RETLA	0FH    ;K15:往复
		RETLA	97H    ;K16:制式
                
		RETLA	03H    ;K17:丽音
		RETLA	0BH    ;K18:正常
		RETLA	87H    ;K19:伴音
		RETLA	29H    ;K20:画中画
		RETLA	33H    ;K21:上
		RETLA	34H    ;K22:菜单
		RETLA	2BH    ;K23:左
		RETLA	3BH    ;K24:下
                
		RETLA	23H    ;K25:右
		RETLA	3CH    ;K26:OK
		RETLA	1BH    ;K27:屏显
		RETLA	32H    ;K28:静音
		RETLA	22H    ;K29:音量+
		RETLA	2AH    ;K30:音量-
		RETLA	0AH    ;K31:频道+
		RETLA	12H    ;K32:频道-
		RETLA   0FFH   ;K33
;;*******************************************************************
;;M003:	6122	Custom Code: 03 FC(M190)
;;*******************************************************************
TAB_M003
		ADDAM   PC,1
		NOP
		RETLA	0BH    ;K1:电源
		RETLA	1DH    ;K2:TV/AV
		RETLA	0DH    ;K3:睡眠
		RETLA	00H    ;K4:1
		RETLA	10H    ;K5:2
		RETLA	11H    ;K6:3
		RETLA	13H    ;K7:4
		RETLA	14H    ;K8:5
                
		RETLA	15H    ;K9:6
		RETLA	17H    ;K10:7
		RETLA	18H    ;K11:8
		RETLA	19H    ;K12:9
		RETLA	1CH    ;K13:0
		RETLA	1BH    ;K14:跳播
		RETLA	4CH    ;K15:往复
		RETLA	08H    ;K16:制式
                
		RETLA	4EH    ;K17:丽音
		RETLA	46H    ;K18:正常
		RETLA	48H    ;K19:伴音
		RETLA	4EH    ;K20:画中画
		RETLA	47H    ;K21:上
		RETLA	4AH    ;K22:菜单
		RETLA	49H    ;K23:左
		RETLA	4DH    ;K24:下
                
		RETLA	4BH    ;K25:右
		RETLA	4EH    ;K26:OK
		RETLA	4EH    ;K27:屏显
		RETLA	0AH    ;K28:静音
		RETLA	4BH    ;K29:音量+
		RETLA	49H    ;K30:音量-
		RETLA	47H    ;K31:频道+
		RETLA	4DH    ;K32:频道-
		RETLA   0FFH   ;K33
;;**************************************************************
;M004:	6122	Custom Code:01 FC(M242
;;**************************************************************
TAB_M004
		ADDAM   PC,1
		NOP
		RETLA	0DCH    ;K1:电源
		RETLA	0C0H    ;K2:TV/AV
		RETLA	8CH    ;K3:睡眠
		RETLA	92H    ;K4:1
		RETLA	93H    ;K5:2
		RETLA	0CCH    ;K6:3
		RETLA	8EH    ;K7:4
		RETLA	8FH    ;K8:5
                
		RETLA	0C8H    ;K9:6
		RETLA	8AH    ;K10:7
		RETLA	8BH    ;K11:8
		RETLA	0C4H    ;K12:9
		RETLA	87H    ;K13:0
		RETLA	86H    ;K14:跳播
		RETLA	0DAH    ;K15:往复
		RETLA	0DFH    ;K16:制式
                
		RETLA	8DH    ;K17:丽音
		RETLA	85H    ;K18:正常
		RETLA	0C2H    ;K19:伴音
		RETLA	95H    ;K20:画中画
		RETLA	0DDH    ;K21:上
		RETLA	0CEH    ;K22:菜单
		RETLA	0D6H    ;K23:左
		RETLA	0CDH    ;K24:下
                
		RETLA	89H    ;K25:右
		RETLA	0D1H    ;K26:OK
		RETLA	0D9H    ;K27:屏显
		RETLA	9CH    ;K28:静音
		RETLA	0C1H    ;K29:音量+
		RETLA	99H    ;K30:音量-
		RETLA	0CAH    ;K31:频道+
		RETLA	0D2H    ;K32:频道- 
		RETLA   0FFH   ;K33
;;*****************************************************************
;M005:	6122	Custom Code:00 FE(M241
;;*****************************************************************
TAB_M005
		ADDAM   PC,1
		NOP
		RETLA	0DCH    ;K1:电源
		RETLA	0C0H    ;K2:TV/AV
		RETLA	0D4H    ;K3:睡眠
		RETLA	92H    ;K4:1
		RETLA	93H    ;K5:2
		RETLA	0CCH    ;K6:3
		RETLA	8EH    ;K7:4
		RETLA	8FH    ;K8:5
                
		RETLA	0C8H    ;K9:6
		RETLA	8AH    ;K10:7
		RETLA	8BH    ;K11:8
		RETLA	0C4H    ;K12:9
		RETLA	87H    ;K13:0
		RETLA	86H    ;K14:跳播
		RETLA	8CH    ;K15:往复
		RETLA	00H    ;K16:制式
                
		RETLA	9BH    ;K17:丽音
		RETLA	81H    ;K18:正常
		RETLA	0D9H    ;K19:伴音
		RETLA	00H    ;K20:画中画
		RETLA	0CAH    ;K21:上
		RETLA	0CEH    ;K22:菜单
		RETLA	99H    ;K23:左
		RETLA	0D2H    ;K24:下
                
		RETLA	0C1H    ;K25:右
		RETLA	00H    ;K26:OK
		RETLA	00H    ;K27:屏显
		RETLA	9CH    ;K28:静音
		RETLA	0C1H    ;K29:音量+
		RETLA	99H    ;K30:音量-
		RETLA	0CAH    ;K31:频道+
		RETLA	0D2H    ;K32:频道- 
		RETLA   0FFH   ;K33
;;*************************************************************** 
;;M006:6122	Custom Code:08  F7 (M260)
;;***************************************************************
TAB_M006
		ADDAM   PC,1
		NOP
		RETLA	03H    ;K1:电源
		RETLA	08H    ;K2:TV/AV
		RETLA	0DH    ;K3:睡眠
		RETLA	12H    ;K4:1
		RETLA	11H    ;K5:2
		RETLA	10H    ;K6:3
		RETLA	16H    ;K7:4
		RETLA	15H    ;K8:5
                
		RETLA	14H    ;K9:6
		RETLA	1AH    ;K10:7
		RETLA	19H    ;K11:8
		RETLA	18H    ;K12:9
		RETLA	1DH    ;K13:0
		RETLA	1EH    ;K14:跳播
		RETLA	1CH    ;K15:往复
		RETLA	53H    ;K16:制式
                
		RETLA	07H    ;K17:丽音
		RETLA	55H    ;K18:正常
		RETLA	57H    ;K19:伴音
		RETLA	0FH    ;K20:画中画
		RETLA	02H    ;K21:上
		RETLA	04H    ;K22:菜单
		RETLA	06H    ;K23:左
		RETLA	05H    ;K24:下
                
		RETLA	01H    ;K25:右
		RETLA	09H    ;K26:OK ;
		RETLA	0AH    ;K27:屏显
		RETLA	00H    ;K28:静音
		RETLA	01H    ;K29:音量+
		RETLA	06H    ;K30:音量-
		RETLA	02H    ;K31:频道+
		RETLA	05H    ;K32:频道-
		RETLA   0FFH   ;K33
;;******************************************************************
;M007:	50560	Custom Code: 02(M025
;;******************************************************************
TAB_M007
		ADDAM   PC,1
		NOP
		RETLA	0EH	;K1:电源
		RETLA	0DH    ;K2:TV/AV
		RETLA	36H    ;K3:睡眠
		RETLA	10H    ;K4:1
		RETLA	11H    ;K5:2
		RETLA	12H    ;K6:3
		RETLA	13H    ;K7:4
		RETLA	14H    ;K8:5
                
		RETLA	15H    ;K9:6
		RETLA	16H    ;K10:7
		RETLA	17H    ;K11:8
		RETLA	18H    ;K12:9
		RETLA	19H    ;K13:0
		RETLA	1AH    ;K14:跳播
		RETLA	0AH    ;K15:往复
		RETLA	37H    ;K16:制式
                
		RETLA	0CH    ;K17:丽音
		RETLA	0BH    ;K18:正常
		RETLA	1BH    ;K19:伴音
		RETLA	00H    ;K20:画中画
		RETLA	05H    ;K21:上
		RETLA	35H    ;K22:菜单
		RETLA	08H    ;K23:左
		RETLA	06H    ;K24:下
                
		RETLA	07H    ;K25:右
		RETLA	36H    ;K26:OK
		RETLA	0FH    ;K27:屏显
		RETLA	09H    ;K28:静音
		RETLA	03H    ;K29:音量+
		RETLA	04H    ;K30:音量-
		RETLA	01H    ;K31:频道+
		RETLA	02H    ;K32:频道- 
		RETLA   0FFH   ;K33
;;**************************************************
;;名称:SCAN_KEY
;;功能:按键扫描
;;入口:无
;;出口:无
;;**************************************************
SCAN_KEY
	MOVLA	00H
	MOVAM   RA
	MOVLA   00H
	IODIR	RA
	BTMSS   SET_SIGN,0
	BSM     RA,1
	BTMSC   SET_SIGN,1
	BCM     RA,1
	MOVLA   0FFH
	MOVAM   RB
	MOVLA   0FH
	IODIR   RB
	MOVLA   00H
	IODIR   RC
	MOVLA   0FFH
	MOVAM   RC
	CLRM    KEY_LINE
	CLRM    KEY_COUNT
	CLRM    BUFFER2
	MOVLA   0F0H
	ANDAM   SIGN,1
	CLRM    COUNT2
	MOVLA   0EFH
	MOVAM   BUFFER1
SCAN_KEY1
	MOVM    BUFFER1,0
	MOVAM   RB
	INCM    KEY_LINE,1
SCAN_KEY2
	MOVM    RB,0
	MOVAM   BUFFER2
	MOVLA   04H
	LCALL   DELAY_26US
	MOVM    RB,0
	XORAM   BUFFER2,0
	BTMSS   STATUS,2
	LGOTO   SCAN_KEY2
	MOVLA   04H
	MOVAM   COUNT1
SCAN_KEY3
	INCM    COUNT2,1
	BCM     STATUS,0
	RRM     BUFFER2,1
	BTMSS   STATUS,0
	LCALL   HAVE_KEY
	MOVLA   04H
	SUBAM   COUNT1,0
	BTMSC   STATUS,0
	INCM    COUNT2,1
	DECMSZ  COUNT1,1
	LGOTO   SCAN_KEY3
	MOVLA   04H
	SUBAM   KEY_LINE,0
	BTMSC   STATUS,0
	LGOTO   SCAN_KEY4
	BSM     STATUS,0
	RLM     BUFFER1,1
	LGOTO   SCAN_KEY1
SCAN_KEY4
	MOVLA   04H
	XORAM   KEY_LINE,0
	BTMSS   STATUS,2
	LGOTO   SCAN_KEY5
	INCM    KEY_LINE,1
	MOVLA   0DFH
	MOVAM   BUFFER1
	MOVAM   RC
	LGOTO   SCAN_KEY2
SCAN_KEY5
	BSM     STATUS,0
	RLM     BUFFER1,1
	MOVLA   07H
	SUBAM   KEY_LINE,0
	BTMSC   STATUS,0
	RETLA   0
	INCM    KEY_LINE,1
	MOVM	BUFFER1,0
	MOVAM   RC
	LGOTO   SCAN_KEY2
	
HAVE_KEY
	BTMSS   SIGN,0
	LGOTO   HAVE_KEY_1
	MOVLA   22H
	SUBAM   COUNT2,0
	BTMSS   STATUS,0
	LGOTO   EXIT_HAVE_KEY
TEST_FUNCTION
	MOVLA   12H;0AH
	XORAM   KEY_COUNT,0
	BTMSC   STATUS,2
	LGOTO   ADD_LOCK
	MOVLA   1BH;05H
	XORAM   KEY_COUNT,0
	BTMSC   STATUS,2
	LGOTO   DISPLAY_MODE
	RETLA   0
EXIT_HAVE_KEY
	RETLA   0
ADD_LOCK
	BTMSC   SET_SIGN,7
	LGOTO   $+5
	BSM     SET_SIGN,7
	BTMSC   SET_SIGN,0
	LGOTO   ADD_LOCK1
	BSM     SET_SIGN,0
	RETLA   0
ADD_LOCK1
	BSM     SET_SIGN,7
	BCM     SET_SIGN,0
	RETLA   0
DISPLAY_MODE
	BSM     SET_SIGN,1
	RETLA   0
HAVE_KEY_1
	MOVLA   04H
	SUBAM   COUNT1,0
	BTMSS   STATUS,0
	LGOTO   HAVE_KEY_2
	BTMSC   BUFFER2,0
	LGOTO   HAVE_KEY_2
	INCM    COUNT2,0
	MOVAM   KEY_COUNT
	BSM     SIGN,0
	RETLA   0
HAVE_KEY_2
	MOVM    COUNT2,0
	MOVAM   KEY_COUNT
	BSM     SIGN,0
	RETLA   0
;;************************************************
;;名称:DELAY_26US
;;功能:延时26微秒,发射头不发码(不通电)
;;入口:无
;;出口:无
;;说明:该子程序用到了R_COUNT1和R_COUNT2两个寄存器
;;	每种格式的码都需要这个子程序
;;************************************************
DELAY_26US		;需要延时多少个26微秒
	MOVAM   R_COUNT1
DELAY_1			;以下是26微秒延时
	MOVLA   04H
	MOVAM   R_COUNT2
DELAY_2
	NOP
	NOP
	DECMSZ  R_COUNT2,1
	LGOTO    DELAY_2
	NOP
	DECMSZ  R_COUNT1,1
	LGOTO    DELAY_1
	RETLA   0
;;************************************************
;;名称:DELAY_0.5MS
;;功能:延时0.5毫秒,发射头不发码(不通电)
;;入口:无
;;出口:无
;;说明:该子程序用到了R_COUNT1和R_COUNT2两个寄存器
;;	每种格式的码都需要这个子程序
;;************************************************
DELAY_0.5MS
	MOVAM   R_COUNT1
DELAY1
	MOVLA   62H;7MS
	MOVAM   R_COUNT2
DELAY2
	NOP
	NOP
	DECMSZ  R_COUNT2,1
	LGOTO    DELAY2
	NOP
	NOP
	NOP
	NOP
	DECMSZ  R_COUNT1,1
	LGOTO    DELAY1
	RETLA   0
;;**************************************************
;;名称:PLAY_WAVE_38K
;;功能:在发射头上加载38K的载波
;;入口:无
;;出口:无
;;说明:该子程序中用到了COUNT1和COUNT2两个子程序
;;	每种格式的码都需要这个子程序
;;**************************************************
PLAY_WAVE_38K
	MOVAM  COUNT1
WAVE_38K
	BSM    RA,0

⌨️ 快捷键说明

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