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

QQ登錄

只需一步,快速開(kāi)始

帖子
查看: 8732|回復(fù): 11
打印 上一主題 下一主題
收起左側(cè)

交通信號(hào)燈protues+keil源碼

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
交通信號(hào)燈protues+keil,有電子愛(ài)好者可加qq1822286794,一起來(lái)搞電子制作。加qq時(shí)請(qǐng)打上備注“電子愛(ài)好者”。


單片機(jī)源程序:
  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^5;    //南北向燈

  8. sbit YELLOW_B=P0^4;

  9. sbit GREEN_B=P0^3;

  10. uchar Flash_Count=0,Operation_Type=1; //閃爍次數(shù),操作類(lèi)型變量

  11. void DelayMS(uint x)
  12.     {  
  13.      uchar i;
  14.      
  15.          while(x--)
  16.      
  17.          for(i=0;i<120;i++);
  18.      
  19.          }

  20. void Traffic_Light()
  21. {   
  22. switch(Operation_Type)

  23.     {        
  24.        case 1:   //東西向綠燈與南北向紅燈亮     
  25.           RED_A=1;
  26.           YELLOW_A=1;
  27.           GREEN_A=0;     
  28.           RED_B=0;
  29.           YELLOW_B=1;
  30.           GREEN_B=1;     
  31.           DelayMS(3000);     
  32.           Operation_Type=2;     
  33.           break;
  34.                   
  35.                   
  36.           case 2:  //東西向黃燈閃爍,綠燈關(guān)閉
  37.             
  38.        
  39.                   DelayMS(500);          //延時(shí)下面的YELLOW_A=1的狀態(tài),YELLOW_A=1是從case1里的狀態(tài)延續(xù)下來(lái)的
  40.                   YELLOW_A=~YELLOW_A;
  41.                   GREEN_A=1;     
  42.                   if(++Flash_Count!=10) return;      //當(dāng)if里面的條件不成立,(return)就會(huì)返回到Traffic_Light,從新開(kāi)始執(zhí)行
  43.               Flash_Count=0;                                      //從新執(zhí)行時(shí)由于swich語(yǔ)句是一個(gè)一個(gè)語(yǔ)句塊的執(zhí)行,下次執(zhí)行依然會(huì)從語(yǔ)句塊2開(kāi)始執(zhí)行
  44.                   Operation_Type=3;     
  45.                   break;   
  46.                   
  47.                   
  48.           case 3:   //東西向紅燈,南北向綠燈亮     
  49.                   RED_A=0;
  50.                   YELLOW_A=1;
  51.                   GREEN_A=1;     
  52.                   RED_B=1;
  53.                   YELLOW_B=1;
  54.                   GREEN_B=0;     
  55.                   DelayMS(3000);     
  56.                   Operation_Type=4;     
  57.                   break;
  58.                   
  59.                   
  60.           case 4: //南北向黃燈閃爍 5 次綠燈關(guān)閉     
  61.                   DelayMS(500);         
  62.                   YELLOW_B=~YELLOW_B;
  63.                   GREEN_B=1;     
  64.                   if(++Flash_Count!=10) return;     
  65.                   Flash_Count=0;     
  66.                   Operation_Type=1;  
  67.    }
  68. }

  69.                   //主程序
  70.                   
  71.                   void main()
  72.                   {  
  73.                          while(1) Traffic_Light();
  74.                                  
  75.                    }


  76.                     
復(fù)制代碼


資料下載:
5.交通燈.rar (53.32 KB, 下載次數(shù): 111)
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏3 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:167951 發(fā)表于 2017-3-3 18:06 | 只看該作者
這個(gè)運(yùn)行
回復(fù)

使用道具 舉報(bào)

板凳
ID:210222 發(fā)表于 2017-6-15 16:01 | 只看該作者
運(yùn)行不了啊
回復(fù)

使用道具 舉報(bào)

地板
ID:212218 發(fā)表于 2017-6-18 11:38 | 只看該作者
樓主威武
回復(fù)

使用道具 舉報(bào)

5#
ID:214526 發(fā)表于 2017-6-27 09:22 | 只看該作者
厲害
回復(fù)

使用道具 舉報(bào)

6#
ID:220203 發(fā)表于 2017-7-17 10:41 | 只看該作者
厲害了
回復(fù)

使用道具 舉報(bào)

7#
ID:238682 發(fā)表于 2017-10-11 19:55 | 只看該作者
6666666666666
回復(fù)

使用道具 舉報(bào)

8#
ID:238682 發(fā)表于 2017-10-11 19:56 | 只看該作者
厲害了樓主
回復(fù)

使用道具 舉報(bào)

9#
ID:271036 發(fā)表于 2018-1-3 20:45 | 只看該作者
大神呀
回復(fù)

使用道具 舉報(bào)

10#
ID:298182 發(fā)表于 2018-3-29 09:52 | 只看該作者
贊一個(gè)
回復(fù)

使用道具 舉報(bào)

11#
ID:564380 發(fā)表于 2019-6-17 11:14 來(lái)自觸屏版 | 只看該作者
大佬威武
回復(fù)

使用道具 舉報(bào)

12#
ID:701852 發(fā)表于 2020-3-29 21:16 | 只看該作者
proteus,不是protues!
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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