標(biāo)題: 單片機(jī)交通燈簡單設(shè)計(jì) [打印本頁]

作者: 開心就號    時(shí)間: 2021-6-11 18:47
標(biāo)題: 單片機(jī)交通燈簡單設(shè)計(jì)
十字路口中東西南北方向的紅綠燈循環(huán)點(diǎn)亮, 之間間隔黃燈。而黃燈顏色變化閃爍 5 次, 在每個(gè)路口都加上數(shù)碼管,數(shù)碼管顯示從數(shù)字9變?yōu)閿?shù)字0時(shí),一邊由紅燈變?yōu)榫G燈,
另一面的燈由綠燈經(jīng)過黃燈變?yōu)榧t燈。



代碼:
#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;
}

交通燈簡單設(shè)計(jì).zip

41.81 KB, 下載次數(shù): 17, 下載積分: 黑幣 -5






歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1