写出满足以下条件基于C51单片机的代码,运用中断,假设有二个外部设备,其中一个为压力开关,一个为温度开关,压力产生的危害要高于温度,两设备正常工作时输出低电平,有故障时输出高电平,试设计某控制系统,实现当设备故障时,控制指示灯闪烁,正常工作时,控制指示灯亮。
时间: 2024-06-13 14:08:40 浏览: 80
1-程序_毕业设计_通过购买获得_C51单片机控制四个交通灯程序_
以下是基于C51单片机的代码,实现了当设备故障时,控制指示灯闪烁,正常工作时,控制指示灯亮的功能。其中,压力开关对应外部中断0,温度开关对应外部中断1。
```c
#include <reg51.h>
sbit LED = P1^0; // 控制指示灯
void delay(unsigned int t) // 延时函数
{
unsigned int i, j;
for(i = 0; i < t; i++)
for(j = 0; j < 125; j++);
}
void blink() interrupt 0 // 外部中断0,压力开关
{
LED = 1; // 输出高电平,控制指示灯闪烁
delay(100);
LED = 0;
delay(100);
}
void light() interrupt 2 // 外部中断1,温度开关
{
LED = 0; // 输出低电平,控制指示灯亮
}
void main()
{
IT0 = 1; // 外部中断0下降沿触发
EX0 = 1; // 开启外部中断0
IT1 = 1; // 外部中断1下降沿触发
EX1 = 1; // 开启外部中断1
EA = 1; // 开启总中断
while(1);
}
```
阅读全文