基于51单片机的带时间显示的红绿灯设计

发布日期:2023-03-11
基于51单片机的带时间显示的红绿灯设计

电工优优今天要和大家分享的单片机相关信息,接下来我将从基于51单片机的带时间显示的红绿灯设计这个方面来介绍。

功能:

带时间显示的红绿灯设计,30秒南北绿灯,东西红灯;3次闪烁黄灯;切换为30秒东西绿灯,南北红灯; 具体定时时间可根据程序自行修改,带有源程序、仿真图。

仿真效果图:

部分程序:

#include

#include

#define uchar unsigned char

uchar led[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

uchar delay(int i)

{uchar a,b,c;

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

{for(c=167;c>0;c--)

for(b=171;b>0;b--)

for(a=16;a>0;a--);

_nop_;

}}

void delay1(uchar j)

{while(j--);

}

void huangdeng(uchar i)

{while(i--)

{

P1=0X12;

delay(1);

P1=0X00;

delay(1);

}

}

void dongxi(uchar a)

{uchar j=1000;

for(a;a>0;a--)

{

while(j--)

{P1=0X24;

P0=0XFE;

P2=led[a/10];

delay1(1000);

P0=0XFd;

P2=led[a%10];

delay1(1000);

}}

P0=0XFF;

}

void nanbei(uchar a)

{uchar j=1000;

for(a;a>0;a--)

{