<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 單片機交通燈C語言程序

          單片機交通燈C語言程序

          作者: 時間:2016-11-25 來源:網(wǎng)絡 收藏
          這是一款單片機交通燈C語言程序,單片機用的是AT89C51,兩只共陰兩位一體的數(shù)碼管分另顯示兩個路口的倒計時,用12只發(fā)光二極管模擬紅、黃、綠燈。電路簡單,制作容易。電子小制作。

          本文引用地址:http://www.ex-cimer.com/article/201611/321449.htm

          #include
          #define uchar unsigned char
          bit flag;
          sbit red1_1=P1^0; //南北紅燈D1
          sbit yel1_1=P1^1;//南北黃燈D2
          sbit gre1_1=P1^2;//南北綠燈D3
          sbit red1_2=P1^3;//南北紅燈D4
          sbit yel1_2=P1^4;//南北黃燈D5
          sbit gre1_2=P1^5;//南北綠燈D6

          sbit red2_1=P1^6;//東西紅燈D7
          sbit yel2_1=P1^7;//東西黃燈D8
          sbit gre2_1=P0^0;//東西綠燈D9
          sbit red2_2=P0^1;//東西紅燈D10
          sbit yel2_2=P0^2;//東西黃燈D11
          sbit gre2_2=P0^3;//東西綠燈D12

          uchar code tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x83,0xf8,0x80,0x98};
          uchar n,n1,aa=0,shi,ge,shi1,ge1;
          void init();
          void xianshi1(uchar shi,uchar ge);
          void xianshi2(uchar shi1,uchar ge1);
          void delay(uchar z)
          {
          uchar x,y;
          for(x=z;x>0;x--)
          for(y=110;y>0;y--);
          }
          main()
          {
          n=30;
          shi=n/10;
          ge=n;
          n1=30;
          shi1=n1/10;
          ge1=n1;

          init();
          while(1)
          {
          if(flag!=1)
          xianshi1(shi,ge);
          else
          xianshi2(shi1,ge1);

          }
          }

          void xianshi1(uchar shi,uchar ge)
          {
          P3=0x02;
          P2=tab[ge];
          delay(200);
          P3=0x01;
          P2=tab[shi];
          delay(200);
          }

          // http://www.duankudp.com/
          void xianshi2(uchar shi1,uchar ge1)
          {
          P3=0x08;
          P2=tab[ge1];
          delay(200);
          P3=0x04;
          P2=tab[shi1];
          delay(200);

          }

          void init()
          {
          TMOD=0x01;
          TH0=(65536-50000)/256;
          TL0=(65536-50000)%6;
          EA=1;
          ET0=1;
          TR0=1;
          }

          void timer0() interrupt 1
          {
          TH0=(65536-50000)/256;
          TL0=(65536-50000)%6;
          aa++;
          if(flag!=1)
          {
          if(aa==20)
          {
          aa=0;
          red1_1=0;red1_2=0;
          gre2_1=0;gre2_2=0;//啟動南北紅燈1和東西綠燈2

          n--;
          shi=n/10;
          ge=n;

          if(n<=3)
          {
          red1_1=0;red1_2=0;
          gre2_1=1;gre2_2=1;
          yel2_1=0;yel2_2=0;//啟動南北紅燈1和東西黃燈2

          if(n<=0)
          {
          n=30;
          red1_1=1;red1_2=1;
          gre1_1=0;gre1_2=0;
          yel2_1=1;yel2_2=1;
          red2_1=0;red2_2=0;//啟動南北綠燈1和東西紅燈2http://www.5imcu.net/

          TR0=0;
          TH0=(65536-50000)/256;
          TL0=(65536-50000)%6;
          TR0=1;
          aa++;
          flag=1;

          }
          }
          }
          }
          else
          {
          if(flag==1)
          {
          // TH0=(65536-50000)/256;
          // TL0=(65536-50000)%6;
          // TR0=1;
          // aa++;
          if(aa==20)
          {
          aa=0;
          n1--;
          shi1=n1/10;
          ge1=n1;
          if(n1<=3)
          {
          gre1_1=1;gre1_2=1;
          yel1_1=0;yel1_2=0;
          red2_1=0;red2_2=0;//啟動南北黃燈1和東西紅燈2

          if(n1<=0)
          {
          n1=30;
          yel1_1=1;yel1_2=1;
          red2_1=1;red2_2=1;

          TR0=0;
          TH0=(65536-50000)/256;
          TL0=(65536-50000)%6;
          TR0=1;
          flag=0;
          }
          }
          }
          }
          }
          }



          評論


          技術(shù)專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();