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

📄 p08008-1.asm

📁 IPOD通讯控制程序,采用ETA的MCU,对IPOD进行控制
💻 ASM
📖 第 1 页 / 共 5 页
字号:
					;
					CMLE			MODE_MARK,#0001B			;mode4 SUB无效
					BR				!R_KEY_F_18A
					LDM				SERIES_ACTION,#3		;开启连续按键功能
					LDM				SERIES_C,#11						;设定1秒连续按键起始延时
					LDM				SERIES_R,#0
SERIES_RKEY_F_5:
					CALL			!ADD_SUB
					;7月26日加得功能,封锁音量极限,不给予动作
					CMNE			VOL_FULL,#0
					BR				!R_KEY_F_18A
					;
					LDM				SRSAI_ACTION,#7
					LDM				SRSAI_FLOW,#0
					LDM				LEDAI_ACTION,#2
R_KEY_F_18A:
					RET
R_KEY_F_19:
					CMNE			R_KEY_STATUS1,#4		;SUB VOL-
					BR				!R_KEY_F_20
					CMNE			R_KEY_STATUS2,#1
					BR				!R_KEY_F_20
					;11月12日加,静音下安音量控制就取消MUTE
					TM				STATUS_MARK.#2
					BR				!R_KEY_F_12C
					;
					CMLE			MODE_MARK,#0001B			;mode4 SUB无效
					BR				!R_KEY_F_19A
					LDM				SERIES_ACTION,#4		;开启连续按键功能
					LDM				SERIES_C,#11						;设定1秒连续按键起始延时
					LDM				SERIES_R,#0
SERIES_RKEY_F_6:
					CALL			!SUB_SUB
					;7月26日加得功能,封锁音量极限,不给予动作
					CMNE			VOL_FULL,#0
					BR				!R_KEY_F_19A
					;
					LDM				SRSAI_ACTION,#7
					LDM				SRSAI_FLOW,#0
					LDM				LEDAI_ACTION,#2
R_KEY_F_19A:
					RET
R_KEY_F_20:
					CMNE			R_KEY_STATUS1,#5		;FRONT VOL+
					BR				!R_KEY_F_21
					CMNE			R_KEY_STATUS2,#1
					BR				!R_KEY_F_21
					;11月12日加,静音下安音量控制就取消MUTE
					TM				STATUS_MARK.#2
					BR				!R_KEY_F_12C
					;
					LDM				SERIES_ACTION,#5		;开启连续按键功能
					LDM				SERIES_C,#11						;设定1秒连续按键起始延时
					LDM				SERIES_R,#0
SERIES_RKEY_F_7:
					CALL			!ADD_FRONT
					;7月26日加得功能,封锁音量极限,不给予动作
					CMNE			VOL_FULL,#0
					BR				!R_KEY_F_19A
					;
					LDM				SRSAI_ACTION,#7
					LDM				SRSAI_FLOW,#0
					LDM				LEDAI_ACTION,#2
					RET
R_KEY_F_21:
					CMNE			R_KEY_STATUS1,#6		;FRONT VOL-
					BR				!START
					CMNE			R_KEY_STATUS2,#1
					BR				!START
					;11月12日加,静音下安音量控制就取消MUTE
					TM				STATUS_MARK.#2
					BR				!R_KEY_F_12C
					;
					LDM				SERIES_ACTION,#6		;开启连续按键功能
					LDM				SERIES_C,#11						;设定1秒连续按键起始延时
					LDM				SERIES_R,#0
SERIES_RKEY_F_8:
					CALL			!SUB_FRONT
					;7月26日加得功能,封锁音量极限,不给予动作
					CMNE			VOL_FULL,#0
					BR				!R_KEY_F_19A
					;
					LDM				SRSAI_ACTION,#7
					LDM				SRSAI_FLOW,#0
					LDM				LEDAI_ACTION,#2
					RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
SERIES_RKEY_F:
					CMNE			SERIES_ACTION,#0000B
					BR				!SERIES_RKEY_F_1
					RET
SERIES_RKEY_F_1:
					CMNE			SERIES_R,#15		;红外信号刚接收完
					BR				!SERIES_RKEY_F_X
					LDM				SERIES_R,#0
					CLRC
					ADDC			SERIES_C,#1
					LDM				SERIES_C,A
					TSTC
					BR				!SERIES_RKEY_F_2
SERIES_RKEY_F_X:
					RET
SERIES_RKEY_F_2:
					LDM				SERIES_C,#14
					;
					CMLE			SERIES_ACTION,#1
					BR				!SERIES_RKEY_F_3
					CMLE			SERIES_ACTION,#2
					BR				!SERIES_RKEY_F_4
					CMLE			SERIES_ACTION,#3
					BR				!SERIES_RKEY_F_5
					CMLE			SERIES_ACTION,#4
					BR				!SERIES_RKEY_F_6
					CMLE			SERIES_ACTION,#5
					BR				!SERIES_RKEY_F_7
					CMLE			SERIES_ACTION,#6
					BR				!SERIES_RKEY_F_8
					BR				!START
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
REMOTE_F:
					LDM				SAVE_A,A
					LRI				IRQR,#0000B
					LRI				IENR,#0100B
					LDM				R_MARK_1,#15
					LDM				R_MARK_2,#14
					LRI				T0D0L,#0		;准备8.5MS的低电平扫描
					LRI				T0D0H,#8
					LRI				T0D1L,#10
					LRI				T0D1H,#7
					LRI				T0MR,#1110B
					EI
					WDTC
REMOTE_S:
					LDM				TIME0_MARK,#0000B
					;FUNCTION
					CALL			!R_KEY_SET
					CALL			!ESD
					;FUNCTION
REMOTE_S_1:
					TSTR			PBDR.#0
					BR				!REMOTE_RET
					CMNE			TIME0_MARK,#1111B
					BR				!REMOTE_S_1
					CLRC
					ADDC			R_MARK_1,#1
					LDM				R_MARK_1,A
					ADDC			R_MARK_2,#0
					LDM				R_MARK_2,A
					TSTC
					BR				!REMOTE_S_2
					BR				!REMOTE_S
REMOTE_S_2:
					CALL			!WAIT_H
					CMLE			R_MARK_1,#0		;如果超时溢出,终止接收程序
					BR				!REMOTE_RET
					LRI				T0MR,#0010B		;准备4MS的低电平扫描
					LRI				T0D0L,#0
					LRI				T0D0H,#8
					LRI				T0D1L,#10
					LRI				T0D1H,#7
					LRI				T0MR,#1110B
					LDM				R_MARK_1,#8
REMOTE_S_3:
					LDM				TIME0_MARK,#0000B
					;FUNCTION
					CALL			!R_KEY_SET
					CALL			!ESD
					;FUNCTION
REMOTE_S_4:
					TSTR			PBDR.#0
					BR				!REMOTE_S_5
					;判断重复码
					CMLE			R_MARK_1,#11
					BR				!REMOTE_RET
					CMLE			R_MARK_1,#13
					BR				!REPEAT_CODE
					BR				!REMOTE_RET
					;
REMOTE_S_5:
					CMNE			TIME0_MARK,#1111B
					BR				!REMOTE_S_4
					CLRC
					ADDC			R_MARK_1,#1
					LDM				R_MARK_1,A
					TSTC
					BR				!REMOTE_S_6
					BR				!REMOTE_S_3
REMOTE_S_6:
					CALL			!WAIT_L
					CMLE			R_MARK_1,#0		;如果超时溢出,终止接收程序
					BR				!REMOTE_RET
					LDM				R_DATA_1,#0
					LDM				R_DATA_2,#0
					LDM				R_DATA_3,#0
					LDM				R_DATA_4,#0
					LDM				R_DATA_5,#0
					LDM				R_DATA_6,#0
					LDM				R_DATA_7,#0
					LDM				R_DATA_8,#0
					;;;;;;;;;;
					CALL			!DATA_RECEIVE
					CMLE			R_MARK_1,#0
					BR				!REMOTE_RET
					LDA				R_DATA
					LDM				R_DATA_8,A
					CALL			!DATA_RECEIVE
					CMLE			R_MARK_1,#0
					BR				!REMOTE_RET
					LDA				R_DATA
					LDM				R_DATA_7,A
					CALL			!DATA_RECEIVE
					CMLE			R_MARK_1,#0
					BR				!REMOTE_RET
					LDA				R_DATA
					LDM				R_DATA_6,A
					CALL			!DATA_RECEIVE
					CMLE			R_MARK_1,#0
					BR				!REMOTE_RET
					LDA				R_DATA
					LDM				R_DATA_5,A
					CALL			!DATA_RECEIVE
					CMLE			R_MARK_1,#0
					BR				!REMOTE_RET
					LDA				R_DATA
					LDM				R_DATA_4,A
					CALL			!DATA_RECEIVE
					CMLE			R_MARK_1,#0
					BR				!REMOTE_RET
					LDA				R_DATA
					LDM				R_DATA_3,A
					CALL			!DATA_RECEIVE
					CMLE			R_MARK_1,#0
					BR				!REMOTE_RET
					LDA				R_DATA
					LDM				R_DATA_2,A
					CALL			!DATA_RECEIVE
					CMLE			R_MARK_1,#0
					BR				!REMOTE_RET
					LDA				R_DATA
					LDM				R_DATA_1,A
					;;;;;;;;;;
					LRI				T0MR,#0010B		;准备做最后一次1ms扫描,必须有上升电平
					LRI				T0D0L,#15
					LRI				T0D0H,#15
					LRI				T0D1L,#15
					LRI				T0D1H,#15
					LRI				T0MR,#1110B
					LDM				R_MARK_1,#0
					LDM				TIME0_MARK,#0000B
					;FUNCTION
REPEAT_CODE_1:
					LDA				#1111B
					XOR				R_DATA_8
					CANE			R_DATA_6
					BR				!REMOTE_RET
					LDA				#1111B
					XOR				R_DATA_7
					CANE			R_DATA_5
					BR				!REMOTE_RET
					LDA				#1111B
					XOR				R_DATA_4
					CANE			R_DATA_2
					BR				!REMOTE_RET
					LDA				#1111B
					XOR				R_DATA_3
					CANE			R_DATA_1
					BR				!REMOTE_RET
					;客户码确认
					CMNE			R_DATA_8,#8
					BR				!REMOTE_RET
					CMNE			R_DATA_7,#0
					BR				!REMOTE_RET
					;
					CMNE			R_DATA_4,#0DH
					BR				!REMOTE_A
					CMNE			R_DATA_3,#0
					BR				!REMOTE_A
					LDM				R_KEY_OUT1,#1	;POWER ON/OFF
					LDM				R_KEY_OUT2,#0
					BR				!REMOTE_Z
REMOTE_A:
					CMNE			R_DATA_4,#8
					BR				!REMOTE_B
					CMNE			R_DATA_3,#2
					BR				!REMOTE_B
					LDM				R_KEY_OUT1,#2	;INPUT1
					LDM				R_KEY_OUT2,#0
					BR				!REMOTE_Z
REMOTE_B:
					CMNE			R_DATA_4,#8
					BR				!REMOTE_C
					CMNE			R_DATA_3,#0
					BR				!REMOTE_C
					LDM				R_KEY_OUT1,#3	;INPUT2
					LDM				R_KEY_OUT2,#0
					BR				!REMOTE_Z
REMOTE_C:
					CMNE			R_DATA_4,#4
					BR				!REMOTE_D
					CMNE			R_DATA_3,#0
					BR				!REMOTE_D
					LDM				R_KEY_OUT1,#4	;INPUT3
					LDM				R_KEY_OUT2,#0
					BR				!REMOTE_Z
REMOTE_D:
					CMNE			R_DATA_4,#0CH
					BR				!REMOTE_E
					CMNE			R_DATA_3,#0
					BR				!REMOTE_E
					LDM				R_KEY_OUT1,#5	;INPUT4
					LDM				R_KEY_OUT2,#0
					BR				!REMOTE_Z
REMOTE_E:
					CMNE			R_DATA_4,#5
					BR				!REMOTE_G
					CMNE			R_DATA_3,#2
					BR				!REMOTE_G
					LDM				R_KEY_OUT1,#6	;MODE1
					LDM				R_KEY_OUT2,#0
					BR				!REMOTE_Z
REMOTE_G:
					CMNE			R_DATA_4,#2
					BR				!REMOTE_H
					CMNE			R_DATA_3,#0
					BR				!REMOTE_H
					LDM				R_KEY_OUT1,#7	;MODE2
					LDM				R_KEY_OUT2,#0
					BR				!REMOTE_Z
REMOTE_H:
					CMNE			R_DATA_4,#0AH
					BR				!REMOTE_I
					CMNE			R_DATA_3,#0
					BR				!REMOTE_I
					LDM				R_KEY_OUT1,#8	;MODE3
					LDM				R_KEY_OUT2,#0
					BR				!REMOTE_Z
REMOTE_I:
					CMNE			R_DATA_4,#6
					BR				!REMOTE_J
					CMNE			R_DATA_3,#0
					BR				!REMOTE_J
					LDM				R_KEY_OUT1,#0	;MODE4
					LDM				R_KEY_OUT2,#1
					BR				!REMOTE_Z
REMOTE_J:
					CMNE			R_DATA_4,#9
					BR				!REMOTE_K
					CMNE			R_DATA_3,#0
					BR				!REMOTE_K
					LDM				R_KEY_OUT1,#1	;MAIN VOL+
					LDM				R_KEY_OUT2,#1
					LDM				SERIES_R,#15
					BR				!REMOTE_Z
REMOTE_K:
					CMNE			R_DATA_4,#0CH
					BR				!REMOTE_L
					CMNE			R_DATA_3,#0AH
					BR				!REMOTE_L
					LDM				R_KEY_OUT1,#2	;MAIN VOL-
					LDM				R_KEY_OUT2,#1
					LDM				SERIES_R,#15
					BR				!REMOTE_Z
REMOTE_L:
					CMNE			R_DATA_4,#1
					BR				!REMOTE_M
					CMNE			R_DATA_3,#0
					BR				!REMOTE_M
					LDM				R_KEY_OUT1,#3	;SUB VOL+
					LDM				R_KEY_OUT2,#1
					LDM				SERIES_R,#15
					BR				!REMOTE_Z
REMOTE_M:
					CMNE			R_DATA_4,#0BH
					BR				!REMOTE_N
					CMNE			R_DATA_3,#8
					BR				!REMOTE_N
					LDM				R_KEY_OUT1,#4	;SUB VOL-
					LDM				R_KEY_OUT2,#1
					LDM				SERIES_R,#15
					BR				!REMOTE_Z
REMOTE_N:
					CMNE			R_DATA_4,#2
					BR				!REMOTE_O
					CMNE			R_DATA_3,#8
					BR				!REMOTE_O
					LDM				R_KEY_OUT1,#5	;FRONT VOL+
					LDM				R_KEY_OUT2,#1
					LDM				SERIES_R,#15
					BR				!REMOTE_Z
REMOTE_O:
					CMNE			R_DATA_4,#0FH
					BR				!REMOTE_P
					CMNE			R_DATA_3,#8
					BR				!REMOTE_P
					LDM				R_KEY_OUT1,#6	;FRONT VOL-
					LDM				R_KEY_OUT2,#1
					LDM				SERIES_R,#15
					BR				!REMOTE_Z
REMOTE_P:
					CMNE			R_DATA_4,#0
					BR				!REMOTE_Q
					CMNE			R_DATA_3,#0
					BR				!REMOTE_Q
					LDM				R_KEY_OUT1,#7	;MUTE
					LDM				R_KEY_OUT2,#1
					BR				!REMOTE_Z
REMOTE_Q:
					CMNE			R_DATA_4,#0EH
					BR				!REMOTE_R
					CMNE			R_DATA_3,#0
					BR				!REMOTE_R
					LDM				R_KEY_OUT1,#8	;POP
					LDM				R_KEY_OUT2,#1
					BR				!REMOTE_Z
REMOTE_R:
					CMNE			R_DATA_4,#8
					BR				!REMOTE_T
					CMNE			R_DATA_3,#0AH
					BR				!REMOTE_T
					LDM				R_KEY_OUT1,#0	;开关EQ
					LDM				R_KEY_OUT2,#2
					BR				!REMOTE_Z
REMOTE_T:
					CMNE			R_DATA_4,#3
					BR				!REMOTE_U
					CMNE			R_DATA_3,#8
					BR				!REMOTE_U
					LDM				R_KEY_OUT1,#1	;CLASS
					LDM				R_KEY_OUT2,#2
					BR				!REMOTE_Z
REMOTE_U:
					CMNE			R_DATA_4,#0AH
					BR				!REMOTE_V
					CMNE			R_DATA_3,#8
					BR				!REMOTE_V
					LDM				R_KEY_OUT1,#2	;JASS
					LDM				R_KEY_OUT2,#2
					BR				!REMOTE_Z
REMOTE_V:
					CMNE			R_DATA_4,#4
					BR				!REMOTE_Z
					CMNE			R_DATA_3,#0AH
					BR				!REMOTE_Z
					LDM				R_KEY_OUT1,#3	;ROCK
					LDM				R_KEY_OUT2,#2
					BR				!REMOTE_Z
REMOTE_Z:
					;
					CALL			!R_KEY_SET
					CALL			!ESD
					;FUNCTION
REMOTE_S_7:
					TSTR			PBDR.#0
					BR				!REMOTE_RET1
					CMNE			TIME0_MARK,#1111B
					BR				!REMOTE_S_7
REMOTE_RET:
					CMNE			TIME0_MARK,#1111B	;等定时器溢出才能退出收码程序,确保时间完整
					BR				!REMOTE_RET
					LDM				R_DATA_1,#0
					LDM				R_DATA_2,#0
					LDM				R_DATA_3,#0
					LDM				R_DATA_4,#0
					LDM				R_DATA_5,#0
					LDM				R_DATA_6,#0
					LDM				R_DATA_7,#0
					LDM				R_DATA_8,#0
REMOTE_RET1:
					DI
					LDA				SAVE_A
					LRI				IRQR,#0000B
					LRI				IENR,#1001B
					LRI				T0MR,#0010B
					LRI				T1MR,#1110B
					RETI
REPEAT_CODE:
					;;;;;;;;;;
					LRI				T0MR,#0010B		;准备做最后一次1ms扫描,必须有上升电平
					LRI				T0D0L,#15
					LRI				T0D0H,#15
					LRI				T0D1L,#15
					LRI				T0D1H,#15
					LRI				T0MR,#1110B
					LDM				R_MARK_1,#0
					LDM				TIME0_MARK,#0000B
					BR				!REPEAT_CODE_1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
LED_F:
					TM				STATUS_MARK.#3

⌨️ 快捷键说明

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