单片机中断按照中断源类型的不同主要分为:外部中断、定时器中断、串口中断
而因为电路板上可能存在多个定时器或多个引起外部中断的位置,所以产生多个中断源,也因此单片机有多个中断函数
以51单片机为例:
====================================
中断编号 中断源
0 外部中断0
1 T0定时器溢出中断
2 外部中断1
3 T1定时器溢出中断
4 串口中断
====================================
C程序中使用中断的方法
EA=1; //打开中断总开关
ET0=1; //打开T0定时器中断
while(1)
{
//your code
}
//定义中断处理函数(程序会自动调用)
void InterruptTimer0() interrupt 1
{
//关键词interrupt后面的1表示中断函数编号
//your code
//当T0定时器溢出(即截获中断)时,执行InterruptTimer0中断处理函数,执行完毕后程序将从while中发生中断的位置继续往下执行
}
而因为电路板上可能存在多个定时器或多个引起外部中断的位置,所以产生多个中断源,也因此单片机有多个中断函数
以51单片机为例:
====================================
中断编号 中断源
0 外部中断0
1 T0定时器溢出中断
2 外部中断1
3 T1定时器溢出中断
4 串口中断
====================================
C程序中使用中断的方法
EA=1; //打开中断总开关
ET0=1; //打开T0定时器中断
while(1)
{
//your code
}
//定义中断处理函数(程序会自动调用)
void InterruptTimer0() interrupt 1
{
//关键词interrupt后面的1表示中断函数编号
//your code
//当T0定时器溢出(即截获中断)时,执行InterruptTimer0中断处理函数,执行完毕后程序将从while中发生中断的位置继续往下执行
}