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

📄 fiq.asm

📁 用C编写基于凌阳SPCE061A芯片的图象识别模块可实现(1)获得数据并处理。(2)控制按扭KEY1
💻 ASM
字号:
.public _FIQ
//...............................................
.external _BSR_FIQ_Routine
.external __gIsStopRecog //This variable = 0 if recognizer is busy,
						 //              = 1 if recognizer is stopped,
						 //              = 2 if recognizer is paused.

.public _BREAK,_IRQ0, _IRQ1, _IRQ2, _IRQ3, _IRQ4, _IRQ5, _IRQ6, _IRQ7

//..................................................
.include 	A2000.inc;
.include 	resource.inc;
.include 	hardware.inc;
.include	eagle3.inc;

.external	_VR_TimeDeldy;
.external	_SleepCount;
.external	_PlayFlag;

.TEXT
_FIQ:
		push R1,R4 to [SP]
		r1 = 0x2000
		test	r1,[P_INT_Ctrl]
		jnz		L_FIQ_TimerA
		r1 = 0x0800
		test	r1,[P_INT_Ctrl]
		jnz		L_FIQ_TimerB
L_FIQ_PWM:
		r1 = C_FIQ_PWM
		[P_INT_Clear] = r1	
		pop	R1,R4 from [SP];
		reti;
L_FIQ_TimerA:
		[P_INT_Clear] = r1
		call	F_FIQ_Service_SACM_A2000
		pop	R1,R4 from [SP];
		reti;
L_FIQ_TimerB:
		[P_INT_Clear] = r1
		pop	R1,R4 from [SP];
		reti;
_BREAK: 
		push r1,r4 to [sp];		
		pop r1,r4 from [sp];
        reti;  

_IRQ0:
		push r1,r4 to [sp];		
		pop r1,r4 from [sp];
        reti;  
_IRQ1: 
		push r1,r4 to [sp];		
		pop r1,r4 from [sp];
        reti;  
_IRQ2: 
		push r1,r4 to [sp];		
		pop r1,r4 from [sp];
        reti;  
_IRQ3: 
		push r1,r4 to [sp];
		r1 = 0x0100;
		test r1,[P_INT_Ctrl];
		jnz	L_IRQ3_Ext1;
		r1 = 0x0200;
		test r1,[P_INT_Ctrl];
		jnz	L_IRQ3_Ext2;
L_IRQ3_KeyChange_WakeUp:
		r1 = 0;
		[_SleepCount] = r1;
		r1 = 0x0080;
	    [P_INT_Clear] = R1;
		pop	R1,R4 from [SP];
		reti;
	
L_IRQ3_Ext2:
 	    [P_INT_Clear] = R1;	
		pop	R1,R4 from [SP];
		reti;
	
L_IRQ3_Ext1:
	    [P_INT_Clear] = R1;
		pop	R1,R4 from [SP];
		reti;				
_IRQ4:        
		push r1,r4 to [sp];
		r1 = C_IRQ4_1KHz;
		[P_INT_Clear] = r1;
	
		r1 = [R_DelayTime];
		r1 += 0x01;
		[R_DelayTime] = r1;
		
		r1 = [R_WaitRDYTime];
		r1 += 1;
		[R_WaitRDYTime] = r1;
		
		r1 = [_VR_TimeDeldy];
		r1 += 1;
		[_VR_TimeDeldy]= r1;
		pop r1,r4 from [sp];
        reti;  
        
_IRQ5:        
		push r1,r4 to [sp];
		r1 = 1;
		[P_Watchdog_Clear] = r1;
		r1 = 0x0008;
		test r1,[P_INT_Ctrl];
		jnz	L_IRQ5_4Hz;
		r1 = [_SleepCount];
		r1 += 1;
		[_SleepCount] = r1;
		r1 = 0x0004;
 	    [P_INT_Clear] = R1;
		pop	R1,R4 from [SP];
		reti;

L_IRQ5_4Hz:
	    [P_INT_Clear] = R1;
		pop	R1,R4 from [SP];
		reti;

_IRQ6: 
		push r1,r4 to [sp];		
		pop r1,r4 from [sp];
        reti;  

_IRQ7:
		push r1,r4 to [sp];		
		pop r1,r4 from [sp];
        reti;  
//======================= 中断处理程序结束 =====================        

⌨️ 快捷键说明

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