c51单片机交通灯10秒程序
时间: 2024-06-08 07:05:33 浏览: 202
基于C51单片机的交通灯的程序
5星 · 资源好评率100%
以下是基于C语言的C51单片机交通灯10秒程序示例:
```
#include<reg52.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 x)
{
uint i,j;
for(i=x;i>0;i--)
for(j=110;j>0;j--);
}
void main()
{
while(1)
{
green1=1;
yellow1=red2=0;
delay(100); // 绿灯持续10秒
yellow1=1;
delay(10); // 黄灯持续1秒
red1=1;
green2=1;
yellow2=0;
delay(100); // 红灯持续10秒
yellow2=1;
delay(10); // 黄灯持续1秒
red1=0;
green1=0;
yellow1=0;
red2=0;
green2=0;
yellow2=0;
delay(10); // 灯灭10秒,等待重新开始
}
}
```
在该程序中,通过定义不同的IO口控制不同的红绿灯,利用循环实现交替变换。其中,绿灯持续10秒,黄灯持续1秒,红灯持续10秒,黄灯持续1秒,灯灭10秒。程序会不断循环执行,实现交通灯的基本功能。
阅读全文