交通灯代码c51单片机
时间: 2023-07-23 14:50:39 浏览: 107
以下是一个简单的交通灯控制程序,使用C51单片机:
```
#include <reg52.h>
sbit redLight = P1^0; // 红灯
sbit yellowLight = P1^1; // 黄灯
sbit greenLight = P1^2; // 绿灯
void main() {
while (1) {
// 红灯亮10秒
redLight = 1;
yellowLight = 0;
greenLight = 0;
delay(10000);
// 红灯闪烁3秒
redLight = 0;
delay(1000);
redLight = 1;
delay(1000);
redLight = 0;
delay(1000);
redLight = 1;
delay(1000);
redLight = 0;
delay(1000);
redLight = 1;
delay(1000);
// 绿灯亮10秒
redLight = 0;
yellowLight = 0;
greenLight = 1;
delay(10000);
// 黄灯亮3秒
redLight = 0;
yellowLight = 1;
greenLight = 0;
delay(3000);
}
}
// 延时函数
void delay(unsigned int count) {
unsigned int i,j;
for (i = 0; i < count; i++) {
for (j = 0; j < 120; j++);
}
}
```
该程序使用P1口的0、1、2三个引脚控制红、黄、绿三个灯的亮灭。程序中使用了一个简单的延时函数来实现时间控制。在主循环中,先让红灯亮10秒,然后让红灯闪烁3秒,接着让绿灯亮10秒,最后让黄灯亮3秒。循环不断重复执行这些步骤,以实现交通灯的控制。
阅读全文