isr.asm

来自「适用于凌阳单片机的SPL10A液晶驱动程序」· 汇编 代码 · 共 49 行

ASM
49
字号
		.include hardware.inc

		.define RUN_1KHz_TimeBase_INT 0x0010

		.ram
		.public _TimeCounter
		.var _TimeCounter

		.text
		.public	_IRQ4
_IRQ4:
		PUSH R1,R5 to [SP]
		R1=0x0010 	
		TEST R1,[P_INT_Ctrl]				//是否为1KHz中断
		JNZ  IRQ4_1K		 		  		//1KHz中断
		R1=0x0020 	
		TEST R1,[P_INT_Ctrl] 	  			//是否为2KHz中断
		JNZ  IRQ4_2K 			 	    	//2KHz中断 
IRQ4_4K:					
		R1=0x0040
		[P_INT_Clear]=R1         
		POP R1,R5 FROM [SP]   
		RETI
IRQ4_2K:
		R1=0x0020
		[P_INT_Clear]=R1         
		POP R1,R5 FROM [SP]   
		RETI
IRQ4_1K:
		R1=[_TimeCounter]
		JZ Back
		R1-=1
		[_TimeCounter]=R1
Back:	R1=0x0010
		[P_INT_Clear]=R1
		POP R1,R5 FROM [SP]
		RETI
		
		.code
		.public _InitIsr
_InitIsr:	.proc
		R1=0
		[_TimeCounter]=R1
		R1=RUN_1KHz_TimeBase_INT			//开放1KHz中断
		[P_INT_Ctrl]=R1
		int IRQ
		RETF
			.endp

⌨️ 快捷键说明

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