单片机c语言交通灯源程序,基于80C51单片机的交通灯C语言源程序
时间: 2023-10-03 22:10:31 浏览: 117
以下是一份基于80C51单片机的交通灯C语言源程序:
```c
#include<reg51.h> //头文件
sbit red1=P2^0; //定义3个红灯和3个绿灯的引脚
sbit yellow1=P2^1;
sbit green1=P2^2;
sbit red2=P2^3;
sbit yellow2=P2^4;
sbit green2=P2^5;
void delay(int time) //延时函数
{
int i,j;
for(i=0;i<time;i++)
for(j=0;j<120;j++);
}
void main()
{
while(1) //循环
{
red1=1; //第一组红灯亮
green2=1; //第二组绿灯亮
delay(100); //延时100个单位
yellow1=1; //第一组黄灯亮
delay(50); //延时50个单位
red1=0; //第一组红灯灭
yellow1=0; //第一组黄灯灭
green1=1; //第一组绿灯亮
red2=1; //第二组红灯亮
green2=0; //第二组绿灯灭
delay(100); //延时100个单位
yellow2=1; //第二组黄灯亮
delay(50); //延时50个单位
red2=0; //第二组红灯灭
yellow2=0; //第二组黄灯灭
}
}
```
这个程序实现了两组交通灯的循环控制,每一组包括红、黄、绿三种状态。程序中通过延时函数实现了不同状态之间的时间控制。需要注意的是,由于单片机IO口的电流输出能力比较弱,因此需要在连接LED时加上适当的限流电阻。
阅读全文