標(biāo)題: 交通信號燈protues+keil源碼 [打印本頁]

作者: oktanglong123    時間: 2017-2-13 16:50
標(biāo)題: 交通信號燈protues+keil源碼
交通信號燈protues+keil,有電子愛好者可加qq1822286794,一起來搞電子制作。加qq時請打上備注“電子愛好者”。


單片機源程序:
  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ù),操作類型變量

  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);          //延時下面的YELLOW_A=1的狀態(tài),YELLOW_A=1是從case1里的狀態(tài)延續(xù)下來的
  40.                   YELLOW_A=~YELLOW_A;
  41.                   GREEN_A=1;     
  42.                   if(++Flash_Count!=10) return;      //當(dāng)if里面的條件不成立,(return)就會返回到Traffic_Light,從新開始執(zhí)行
  43.               Flash_Count=0;                                      //從新執(zhí)行時由于swich語句是一個一個語句塊的執(zhí)行,下次執(zhí)行依然會從語句塊2開始執(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)

作者: 無雙剣傷    時間: 2017-3-3 18:06
這個運行
作者: 老師我沒抄作業(yè)    時間: 2017-6-15 16:01
運行不了啊
作者: minminaya    時間: 2017-6-18 11:38
樓主威武
作者: Kild    時間: 2017-6-27 09:22
厲害
作者: Albert1022    時間: 2017-7-17 10:41
厲害了
作者: laoleilgf    時間: 2017-10-11 19:55
6666666666666

作者: laoleilgf    時間: 2017-10-11 19:56
厲害了樓主
作者: jiankang333    時間: 2018-1-3 20:45
大神呀
作者: 736317205    時間: 2018-3-29 09:52
贊一個
作者: 墨坊丶    時間: 2019-6-17 11:14
大佬威武
作者: 13487086265    時間: 2020-3-29 21:16
proteus,不是protues




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