isr.c

来自「这里有很多我自己做的凌阳单片机源程序」· C语言 代码 · 共 53 行

C
53
字号
#include<spce061a_chf.h>
#define startA 0x0031//4096&1
#define stopA 0x0036//0&0停止计数
//extern get_ma();
//extern lcd_init();
//extern lcd_display();
//extern page_erase();
//extern write_flash();
extern flag;
//extern flag2;
extern num[8];
void IRQ3(void)__attribute__((ISR));
void IRQ3(void)
{	
	
	*P_TimerA_Ctrl=stopA;	
	if(*P_INT_Ctrl&0x0100)//是EXIT1中断
	{
		if((flag==0)&(*P_TimerA_Data>1200)&(*P_TimerA_Data<1500))
		{
			flag++;
		}
		if((flag>=26)&(flag<=33))
		{
			
			num[flag-26]=*P_TimerA_Data;//读TimerB计数的结果	
		}
		*P_TimerA_Data=0x0000;
		flag++;			
		if(flag<=33)
		{
			*P_TimerA_Ctrl=startA;//TimerA停止计数	
			
		}
		else
		{			
			flag=0;				
		}		
		*P_INT_Clear=0x0100;//清中断0
		
	}		
	else if(*P_INT_Ctrl&0400)//EXIT2中断
	{
		*P_INT_Clear=0x0400;
	}
	else
	{
		*P_INT_Clear=0x0080;//触键唤醒中断
	}
}
		
			
		

⌨️ 快捷键说明

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