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

📄 power_oper.asm

📁 holtek mouse .asm firewave
💻 ASM
字号:
INCLUDE	REG_DEF.INC

PUBLIC	POWER_CTRL

EXTERN	START				:NEAR
EXTERN	DELAY_120MS			:NEAR
EXTERN	INIT_RF				:NEAR
EXTERN	SEN_ENTRY_SLEEP_MODE:NEAR
EXTERN	SEN_INIT			:NEAR
EXTERN	SCAN_KEY			:NEAR
EXTERN		SEN_RESUME		:NEAR

POWER_CTRL_CODE	.SECTION	'CODE'

POWER_CTRL:

		INC		XYZ_ZERO_CNT
		MOV		A, 100			; 8MS*100=800MS
		XOR		A, XYZ_ZERO_CNT
		SZ		ACC
		JMP		NOT_100_TIMES

		SET		XYZ_ZERO_FLAG

	NOT_100_TIMES:

		SZ		MOVEMENT
		JMP		MOVE_OCCURED

		INC		MS_CNT
		MOV		A, 125			; 8MS * 125 = 1000MS = 1 SEC
		XOR		A, MS_CNT
		SZ		ACC
		JMP		NOT_1S_YET

		CLR		MS_CNT

		INC		SEC_CNT
		MOV		A, 60
		XOR		A, SEC_CNT
		SZ		ACC
		JMP		NOT_1M_YET

		CLR		SEC_CNT

		SET		POWER_MODE.2		; 1 MINUTE

		INC		MIN_CNT
		MOV		A, 3
		XOR		A, MIN_CNT
		SZ		ACC
		JMP	NOT_1S_YET
;========================================================================
		;3 MIN WITHOUT ANY MOVEMENT
		;ENTRY POWER SAVING LEVEL 1
		;SHUT DOWN RF

		;SHUT DOWN ARF2496
		CLR		TRRDY
		CLR		PSB
		SET		POWER_MODE.0		; 5 MINUTEs

		;SHUT DOWN MCU
		CLR		TIMER_ENABLE
		
		HALT
		SET		RESUME_FROM_HALT
		RET

	MOVE_OCCURED:
		CLR		MS_CNT
		CLR		SEC_CNT
		CLR		MIN_CNT

		CLR		XYZ_ZERO_CNT
		CLR		XYZ_ZERO_FLAG

		SNZ		POWER_MODE.0
		JMP		RESUME_OK

		SET		PSB		; MCU TO STANDBY MODE
		CALL	DELAY_4MS


	RESUME_OK:
		CLR		POWER_MODE


	NOT_1S_YET:
	NOT_1M_YET:
	NOT_15M_YET:
		CLR		MOVEMENT

		RET

DELAY_4MS:
		MOV		A, 0FFH
		MOV		MS_CNT, A
	D4MSLOOP:
		DEC		MS_CNT
		SZ		MS_CNT
		JMP		D4MSLOOP

		CLR		MS_CNT

		RET

		

⌨️ 快捷键说明

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