单片机控制交通灯c51程序

来源:本站
导读:目前正在解读《单片机控制交通灯c51程序》的相关信息,《单片机控制交通灯c51程序》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《单片机控制交通灯c51程序》的详细说明。
简介:本文和大家分享一个单片机控制交通灯c51程序,由于本人对交通灯的规则不是特别了解,产生于事实冲突,敬请包涵。

先上图

单片机控制交通灯c51程序

单片机控制交通灯c51程序

/*

程序效果:单片机模拟控制交通灯程序,规则如下:当南北通车时,此时南北的绿灯亮,东西的红灯亮,之后南北的绿灯闪烁3次,过后黄灯亮,延时片刻,转东西绿灯亮同时南北红灯亮,之后东西的绿灯闪烁3次,过后黄灯亮,延时片刻;数码管显示的值都同步,结束。

*/

#include<reg52.h> //头文件

#define uchar unsigned char//宏定义

#define uint unsigned int

uchar code table[]={0x00,0x01,0x02,0x03, //数码管显示的值

0x04,0x05,0x06,0x07,0x08,0x09,0x10,0x11,

0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,

0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,

0x28,0x29,0x30,0x31,0x32,0x33,0x34,0x35,

0x36,0x37,0x38,0x39,0x40,0x41,0x42,0x43,

0x44,0x45};

void delay(uint x)//延时子函数

{

uint i,j;

for(i=x;i>0;i--)

for(j=500;j>0;j--);

}

void main() //主函数

{

uchar i; //定义局部变量

P1=table[0]; //数码管显示0

delay(400); //延时一会儿,在此之前所有数码管全为0,

while(1) //所有的交通灯都亮

{

for(i=0;i<45;i++) //南北通车较多,故延时较多

{

P2=0x0a; //南北绿灯亮,东西红灯亮

P1=table[i];

delay(200);

}

for(i=0;i<3;i++) //南北绿灯闪烁3次,同时东西红灯亮

{

P2=0x0a;

delay(200);

P2=0x02;

delay(200);

}

P2=0x22; //南北黄灯亮,同时东西红灯亮

delay(600); //延时片刻

for(i=0;i<35;i++) //东西开始通车,由于车辆较少,故延时较少

{

P2=0x11; //南北的红灯亮 ,东西的绿灯亮

P1=table[i];

delay(200);

}

for(i=0;i<3;i++) //东西的绿灯闪烁3次

{

P2=0x11;

delay(200);

P2=0x10;

delay(200);

}

P2=0x14; //东西的黄灯亮

delay(600); //延时片刻

}

}

提醒:《单片机控制交通灯c51程序》最后刷新时间 2024-03-14 01:00:02,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《单片机控制交通灯c51程序》该内容的真实性请自行鉴别。