SPCE061A使用时基,实现定时器
2021-01-17 来源:eefocus
//以下代码主要实现SPCE061A每隔0.5秒就运行一次,注意以下代码一定要在ICE模式下运行!
#include 'SPCE061.H'
main()
{
asm('INT OFF');//关中断
*P_IOB_Dir=0xFFFF;
*P_IOB_Attrib=0xFFFF;
*P_IOB_Data=0xFFFF;
*P_INT_Ctrl=C_IRQ5_2Hz;//只要把2Hz改为4Hz就可以改变频率
asm('INT IRQ');//开中断
while(1)
{
*P_Watchdog_Clear = C_WDTCLR;
}
}
//以下是中断服务程序:
unsigned int g_uiOutput=0;
unsigned int second=0;
void IRQ5(void) __attribute__ ((ISR));
void IRQ5(void)
{
if(*P_INT_Ctrl&C_IRQ5_2Hz)
{
g_uiOutput++; //output
if(g_uiOutput==6) //定时3秒
{
second++;
g_uiOutput=0;
}
*P_Watchdog_Clear=0x0001;
*P_INT_Clear=C_IRQ5_2Hz;//清中断
}
}