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

📄 isr.c

📁 本代码在凌阳单片机的编译环境下执行,主要实现的功能是双通道AD采样显示
💻 C
字号:
/*****************************************************************************/
#include <SPCE061V004.H>
#include "ISR.h"
#define HaveKey  1
#define NoKey    0
     // unsigned int  KeyVal;
//unsigned int  KeyDownTimes;                                //保存按键次数
//unsigned int  flag,KeyFlag;;                                     //按键标识 
//unsigned int Time_Consume=0;
extern KeyVal,KeyDownTimes,flag,KeyFlag;
extern bt,can;
extern guideled[6]; 
void BREAK( void )
{
}

void FIQ( void )
{
    /*  if(*P_INT_Ctrl&0x2000) //定时器A中断 
        {
           *P_INT_Clear=C_FIQ_TMA;
                      
        } 
     else if(*P_INT_Ctrl&0x0800) //定时器B中断
       {  *P_INT_Clear=C_FIQ_TMB;
         
         F_Key_Scan();           //调用C子程序键盘扫描
          if(KeyFlag==HaveKey)
	        { KeyFlag = NoKey;
	    
	 	       KeyVal=F_Get_Key();

	              if(KeyVal==1)
	                      flag=1;                       //选择通道LINE_IN为IOA0
	              else if(KeyVal==0)
	                      flag=0;                         //选择通道LINE_IN为IOA1
	         }  
         
      }
     else //PWM中断 
          *P_INT_Clear=C_FIQ_PWM;
*/
}
void IRQ0( void )
{
}

void IRQ1( void )
{
  	
  	if(*P_INT_Ctrl & C_IRQ1_TMA )
	{	
	     *P_INT_Clear =C_IRQ1_TMA;
	     if(*P_ADC_MUX_Ctrl&0x8000)
	       {
	       can=*P_ADC_LINEIN_Data;
	       can>>=6;
	       can&=0x03ff;
	       //*P_IOB_Data=can;
	       //c_sub(can);
	       }
	   
	 }		
    	    
}

void IRQ2( void )
{
}

void IRQ3( void )
{
/*	if( *P_INT_Ctrl & C_IRQ3_KEY )
	{
	        *P_INT_Clear = C_IRQ3_KEY ;		
	}
	else if( *P_INT_Ctrl & C_IRQ3_EXT1 )
	{
			   
		 
	}
	else if( *P_INT_Ctrl & C_IRQ3_EXT2 )
	{
		*P_INT_Clear = C_IRQ3_EXT2 ;
	}
*/
}

void IRQ4( void )
{
    if(*P_INT_Ctrl&C_IRQ4_1KHz)
    {
        *P_INT_Clear=C_IRQ4_1KHz;
    }
    else if(*P_INT_Ctrl&C_IRQ4_2KHz)
     {   *P_INT_Clear=C_IRQ4_2KHz;
        F_Key_Scan();           //调用C子程序键盘扫描
          if(KeyFlag==HaveKey)
	        { KeyFlag = NoKey;
	    
	 	       KeyVal=F_Get_Key();

	              if(KeyVal==1)
	                      flag=1;                       //选择通道LINE_IN为IOA0
	              else if(KeyVal==0)
	                      flag=0;                         //选择通道LINE_IN为IOA1
	         }  
      }
    else if(*P_INT_Ctrl&C_IRQ4_4KHz)
     {   
        *P_INT_Clear=C_IRQ4_4KHz;
         
         
           
     }

}
void IRQ5( void )
{
/*	if(*P_INT_Ctrl&C_IRQ5_2Hz)
	{	 
		*P_INT_Clear=C_IRQ5_2Hz; 
		
		
	}
	else if(*P_INT_Ctrl&C_IRQ5_4Hz)
	{
		*P_INT_Clear=C_IRQ5_4Hz;	
	}
*/
}
   
void IRQ6( void )
{
  if(*P_INT_Ctrl&C_IRQ6_TMB1)
      *P_INT_Clear=C_IRQ6_TMB1;
       
  else if(*P_INT_Ctrl&C_IRQ6_TMB2)
     {
      *P_INT_Clear=C_IRQ6_TMB2;
       
         c_sub(can);
         if(bt<6)
             {*P_IOB_Data=guideled[bt];bt+=1;}
         else 
              bt=0;
     }

}

void IRQ7( void )
{
}

⌨️ 快捷键说明

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