51单片机共有5个中断源,分别为:
外部中断0
定时器0中断
外部中断1
定时器1中断
串口中断
| 中断| 中断向量|
|--|--|
| INT0 |0 |
| T0 |1 |
| INT1 |2 |
| T1 |3 |
| 串口中断 |4 |
中断函数写法
interrupt 0表示是0号中断的处理函数
中断函数不用在主函数中调用,只要中断事件发生,单片机自己主动会调到中断函数中。
80c32单片机P3.2、P3.3、P3.4、P3.5分别是INT0、T0、INT1、T1中断
使用中断方法:
1.EA=1(总中断开关打开)
2.EX0/EX1=1(中断0/1的开关打开)
3.IT0/IT1=1(设置中断0/1触发方式,1为下降沿触发,0为低电平触发)
使用外部中断0实现按键点亮灯泡
#include <REG52.h>
sbit LED = P2^0;
void light_led()interrupt 0{
LED = 1;
}
void main(){
EA=1;
EX0=1;
IT0=1;
P2 = 0x0;
while(1){
;
}
}
效果
