0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于51單片機(jī)的簡易交通燈設(shè)計(jì)

嘉盛單片機(jī) ? 來源:嘉盛單片機(jī) ? 作者:嘉盛單片機(jī) ? 2022-10-24 10:26 ? 次閱讀

J028 51單片機(jī)簡易交通燈_代碼易懂版_仿真代碼_報(bào)告_講解

仿真圖proteus 7.8

程序編譯器:keil 4/keil 5

編程語言:C語言

設(shè)計(jì)編號:J028

工作狀態(tài):

狀態(tài)1:南北方向綠燈通行12秒,東西紅燈禁止通行15秒,分別倒計(jì)時(shí);

狀態(tài)2:南北方向黃燈提醒3秒,東西繼續(xù)紅燈倒計(jì)時(shí);

狀態(tài)3:東西方向綠燈通行9秒,南北方向禁止通行12秒;

狀態(tài)4:東西方向黃燈提醒3秒,南北繼續(xù)紅燈倒計(jì)時(shí);

狀態(tài)5:執(zhí)行狀態(tài)1,反復(fù)循環(huán)。

程序部分講解

主要的核心點(diǎn)是倒計(jì)時(shí),和LED燈亮滅控制

記住這個(gè)就可以設(shè)計(jì)軟件了。首先要有時(shí)間基礎(chǔ),倒計(jì)時(shí)從哪來呢?

一般兩個(gè)來源:

1,延時(shí)


```C
delay(1000ms);
```

通過死循環(huán)卡主軟件的運(yùn)行來達(dá)到延時(shí)效果,程序執(zhí)行效率極低,不可取。

2,定時(shí)

通過定時(shí)器產(chǎn)生時(shí)基。軟件設(shè)置50ms產(chǎn)生一次定時(shí)中斷,在中斷執(zhí)行函數(shù)中做計(jì)數(shù)。

  EA=1;  //開總中斷
//  EX1=1;//外部中斷1
//  IT1=1;//設(shè)置下降沿觸發(fā)中斷1
  TMOD|= 0X01;
  TH0=(65536-50000)/256;
  TL0=(65536-50000)%256;//12M晶振 50ms定時(shí)初值
  ET0=1; //允許定時(shí)器0中斷
  TR0=1;//啟動定時(shí)器0  
  state=0;

50ms執(zhí)行一次中斷函數(shù),通過one_sec_flag累加到20判斷時(shí)間過去了一秒。設(shè)置一秒標(biāo)志位scan_flag置一。

void Timer0() interrupt 1
{
  TH0=(65536-50000)/256;
  TL0=(65536-50000)%256;//12M晶振 50ms定時(shí)初值




  if(++half_sec_flag>10){
    half_sec_flag=0;
    half_flag1s=1;




  }
  if(++one_sec_flag<20){
    return;//提前結(jié)束函數(shù)
    }
  


  one_sec_flag=0;
  if(run_mode==0){//不是正常運(yùn)行時(shí),不紅綠燈數(shù)值不減一 
    flag1s=1;  


  }
}

在主函數(shù)while循環(huán)里判斷標(biāo)志位,如果是1,則倒計(jì)時(shí)計(jì)數(shù)值減一,即完成了倒計(jì)時(shí)的軟件設(shè)計(jì)思路

//LED和數(shù)碼管顯示,時(shí)刻刷新
    if(flag1s)//一秒執(zhí)行一次
    {
      flag1s=0;
      main_road_time--;      //紅綠燈倒計(jì)時(shí)時(shí)間減
      secondary_road_time--;
    }

仿真圖(提供源文件):

1058214c-5202-11ed-a3b6-dac502259ad0.png

10e062a0-5202-11ed-a3b6-dac502259ad0.png

1103ed60-5202-11ed-a3b6-dac502259ad0.png

1195fb60-5202-11ed-a3b6-dac502259ad0.png

程序(提供源文件源碼):

11cc8e64-5202-11ed-a3b6-dac502259ad0.png

程序流程框圖

1244df2c-5202-11ed-a3b6-dac502259ad0.png

系統(tǒng)硬件框圖

12615684-5202-11ed-a3b6-dac502259ad0.png

設(shè)計(jì)報(bào)告

127d10cc-5202-11ed-a3b6-dac502259ad0.png

資料清單(提供資料清單所有文件):

12a44c32-5202-11ed-a3b6-dac502259ad0.png

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • led
    led
    +關(guān)注

    關(guān)注

    242

    文章

    23277

    瀏覽量

    660844
  • 51單片機(jī)
    +關(guān)注

    關(guān)注

    274

    文章

    5702

    瀏覽量

    123601
  • 交通燈
    +關(guān)注

    關(guān)注

    13

    文章

    324

    瀏覽量

    39760

原文標(biāo)題:51單片機(jī)簡易交通燈(代碼易懂版_仿真代碼_報(bào)告_講解)

文章出處:【微信號:嘉盛單片機(jī),微信公眾號:嘉盛單片機(jī)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    基于51單片機(jī)交通燈

    基于51單片機(jī)交通燈 可以實(shí)現(xiàn)交通燈的控制時(shí)間 緊急停止按鈕等。。。。本人畢業(yè)設(shè)計(jì)的成功過哦附帶程序
    發(fā)表于 07-18 18:38

    請問一下怎樣去設(shè)計(jì)一種基于51單片機(jī)簡易交通燈?

    怎樣去設(shè)計(jì)一種基于51單片機(jī)簡易交通燈?怎樣使用Proteus去設(shè)計(jì)電路圖連接電路圖?如何使用keil進(jìn)行C語言代碼編程?
    發(fā)表于 07-14 07:58

    如何利用51單片機(jī)設(shè)計(jì)簡易交通燈?

    如何利用51單片機(jī)設(shè)計(jì)簡易交通燈?
    發(fā)表于 10-21 08:27

    基于51單片機(jī)交通燈設(shè)計(jì)課程

    基于51單片機(jī)交通燈設(shè)計(jì)課程,采用匯編語言實(shí)現(xiàn)功能。
    發(fā)表于 06-14 17:25 ?24次下載

    基于51單片機(jī)交通燈的設(shè)計(jì)

    基于51單片機(jī)交通燈的設(shè)計(jì)
    發(fā)表于 12-09 23:55 ?235次下載

    交通燈程序設(shè)計(jì) 交通燈protues仿真程序基于51單片機(jī)交通燈

    交通燈程序設(shè)計(jì) 交通燈protues仿真程序基于51單片機(jī)交通燈仿真
    發(fā)表于 01-14 22:32 ?359次下載

    使用51單片機(jī)實(shí)現(xiàn)交通燈的程序

    本文檔的主要內(nèi)容詳細(xì)介紹的是使用51單片機(jī)實(shí)現(xiàn)交通燈的程序資料免費(fèi)下載。
    發(fā)表于 06-04 17:52 ?17次下載
    使用<b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b>實(shí)現(xiàn)<b class='flag-5'>交通燈</b>的程序

    51單片機(jī)設(shè)計(jì)簡易交通燈

    **51單片機(jī)設(shè)計(jì)簡易交通燈**單片機(jī)好難啊 (好像學(xué)啥都難。。。)皮毛也沒學(xué)到設(shè)計(jì)簡陋(尷尬)不過通過自己的學(xué)習(xí)做出了一點(diǎn)東西 雖然很簡陋
    發(fā)表于 11-04 11:21 ?40次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b>設(shè)計(jì)<b class='flag-5'>簡易</b><b class='flag-5'>交通燈</b>

    基于51單片機(jī)交通燈設(shè)計(jì)

    基于51單片機(jī)交通燈設(shè)計(jì)
    發(fā)表于 02-18 09:46 ?139次下載

    51單片機(jī)交通燈

    51單片機(jī)交通燈資料分享
    發(fā)表于 11-28 14:54 ?51次下載

    基于51單片機(jī)交通燈例程源代碼

    基于51單片機(jī)交通燈例程源代碼
    發(fā)表于 05-16 11:14 ?21次下載

    基于51單片機(jī)交通燈設(shè)計(jì)報(bào)告

    電子發(fā)燒友網(wǎng)站提供《基于51單片機(jī)交通燈設(shè)計(jì)報(bào)告.rar》資料免費(fèi)下載
    發(fā)表于 01-05 10:50 ?17次下載

    基于51單片機(jī)交通燈設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《基于51單片機(jī)交通燈設(shè)計(jì).rar》資料免費(fèi)下載
    發(fā)表于 01-07 09:41 ?21次下載

    基于51單片機(jī)交通燈設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《基于51單片機(jī)交通燈設(shè)計(jì).rar》資料免費(fèi)下載
    發(fā)表于 01-12 10:30 ?4次下載

    基于51單片機(jī)交通燈設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《基于51單片機(jī)交通燈設(shè)計(jì).rar》資料免費(fèi)下載
    發(fā)表于 01-12 10:40 ?7次下載