单片机外部中断急救车的代码
时间: 2023-07-09 16:03:36 浏览: 59
以下是一个基于51单片机的外部中断急救车的示例代码:
```c
#include <reg51.h>
sbit LED = P2^0; // LED引脚
void delay(unsigned int t) // 延时函数
{
while(t--);
}
void main()
{
IT0 = 1; // 设置外部中断0为下降沿触发
EX0 = 1; // 打开外部中断0
EA = 1; // 打开总中断开关
while(1)
{
LED = ~LED; // 灯闪烁
delay(50000); // 延时
}
}
void interupt0() interrupt 0 // 外部中断0服务函数
{
unsigned int i;
for(i=0; i<3; i++) // 急救车灯闪烁3次
{
LED = 0; // 灯亮
delay(50000); // 延时
LED = 1; // 灯灭
delay(50000); // 延时
}
}
```
在上面的代码中,我们使用了P2口的第0个引脚作为LED灯的控制引脚,并将外部中断0设置为下降沿触发。当外部中断0触发时,会调用中断服务函数`interupt0()`,在函数中进行急救车灯闪烁的操作。而在`main()`函数中,我们通过不断地改变LED的状态来让灯闪烁。需要注意的是,在使用外部中断时,总中断开关`EA`必须打开。