📄 isr.c
字号:
/*****************************************************************************/
#include <SPCE061V004.H>
#include "ISR.h"
unsigned int IS2=0;
unsigned int Time_Consume=0;
extern Setting;
extern Change1,k,j;
void BREAK( void )
{
}
__asm(".external F_FIQ_Service_SACM_S480");
void FIQ( void )
{
if(*P_INT_Ctrl&0x2000) //定时器A中断
{
*P_INT_Clear=C_FIQ_TMA;
__asm("call F_FIQ_Service_SACM_S480"); //调用A2000中断服务函数
}
else if(*P_INT_Ctrl&0x0800) //定时器B中断
*P_INT_Clear=C_FIQ_TMB;
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;
{
Step_Out( );
}
}
*/
}
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 )
{
unsigned int i;
*P_INT_Clear = C_IRQ3_EXT1 ;
i=*P_IOB_Data|0xfffb;
Delay(3000);
if(i==(*P_IOB_Data|0xfffb));
{
Setting=1;
Change1=0;
j=1;
k=1;
*P_INT_Ctrl=*P_INT_Mask&(~C_IRQ5_2Hz);
}
}
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;
}
}
void IRQ5( void )
{
if(*P_INT_Ctrl&C_IRQ5_2Hz)
{
*P_INT_Clear=C_IRQ5_2Hz;
if(IS2==1)
{
IS2=0;
Time_Consume++;
LCD_Display(16,Time_Consume/100+0x0030);
LCD_Display(17,Time_Consume%100/10+0x0030);
LCD_Display(18,Time_Consume%10+0x0030);
}
else if(IS2==0)
IS2=1;
}
else if(*P_INT_Ctrl&C_IRQ5_4Hz)
{
*P_INT_Clear=C_IRQ5_4Hz;
}
}
void IRQ6( void )
{
}
void IRQ7( void )
{
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -