51单片机十字路口红绿灯简单程序(如何用51单片机做十字路口交通信号灯的设计)
51单片机十字路口红绿灯简单程序(如何用51单片机做十字路口交通信号灯的设计)
任务描述:某企业承担了一个十字路口交通灯控制系统设计任务,控制要求:东西向绿灯亮 5s 后,黄灯闪烁,闪烁5次亮红灯,红灯亮后,南北向由红灯变成绿灯,5s 后南北向黄灯闪烁,闪烁5次后亮红灯,东西向绿灯亮,如此往复。请用单片机设计其控制系统并调试运行。
电路原理图 元件清单 C语言程序#include<reg51.h> //包含头文件reg51.h,定义51单片机中的专用寄存器
void delay0_5s();
void delay5s();
void main()
{
unsigned char k;
TMOD=0x10; //设置T1为工作方式1
while(1)
{
P1=0x09; //东西绿灯亮5秒&南北红灯亮
delay5s();
for(k=0;k<5;k ) //东西黄灯闪烁&南北红灯
{
P1=0x11; //东西黄灯亮&南北红灯亮
delay0_5s();
P1=0x01; //东西黄灯灭&南北红灯亮
delay0_5s();
}
P1=0x24; //东西红灯亮&南北绿灯亮5秒
delay5s();
for(k=0;k<5;k ) //东西红灯&南北黄灯闪烁
{
P1=0x22; //东西红灯&南北黄灯亮
delay0_5s();
P1=0x20; //东西红灯&南北黄灯灭
delay0_5s();
}
}
}
void delay0_5s() //0.5秒延时
{
unsigned char i;
for(i=0;i<10;i )
{
TH1=0X3C;
TL1=0xb0;
TR1=1;
while(!TF1);
TF1=0;
}
}
void delay5s() //5秒延时
{
unsigned char i;
for(i=0;i<50;i )
{
TH1=0X3C;
TL1=0xb0;
TR1=1;
while(!TF1);
TF1=0;
}
}
模拟仿真视频
51单片机十字路口交通信号灯的设计仿真视频(点击蓝色字体可查看)
#C语言##单片机##51单片机##电子#