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

QQ登錄

只需一步,快速開始

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

開關(guān)控制交通燈源程序和proteus仿真

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
這是我這個(gè)月做的交通燈設(shè)計(jì),


  1. #include<reg51.h>
  2. #define uint8 unsigned char
  3. #define uint16 unsigend short int

  4. sbit k1=P2^0;
  5. sbit k2=P2^1;
  6. sbit RED_N=P0^0;
  7. sbit GREEN_N=P0^1;
  8. sbit YELLOW_N=P0^2;
  9. sbit RED_E=P0^3;
  10. sbit GREEN_E=P0^4;
  11. sbit YELLOW_E=P0^5;
  12. void delay(uint8 x)
  13. {
  14. uint8 i;
  15. while(x--)
  16. {
  17.   for(i=120;i>0;i--);
  18. }
  19. }
  20. uint8 num=1;
  21. void main()
  22. {

  23. while(1)
  24. {
  25. while(k1==0)
  26. {
  27.   switch(num)
  28.   {
  29.    case 1:RED_N=1;GREEN_N=0;YELLOW_N=1;
  30.           GREEN_E=1;RED_E=0;YELLOW_E=1;
  31.                   delay(2000);delay(2000); delay(2000);
  32.                   num=2;break;
  33.    case 2:GREEN_N=1;RED_N=1;
  34.           YELLOW_N=0;
  35.                   delay(500);
  36.                   YELLOW_N=1;
  37.                   delay(500);

  38.                    YELLOW_N=0;
  39.                   delay(500);
  40.                   YELLOW_N=1;
  41.                   delay(500);

  42.                   YELLOW_N=0;
  43.                   delay(500);
  44.                   YELLOW_N=1;
  45.                   delay(500);

  46.                    RED_E=0;GREEN_E=1;YELLOW_E=1;
  47.                    num=3;break;
  48.     case 3:
  49.               RED_N=0;GREEN_N=1;YELLOW_N=1;
  50.                   GREEN_E=0;RED_E=1;YELLOW_E=1;
  51.                   delay(2000);delay(2000);delay(2000);
  52.                   num=4;break;
  53.         case 4:RED_N=0;GREEN_N=1;YELLOW_N=1;
  54.                GREEN_E=1;RED_E=1;
  55.                    YELLOW_E=0;
  56.                    delay(500);
  57.                    YELLOW_E=1;
  58.                    delay(500);

  59.                    YELLOW_E=0;
  60.                    delay(500);
  61.                    YELLOW_E=1;
  62.                    delay(500);

  63.                    YELLOW_E=0;
  64.                    delay(500);
  65.                    YELLOW_E=1;
  66.                    delay(500);
  67.                    num=1;
  68.                    break;
  69.              
  70.     }
  71.    }
  72.         while(k2==0)
  73.         {
  74.          RED_N=0;GREEN_N=1;YELLOW_N=1;
  75.          RED_E=0;GREEN_E=1;YELLOW_E=1;
  76.         }

  77. }
  78. }
復(fù)制代碼





開關(guān)控制紅綠燈.zip

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

紅綠燈控制

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

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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