设计一个基于51单片机交通灯
时间: 2023-11-10 14:06:22 浏览: 90
基于51单片机的交通灯设计
5星 · 资源好评率100%
以下是一个基于51单片机的交通灯程序:
```
#include <reg51.h>
#define RED 0x40 //定义红灯为P2.6口
#define YELLOW 0x20 //定义黄灯为P2.5口
#define GREEN 0x10 //定义绿灯为P2.4口
void delay(unsigned int xms);
void main()
{
while(1)
{
P2 = RED; //红灯亮
delay(5000); //延时5秒
P2 = YELLOW; //红灯变黄灯
delay(2000); //延时2秒
P2 = GREEN; //黄灯变绿灯
delay(5000); //延时5秒
P2 = YELLOW; //绿灯变黄灯
delay(2000); //延时2秒
}
}
void delay(unsigned int xms)
{
unsigned int i,j;
for(i=xms;i>0;i--)
for(j=112;j>0;j--);
}
```
这个程序使用了P2口的三个引脚来控制红、黄、绿三个灯的亮灭。在主函数中,通过不断地循环,交替控制红、黄、绿三个灯的亮灭。每个灯的亮灭时间可以通过延时函数来控制,这里的延时函数是简单的循环延时。可以根据实际需要修改每个灯的亮灭时间。
阅读全文