找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 3214|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

LED燈模擬交通燈的簡(jiǎn)單單片機(jī)仿真

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主

單片機(jī)交通燈所有資料下載:
LED模擬交通燈.rar (45.06 KB, 下載次數(shù): 24)


源程序:
  1. #include<reg51.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. sbit RED_A=P0^0;
  5. sbit YELLOW_A=P0^1;
  6. sbit GREEN_A=P0^2;//東西向燈
  7. sbit RED_B=P0^3;
  8. sbit YELLOW_B=P0^4;
  9. sbit GREEN_B=P0^5;//南北向燈
  10. uchar Flash_Count=0,a=1; //閃爍次數(shù),操作類型變量
  11. void delay(uint x)   
  12. {    uchar i;
  13.      while(x--)
  14.      {   
  15.           for(i=0;i<120;i++);
  16.      }
  17. }
  18.                                      //延時(shí)
  19. void Traffic_Light()
  20. {
  21.      switch(a)
  22.      {            
  23.                 case 1://東西向綠燈與南北向紅燈亮
  24.                                       RED_A=1;YELLOW_A=1;GREEN_A=0;
  25.                                 RED_B=0;YELLOW_B=1;GREEN_B=1;
  26.                                         delay(2000);
  27.                                         a=2;
  28.                                         break;
  29.                         case 2://東西向黃燈閃爍,綠燈關(guān)閉
  30.                                 delay(300);
  31.                                       YELLOW_A=~YELLOW_A;GREEN_A=1;
  32.                     if(++Flash_Count!=10)//閃爍5 次
  33.                        return;
  34.                                         Flash_Count=0;
  35.                                           a=3;
  36.                                         break;
  37.                         case 3://東西向紅燈亮,南北向綠燈亮
  38.                                 RED_A=0;YELLOW_A=1;GREEN_A=1;
  39.                                 RED_B=1;YELLOW_B=1;GREEN_B=0;
  40.                                         delay(2000);
  41.                                         a=4;
  42.                                         break;
  43.                         case 4://南北向黃燈閃爍5次,綠燈關(guān)閉
  44.                                 delay(300);
  45.                                       YELLOW_B=~YELLOW_B;GREEN_B=1;
  46.                     if(++Flash_Count!=10)//閃爍5 次
  47.                                         return;
  48.                                         Flash_Count=0;
  49.                                         a=1;
  50.           }
  51. }
  52. void main()
  53. {
  54.      while(1)
  55.      {
  56.            Traffic_Light();
  57.      }
  58. }
復(fù)制代碼



分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:214452 發(fā)表于 2017-6-26 14:10 | 只看該作者
有程序框圖嗎?
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表