标题: 单片机交通灯简单设计 [打印本页]

作者: 开心就号    时间: 2021-6-11 18:47
标题: 单片机交通灯简单设计
十字路口中东西南北方向的红绿灯循环点亮, 之间间隔黄灯。而黄灯颜色变化闪烁 5 次, 在每个路口都加上数码管,数码管显示从数字9变为数字0时,一边由红灯变为绿灯,
另一面的灯由绿灯经过黄灯变为红灯。



代码:
#include <reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit RED_A=P0^0;
sbit YEIIOW_A=P0^1;
sbit GREEN_A=P0^2;
sbit RED_B=P0^3;
sbit YELLOW_B=P0^4;
sbit GREEN_B=P0^5;
uchar Flash_Count =5;
Operation_Type=1;
#define out P2
#define put P1
uchar code seg[]={0x90,0x80,0xf8,0x82,0x92,0x99,0xb0,0xa4,0xf9,0xc0,0x01};
void delay(uint x)
{   
     uchar t;
     while(x--)
  {
for(t=120;t>0;t--);
        }
}
      
void main(void)
{
  uchar i,a,b;
        for(a=0;a<10;a++){
                P0=0xf3;
                delay(100);      
                put=seg;
                out=seg;
      
                delay(900);
                i++;
                       
   
}
for(a=0;a<5;a++){
P0=0xfd;
delay(200);
P0=0xff;
delay(200);
}
P0=0xde;
        delay(250);
        if (seg ==0x01)i=0;
for(b=0;b<10;b++){
                P0=0xde;
                delay(100);
                put=seg;
          out=seg;
                delay(900);
                i++;
}for(a=0;a<5;a++){
P0=0xef;
delay(200);
P0=0xff;
delay(200);
}
P0=0xf3;
        delay(250);
                if (seg ==0x01)i=0;
}

交通灯简单设计.zip

41.81 KB, 下载次数: 17, 下载积分: 黑币 -5






欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1