#include"config.h" #include"Port.h" //全局变量定义,注意如果非中断函数和中断函数都可能使用的变量需要进行禁止中断保护 //同时需要将变量定义为volatile . exp: volatile u8 timer_count = 0; //如果只是在该文件中使用的变量或函数请在前面加static void main(void) { //变量定义 //相关初始化工作 while(1) { //做具体工作 } } //如果在其它文件中实现中断处理程序,需要在包含main函数的文件中声明该中断处理程序 //该声明可以直接放在包含main函数的文件或者被包含main函数的文件包含的头文件中 //声明的形式为:void xxx_isr(void) __interrupt x void INIT0_ISR(void) __interrupt 0 { //外部中断0中断处理程序 } void TIMER0_ISR(void) __interrupt 1 { //定时器0中断处理程序 } void INIT1_ISR(void) __interrupt 2 { //外部中断1中断处理程序 } void TIMER1_ISR(void) __interrupt 3 { //定时器1中断处理程序 } void SERIAL_ISR(void) __interrupt 4 { //串口中断处理程序 if (TI) //发送数据完毕 { TI = 0; //其他的工作 } else { RI = 0; //接收到数据 //对数据进行处理 } } void TIMER2_ISR(void) __interrupt 5 { //定时器2中断处理程序 }