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

📄 zhongduan.c

📁 实现了有凌阳的外部中断进行技数
💻 C
字号:
#include "SPCE061A.h"
extern unsigned int g,n,g_Data[],x0,x1,x2,x3,x4,f,m,bb;
static unsigned int w=0x0400;
///////////////////////////////////////////////////////////////////////////////////

void __attribute__((ISR))IRQ1(void)
{ 
//	g++;
    m++; 
	
 *P_Watchdog_Clear=0x0001  ;
 *P_INT_Clear=0x1000;
    
}
////////////////////////////////////////////////////////////////////////////////////
void __attribute__((ISR))IRQ5(void)
{
	if((*P_INT_Ctrl&0x0004)!=0)	 
 {	   n++;
	
	if(*P_TimerA_Data==0xfffe) 
	{*P_TimerA_Data=0; g++;}
	
	if(n==6)                                  //是否为3s定时
	   {   
		   
	       if(g==0)
	         { n=0;
	       	 f=*P_TimerA_Data/3;
	       	 *P_TimerA_Data=0;
	         }
	       if(g>0)
	         {
	          n=0;
	          bb=*P_TimerA_Data;
              f =(65535*g+*P_TimerA_Data)/3;
		      *P_TimerA_Data=0;
		      g=0;
	         }
	   }
 }
	*P_INT_Clear=0x0004;

}

//////////////////////////////////////////////////////////////////////////////
void __attribute__((ISR))IRQ4(void)
{
	 
  if((*P_INT_Ctrl&0x0040)!=0)
  {  w=w<<1;
    if(w==0x8000) w=0x0400;
    switch(w)
    {
      case 0x0800:*P_IOA_Data=0xe000|g_Data[x3]   ;break;
      case 0x1000:*P_IOA_Data=0xd000|g_Data[x2]   ;break;
      case 0x2000:*P_IOA_Data=0xb000|g_Data[x1]   ;break;
      case 0x4000:*P_IOA_Data=0x7000|g_Data[x0]   ;break;
      default:break;
    }
    // Delay(1000); 
  }
    
   	*P_INT_Clear=0x0040;   		
}
/////////////////////////////////////////////////////////////////////////////

⌨️ 快捷键说明

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