51单片机使用中断的实例
时间: 2023-08-14 11:06:23 浏览: 76
以下是51单片机使用中断的一个简单实例:
```c
#include <reg51.h>
// 定义LED引脚
sbit LED = P1^0;
// 定义中断服务函数
void ISR() interrupt 0 {
LED = ~LED; // LED取反
}
void main() {
// 初始化中断向量表
EA = 1; // 开启总中断
EX0 = 1; // 开启外部中断0
IT0 = 1; // 设置外部中断0为下降沿触发
while(1); // 循环等待中断
}
```
上述代码中,我们定义了一个LED引脚,然后在中断服务函数中将LED状态取反。在`main()`函数中,我们先开启总中断,然后开启外部中断0,并设置外部中断0为下降沿触发。
最后,我们在`while`循环中等待中断的触发。当外部中断0引脚检测到下降沿时,中断服务函数会被调用,LED状态会发生变化。
阅读全文