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

📄 scanmainloop.asm

📁 台湾IC 8A APHAP初试化实现好东西下载
💻 ASM
字号:
Debounce_Count = 0x0A

;----------- Scan key main loop -------------
Main_Loop:
	MOVIB	0
;--------------- Scan Key --------------------
Scan_Key:
	SREQZ	DEBS
	JMP	Debounce_Process
;--------------------------
	MOVRA	PRA
	XORARA	PRA_LAST
	MOVAR	PRA_CH_BIT
	SREQZ	PRA_CH_BIT
	JMP	Port_Change	;PRA /= PRA_LAST
	JMP	SCAN_KEY_END	;PRA = PRA_LAST
;=============Debounce_Process===========v
Debounce_Process:
	DECRR	DEBS
	SREQZ	DEBS
	JMP	SCAN_KEY_END	;DEBS /= 0
;--------------------------	DEBS = 0
	MOVRA	PRA
	ANDARA	PRA_CH_BIT
	SREQZ	ACC		;Skip if ACC = 0 (UNSUCCESS)
	JMP	RisingTG_judge
	JMP	FallingTG_judge	;PRA.ch /= PRA_LAST.ch (Odd Trigger)
RisingTG_judge:
	SREQZ	FLAG_R1_F0
	JMP	PortA_Trigger_OK	;OK
	JMP	UNSUCCESS
FallingTG_judge:
	SREQZ	FLAG_R1_F0
	JMP	UNSUCCESS
;--------------------------	;PRA=PRA_LAST
PortA_Trigger_OK:
	Restore_InSt_PRA_DTR	;Trigger OK
;=============Debounce_Process===========^
Port_Change:
	MOVRA	PRA
	ANDARA	PRA_CH_BIT	; ACC <= [ACC(PRA_CH_BIT) & PRA]
	SREQZ	ACC
	JMP	Rising
Falling:
	MOVIA	0x0		;Set Falling
	MOVAR	FLAG_R1_F0	;

	MOVRA	PRA_Falling
	ANDARA	PRA_CH_BIT	; ACC <= [ACC(PRA_CH_BIT) & PRA_Falling]
	SREQZ	ACC
	JMP	Falling_OK
	JMP	UNSUCCESS
Rising:
	MOVRA	PRA_Rising
	ANDARA	PRA_CH_BIT	; ACC <= [ACC(PRA_CH_BIT) & PRA_Rising]
	SREQZ	ACC
	JMP	Rising_OK	;Rising Edge
;	JMP	UNSUCCESS
;--------------------------
UNSUCCESS:
	JMP	SCAN_OK

Rising_OK:
	MOVIA	0x1		;Set Rising
	MOVAR	FLAG_R1_F0	;
Falling_OK:
	MOVIR	DEBS,Debounce_Count
	MOVFR	PRA,PRA_LAST
	JMP	Debounce_Process
SCAN_OK:
	MOVFR	PRA,PRA_LAST
SCAN_KEY_END:

;----------- FrontDelay_ASM -------------
FrontDelay_ASM:
	SRBR	Main_Flag,3
	JMP	Delay_END
Delay_Count:
	DECRRSZ	F_DELAY_0
	JMP	Delay_END
	DECRRSZ	F_DELAY_1
	JMP	Delay_END
Count_Over:
	MOVIA	B'1111'
	MOVAR	Main_Flag
	Restore_DTR1
Delay_END:



	CALL	Delay1ms_nop
Main_Loop_END:
	JMP	Main_Loop

⌨️ 快捷键说明

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