久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5322|回復: 2
打印 上一主題 下一主題
收起左側

基于51單片機的十字路口交通仿真 程序和原理圖

[復制鏈接]
跳轉到指定樓層
樓主
里面包含程序和原理圖及仿真
單片機交通燈實物圖:


十字路口交通燈的仿真圖原理圖:


所有文件打包下載:

下載地址: 基于AT89C51的十字路口交通燈仿真.zip (1.31 MB, 下載次數: 48)

交通燈程序:

  1. /*****************************************************
  2. *   王瑾畢設-交通燈
  3. *
  4. *
  5. *
  6. *****************************************************/
  7. #include<include.h>

  8. sbit NS_GRE = P2^5;      
  9. sbit NS_YEL = P2^4;
  10. sbit NS_RED = P2^3;   
  11. sbit EW_GRE = P2^2;  
  12. sbit EW_YEL = P2^1;  
  13. sbit EW_RED = P2^0;   



  14. uint8  EW_Timer = unused8;  //東西方向紅燈定時器
  15. uint8  NS_Timer = unused8;  //南北方向紅燈定時器
  16. uint8  YEL_Timer = unused8; //黃燈 5s定時器

  17. int main(void)
  18. {

  19.     Timer_Init();    //定時器初始化
  20.     INT0_Init();     //外部中斷初始化   
  21.     EA=1;            //打開全局中斷
  22.    
  23.     NS_GRE = OFF;    //所有的燈都滅   
  24.     NS_YEL = OFF;
  25.     NS_RED = OFF;   
  26.     EW_GRE = OFF;  
  27.     EW_YEL = OFF;  
  28.     EW_RED = OFF;   
  29.     P3 = 0xFF;      //所有顯示滅

  30.     //先讓東西方向紅燈亮 南北方向通行
  31.     EW_Timer = EWTime_Count;//東西方向開始計時

  32.     while(1)
  33.     {
  34.            
  35.            if((EW_Timer != unused8) && (EW_Timer != 0)){ //東西方向做紅燈倒計時
  36.                 display1(EW_Timer/10, EW_Timer%10);      //東西方向顯示時間 南北方向不顯示
  37.                 EW_RED_ON();                             //東西方向保持紅燈
  38.                 NS_GRE_ON();                             //南北方向保持綠燈
  39.            }
  40.            else if((EW_Timer != unused8) && (EW_Timer == 0) && (YEL_Timer == unused8)){//東西方向紅燈計時到 東西方向保持紅燈 南北方向變黃燈 開始黃燈5s計時
  41.                 EW_RED_ON();                             //東西方向紅燈
  42.                 NS_YEL_ON();                             //南北方向黃燈
  43.                 YEL_Timer = YELTime_Count;               //5s計時
  44.            }
  45.            if((EW_Timer != unused8) && (YEL_Timer != unused8) && (YEL_Timer != 0)){
  46.                 display1(YEL_Timer/10, YEL_Timer%10);    //東西方向顯示時間 南北方向不顯示
  47.            }
  48.            if((EW_Timer != unused8) && (YEL_Timer == 0)){    //東西方向紅-南北方向黃燈5s計時到 東西紅燈定時器關 黃燈定時器關 南北紅燈 東西綠燈 南北計時器開
  49.                 EW_Timer = unused8;                      //東西紅燈定時器關
  50.                 YEL_Timer = unused8;                     //黃燈定時器關
  51.                 NS_RED_ON();                             //南北變紅燈
  52.                 EW_GRE_ON();                             //東西變綠燈
  53.                 NS_Timer = NSTime_Count;                 //南北紅燈定時器開
  54.            }



  55.            if((NS_Timer != unused8) && (NS_Timer != 0)){ //南北紅燈定時器正在計時
  56.                 display2(NS_Timer/10, NS_Timer%10);      //南北方向顯示時間 東西方向不顯示
  57.                 EW_GRE_ON();                             //東西保持綠燈
  58.                 NS_RED_ON();                             //南北保持紅燈
  59.            }
  60.            else if((NS_Timer != unused8) && (NS_Timer == 0) && (YEL_Timer == unused8)){ //南北方向紅燈計時到 南北方向保持紅燈 東西方向變黃燈 開始黃燈5s計時
  61.                 NS_RED_ON();                             //南北方向保持紅燈
  62.                 EW_YEL_ON();                             //東西方向變黃燈
  63.                 YEL_Timer = YELTime_Count;               //5s計時
  64.            }
  65.            if((NS_Timer != unused8) && (YEL_Timer != unused8) && (YEL_Timer != 0)){   
  66.                 display2(YEL_Timer/10, YEL_Timer%10);   //南北方向顯示時間 東西方向不顯示
  67.            }
  68.            if((NS_Timer != unused8) && (YEL_Timer == 0)){  //南北方向紅-東西方向黃燈5s計時到 南北方向定時器關 黃燈定時器關 東西方向變紅燈 南北方向變綠燈 東西方向紅燈計時器開始計時
  69.                 NS_Timer = unused8;
  70.                 YEL_Timer = unused8;
  71.                 EW_RED_ON();                           //東西方向變紅燈
  72.                 NS_GRE_ON();                           //南北方向變綠燈
  73.                 EW_Timer = EWTime_Count;               //東西方向開始計時
  74.            }


  75.            if(Flag_Key == 1){        //如果急停按鍵按下 則全紅燈 顯示滅
  76.                 P3 = 0xFF;           //所有顯示滅
  77.                 EW_RED_ON();         //東西方向紅燈
  78.                 NS_RED_ON();         //南北方向紅燈
  79.                
  80.                 EW_Timer = unused8;  //關閉所有定時器
  81.                 NS_Timer = unused8;
  82.                 YEL_Timer = unused8;
  83.            }
  84.     }
  85. }
復制代碼


評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

沙發
ID:116389 發表于 2016-5-18 19:20 | 只看該作者
支持樓主,搶沙發,樓主棒棒噠
回復

使用道具 舉報

板凳
ID:128433 發表于 2016-6-28 15:29 | 只看該作者
不錯,很詳細,值得參照與學習
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日韩欧美在线播放 | 欧美色综合网 | 精品一区二区三区入口 | 91福利在线观看视频 | 日韩视频观看 | 久久精品国产99国产精品 | 91精品国产色综合久久 | 欧美激情综合网 | 日本精品一区二区三区视频 | 久久极品 | 国产农村妇女毛片精品久久麻豆 | 天天操夜夜骑 | 日韩av一区二区在线观看 | 91精品国产91久久综合桃花 | 国产专区在线 | 午夜理伦三级理论三级在线观看 | 日韩在线中文字幕 | 亚洲视频一区在线观看 | 国产资源网 | 国产精品久久九九 | 在线视频日韩 | 久久久精品视频免费看 | 一级一级毛片免费看 | 麻豆changesxxx国产 | 黄网址在线观看 | 精品1区2区 | 国产一区二区三区视频免费观看 | 国产精品毛片一区二区三区 | 久久99久久99 | av男人的天堂在线 | 天天躁人人躁人人躁狂躁 | 日本特黄特色aaa大片免费 | 精品国产欧美在线 | 在线观看你懂的网站 | 精品久久久久久亚洲精品 | 日韩中文字幕一区 | 久久精品国产久精国产 | 欧美性生活一区二区三区 | 亚洲国产精品视频一区 | 九九热九九 | 97久久久久久 |