c52单片机编写交通灯程序
时间: 2023-08-07 13:08:17 浏览: 55
以下是一个基于c52单片机的交通灯程序:
```c
#include <REG52.H>
#define red P1_0
#define yellow P1_1
#define green P1_2
void delay(int ms) // 延时函数
{
int i, j;
for (i = 0; i < ms; i++)
for (j = 0; j < 1275; j++);
}
void main()
{
while (1)
{
// 红灯亮
red = 1;
yellow = 0;
green = 0;
delay(5000); // 延时5秒
// 红灯黄灯同时亮
red = 1;
yellow = 1;
green = 0;
delay(2000); // 延时2秒
// 绿灯亮
red = 0;
yellow = 0;
green = 1;
delay(5000); // 延时5秒
// 黄灯亮
red = 0;
yellow = 1;
green = 0;
delay(2000); // 延时2秒
}
}
```
这个程序实现了交通灯的基本功能,每个灯亮的时间和闪烁时间可以根据实际需要进行调整。注意在编写程序时应该先定义每个灯的引脚,然后再通过控制引脚的电平来控制灯的亮灭。
阅读全文