51单片机可倒计时交通灯程序
时间: 2023-11-17 07:08:31 浏览: 91
以下是一个简单的51单片机可倒计时交通灯程序:
```c
#include <reg51.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
sbit red1=P1^0;
sbit yellow1=P1^1;
sbit green1=P1^2;
sbit red2=P1^3;
sbit yellow2=P1^4;
sbit green2=P1^5;
void delay(uint i)
{
while(i--);
}
void main()
{
while(1)
{
green1=1;
red2=1;
delay(20000); //20s
green1=0;
yellow1=1;
delay(5000); //5s
yellow1=0;
red1=1;
delay(20000); //20s
red1=0;
green2=1;
delay(20000); //20s
green2=0;
yellow2=1;
delay(5000); //5s
yellow2=0;
red2=0;
}
}
```
这个程序实现了可倒计时的交通灯,两个灯的循环时间为5s+20s+5s+20s=50s。在红灯时,另一组灯亮绿灯,这样可以充分利用时间,减少交通等待时间。
阅读全文