在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于STC89C52單片機的智能交通燈設計

精通單片機與嵌入式 ? 來源:精通單片機與嵌入式 ? 2023-09-04 09:52 ? 次閱讀

功能

1、本設計基于STC89C51/52(與AT89S51/52、AT89C51/52通用,可任選)單片機

2、數碼管倒計時顯示時間。

3、東西和南北方向各有兩個數碼管,分別顯示時間,東西和南北的時間是不一樣的哦,要相差黃燈的時間才是正確的。

4、可以分別設置主干道和支干道的通行時間。

5、有緊急模式,可以特種車輛優先通行或交通事故應急處理。

操作說明

按鍵依次功能:黃燈長亮(深夜模式)、紅燈長亮(禁行)、確定調時時間、時間加、時間減、切換調時方向(東西和南北均可以分別設置通行時間)。單獨的是復位按鍵。

參考論文

206cf92a-4a5b-11ee-97a6-92fbcf53809c.png

原理圖

20ad5326-4a5b-11ee-97a6-92fbcf53809c.png

程序源代碼

//主程序
void main()
{
  TMOD=0X11;             //定時器設置
  TH1=0X3C;    
  TL1=0XB0;
  TH0=0X3C;          //定時器0置初值 0.05S
  TL0=0XB0;
  EA=1;            //開總中斷
  ET0=1;            //定時器0中斷開啟
  ET1=1;             //定時器1中斷開啟
  TR0=1;            //啟動定時0
  TR1=0;               //關閉定時1
    logo();            //開機初始化
  P2=0Xc3;          // 開始默認狀態,東西綠燈,南北黃燈   
    sec_nb=sec_dx+5;       //默認南北通行時間比東西多5秒
  while(1)            //主循環
  {   
    key();           //調用按鍵掃描程序
    display();         //調用顯示程序
  }  
}
//函數的定義部分
void key(void)  //按鍵掃描子程序
{   
  if(k1!=1)              //當K1(時間加)按下時
  {
    display();               //調用顯示,用于延時消抖
    if(k1!=1)              //如果確定按下
    {
        TR0=0;                 //關定時器  
      shanruo=0;          //閃爍標志位關
      P2=0x00;          //滅顯示
      TR1=0;              //啟動定時1
      if(set==0)          //設置鍵按下
        set_timedx++;       //南北加1S
      else
        set_timenb++;        //東西加1S
      if(set_timenb==100)
        set_timenb=1;
      if(  set_timedx==100)
        set_timedx=1;       //加到100置1
      sec_nb=set_timenb ;     //設置的數值賦給東西南北
      sec_dx=set_timedx;      
        do
       { 
        display();         //調用顯示,用于延時
      }
      while(k1!=1);       //等待按鍵釋放
    }
  }


  if(k2!=1)              //當K2(時間減)按鍵按下時
  {    
    display();               //調用顯示,用于延時消抖  
    if(k2!=1)            //如果確定按下
    {  
       TR0=0;                 //關定時器0  
      shanruo=0;          //閃爍標志位關
      P2=0x00;          //滅顯示
      TR1=0;            //關定時器1  
      if(set==0)
        set_timedx--;        //南北減1S
      else
        set_timenb--;        //東西減1S
      if(set_timenb==0)
        set_timenb=99;  
      if(  set_timedx==0 )
        set_timedx=99;       //減到1重置99
      sec_nb=set_timenb ;       //設置的數值賦給東西南北
      sec_dx=set_timedx;
        do  
        { 
        display();           //調用顯示,用于延時
      }
      while(k2!=1);         //等待按鍵釋放
    }
  }


  if(k3!=1)              //當K3(確認)鍵按下時
  {  
    display();               //調用顯示,用于延時消抖
    if(k3!=1)            //如果確定按下
    {
      TR0=1;              //啟動定時器0
      sec_nb=set_timenb;        //從中斷回復,仍顯示設置過的數值
      sec_dx=set_timedx;        //顯示設置過的時間
      TR1=0;              //關定時器1  
      if(set==0)            //時間倒時到0時
      { 
        P2=0X00;           //滅顯示
        Green_dx=1;            //東西綠燈亮
        Red_nb=1;          //南北紅燈亮
        sec_nb=sec_dx+5;       //回到初值
      }
      else 
      { 
        P2=0x00;          //南北綠燈,東西紅燈
        Green_nb=1;
        Red_dx=1;
        sec_dx=sec_nb+5; 
      }
    }
  }


  if(k4!=1)              //當K4(切換)鍵按下
    {
    display();               //調用顯示,用于延時消抖
    if(k4!=1)            //如果確定按下
    {  
       TR0=0;            //關定時器0  
      set=!set;          //取反set標志位,以切換調節方向
      TR1=0;            //關定時器1
      dx_nb=set;
      do
      {
        display();          //調用顯示,用于延時
      }        
      while(k4!=1);        //等待按鍵釋放
    }
  }  


  if(k5!=1)              //當K5(禁止)鍵按下時
  {
       display();               //調用顯示,用于延時消抖
       if(k5!=1)            //如果確定按下
       {   
        TR0=0;            //關定時器
      P2=0x00;          //滅顯示
      Red_dx=1;
      Red_nb=1;          //全部置紅燈
      TR1=0;
      sec_dx=00;          //四個方向的時間都為00
      sec_nb=00;
      do
      {
        display();         //調用顯示,用于延時
      }  
      while(k5!=1);      //等待按鍵釋放  
       }
  }
  if(k6!=1)              //當K6(夜間模式)按下 
  {
       display();               //調用顯示,用于延時消抖 
       if(k6!=1)            //如果確定按下
       {   
        TR0=0;            //關定時器
      P2=0x00;
      TR1=1;
      sec_dx=00;          //四個方向的時間都為00
      sec_nb=00;
      do
      {
        display();         //調用顯示,用于延時
      }  
      while(k6!=1);      //等待按鍵釋放  
       }
  }
}

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 單片機
    +關注

    關注

    6040

    文章

    44592

    瀏覽量

    636857
  • STC89C52
    +關注

    關注

    41

    文章

    330

    瀏覽量

    82133
  • 數碼管
    +關注

    關注

    32

    文章

    1883

    瀏覽量

    91280
  • 智能交通燈
    +關注

    關注

    0

    文章

    15

    瀏覽量

    9601

原文標題:【畢業設計004】-基于STC89C52的智能交通燈(程序、原理圖、視頻講解、操作說明、參考lunwen)

文章出處:【微信號:精通單片機與嵌入式,微信公眾號:精通單片機與嵌入式】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    怎樣去設計基于STC89C52單片機的霓虹

    基于STC89C52單片機的霓虹1、設計要求使用PWM驅動8個LED 人眼不能觀察到燈光全滅 燈光要有動畫效果2、設計概述 本實驗所用芯片為ST
    發表于 12-02 07:03

    基于單片機STC89C52的搖搖棒

    基于單片機STC89C52的搖搖棒設計,有電路圖和源程序
    發表于 11-23 14:38 ?28次下載

    基于STC89C52單片機交通燈控制系統設計

    基于STC89C52單片機交通燈控制系統設計 論文類
    發表于 12-14 15:44 ?168次下載

    單片機STC89C52程序

    單片機STC89C52源程序。
    發表于 01-11 18:16 ?112次下載

    基于STC89C52單片機智能交通燈控系統設計

    基于STC89C52單片機智能交通燈控系統設計
    發表于 02-22 11:37 ?107次下載

    基于STC89C52單片機智能窗簾控制系統

    基于STC89C52單片機智能窗簾控制,但沒有程序圖和連線圖。
    發表于 04-28 18:02 ?31次下載

    基于STC89C52單片機智能循跡小車設計

    基于STC89C52單片機智能循跡小車設計,做畢業設計的人很有用。
    發表于 05-09 10:59 ?88次下載

    STC89C52單片機介紹

    STC89C52單片機介紹。
    發表于 05-20 13:55 ?257次下載

    基于單片機STC89c52 GSM的智能家居報警系統設計

    基于單片機STC89c52 GSM的智能家居報警系統設計,分享給大家。
    發表于 05-05 08:40 ?81次下載

    基于STC89C52單片機智能小車設計

    基于STC89C52單片機智能小車設計方法介紹。
    發表于 05-28 10:57 ?103次下載

    基于單片機STC89C52控制的智能小車簡介

    基于單片機STC89C52控制的智能小車簡介(單片機原理圖)-該文檔為基于單片機STC89C52
    發表于 07-22 14:21 ?68次下載
    基于<b class='flag-5'>單片機</b><b class='flag-5'>STC89C52</b>控制的<b class='flag-5'>智能</b>小車簡介

    STC89C52單片機

    STC89C52單片機STC89C52STC89C52看到濤哥這篇文章了,紀念一下還在搞嵌入式的我們!硬件實物圖實物抽象化的圖為:這個STC89C52名字是什么意思呢?
    發表于 11-23 17:06 ?111次下載
    <b class='flag-5'>STC89C52</b><b class='flag-5'>單片機</b>

    STC89C52_51單片機_例程4_交通燈_C語言代碼

    STC89C52_51單片機_例程3_交通燈_C語言代碼代碼及文件下載鏈接審核通過后掛上交通燈需要設置一個flag標志位,當到達1s時調用d
    發表于 11-23 17:06 ?22次下載
    <b class='flag-5'>STC89C52</b>_51<b class='flag-5'>單片機</b>_例程4_<b class='flag-5'>交通燈</b>_<b class='flag-5'>C</b>語言代碼

    基于STC89C52單片機的霓虹

    基于STC89C52單片機的霓虹1、設計要求 使用PWM驅動8個LED 人眼不能觀察到燈光全滅 燈光要有動畫效果2、設計概述 本實驗所用芯片為
    發表于 11-23 17:21 ?29次下載
    基于<b class='flag-5'>STC89C52</b><b class='flag-5'>單片機</b>的霓虹<b class='flag-5'>燈</b>

    STC89C52單片機器件手冊

    STC89C52系列單片機的內部結構框圖如下圖所示。STC89C52單片機中包含中央處理器(CPU)、程序存儲器(Flash)、數據存儲器(SRAM)、定時/計數器、UART串口、I/
    發表于 09-05 10:41 ?8次下載
    主站蜘蛛池模板: 极品啪啪| 国产在线a不卡免费视频| 成人午夜毛片| 国产精品免费拍拍1000部| 国产日本在线播放| 日本动漫天堂| 免费一级大毛片a一观看不卡| 色多多免费视频观看区一区| 天堂在线www| 色妇视频| 久久精品免费视频观看| 成年人黄色片视频| 天天拍拍天天爽免费视频| 97人人人人| 国产特级毛片aaaaaa毛片| 欧美视频在线观在线看| 特黄特色三级在线播放| 日韩99| 天天射日日射| 人人看人人澡| 激情欧美一区二区三区中文字幕| 成人女人a毛片在线看| 天天射美女| 午夜色a大片在线观看免费| 天天躁夜夜躁狠狠躁2021| 性xxxxfreexxxxx国产| 美女视频黄免费| 在线视频 亚洲| 国产精品久久久久久久免费大片 | 日韩成人黄色| 黄色毛片免费看| 天天做夜夜爱| 日韩激情淫片免费看| 99亚洲精品卡2卡三卡4卡2卡| 视频在线观看一区二区| 亚洲黄色三级网站| 免费人成在线| 夜间免费视频| 天天艹天天射| 永久免费看的啪啪网站| 在线免费观看你懂的|