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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6939|回復(fù): 1
收起左側(cè)

基礎(chǔ)80c51單片機(jī)交通信號燈控制程序與Proteus仿真+設(shè)計(jì)文檔

[復(fù)制鏈接]
ID:426659 發(fā)表于 2019-1-15 13:24 | 顯示全部樓層 |閱讀模式
單片機(jī)代碼如下,按鍵1按下觸發(fā)中斷,相當(dāng)于總開關(guān),可以控制南北信號燈,此外可以用串口發(fā)送16進(jìn)制數(shù)據(jù),控制信號燈時間(只做了南北方向的,東西方向需要另做一個res接受位)

仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)

protuse仿真

protuse仿真


目錄
一、選題一理論部分              2
1.1 課題的要求與內(nèi)容              2
1.1.1 課題內(nèi)容: 十字路口交通燈系統(tǒng)設(shè)計(jì)              2
1.1.2 課題要求:              2
1.2  系統(tǒng)的方案設(shè)計(jì)              2
1.2.1 系統(tǒng)方案:              2
1.2.2系統(tǒng)的構(gòu)成:              2
1.3系統(tǒng)的硬件設(shè)計(jì)              2
1.3.1 系統(tǒng)硬件的設(shè)計(jì)步驟              2
1.3.2 系統(tǒng)硬件電路連接效果              3
1.4  系統(tǒng)的軟件設(shè)計(jì)              4
1.4.1 系統(tǒng)的軟件設(shè)計(jì)步驟              4
二、選題一實(shí)踐部分              4
2.1 系統(tǒng)的硬件原理與說明              4
2.1.1 系統(tǒng)的硬件仿真效果圖              4
2.1.2 仿真圖說明:              5
2.2系統(tǒng)硬件調(diào)試的過程中出現(xiàn)的問題以及解決的措施              5
2.3系統(tǒng)軟件調(diào)試的過程中出現(xiàn)的問題以及解決的措施              6

一、(選題一)理論部分
1.1 課題的要求與內(nèi)容
1.1.1 課題內(nèi)容 十字路口交通燈系統(tǒng)設(shè)計(jì)
為了減少交通事故,確保交通順暢,十字路口必須安置信號燈,以一定的時間間隔輪流點(diǎn)亮和熄滅。系統(tǒng)要求利用單片機(jī)的定時器定時功能,令十字路口的紅黃綠燈交替點(diǎn)亮和熄滅,并且用LED數(shù)碼管顯示時間。
1.1.2 課題要求
(1)開機(jī)或復(fù)位后,信號燈全滅,南北和東西各有兩組信號燈,分別是直行和左轉(zhuǎn)彎,LED數(shù)碼管顯示2位:顯示秒。南北方向直行綠燈時間為20s,左轉(zhuǎn)綠燈時間為17s;東西方向直行綠燈時間為27s,左轉(zhuǎn)方向?yàn)?2s。黃燈時間為3s。
(2)發(fā)揮部分
a.系統(tǒng)存儲兩套十字路口配時方案,可以通過按鍵來進(jìn)行選擇;
b.利用串口調(diào)試助手或編寫上位機(jī)軟件,通過上位機(jī)來人工設(shè)定十字路口配時方案。
1.2  系統(tǒng)的方案設(shè)計(jì)
1.2.1 系統(tǒng)方案:
本次課程設(shè)計(jì)所采用的方案是用單片機(jī)控制十字路口交通燈。單片機(jī)具有結(jié)構(gòu)簡單、編程方便、經(jīng)濟(jì)、易于連接等優(yōu)點(diǎn),特別是其內(nèi)部定時器計(jì)數(shù)器、中斷系統(tǒng)資源豐富可對交通燈進(jìn)行精確的控制,有應(yīng)用價值,可擴(kuò)展功能多,靈活性比較強(qiáng)
1.2.2系統(tǒng)的構(gòu)成:
整個系統(tǒng)的構(gòu)成以80C51單片機(jī)為核心,由I/O口擴(kuò)展,LED數(shù)碼管顯示,緊急情況中斷電路還有復(fù)位電路等組成。
單片機(jī)作為整個硬件系統(tǒng)的核心,它既是協(xié)調(diào)整工作系統(tǒng)的控制器,又是數(shù)據(jù)處理器。它由單片機(jī)、時鐘電路、復(fù)位電路等組成。行車方向指示采用LED發(fā)光二極管,可有紅、綠兩種顏色指示放行與禁止,黃燈作為紅綠轉(zhuǎn)換的提示,形象直觀。
本系統(tǒng)為交通信號燈設(shè)計(jì)了兩種不同的配時方案,可以根據(jù)道路實(shí)時交通量的大小選擇最佳配時方案。同時本系統(tǒng)還配有串口調(diào)試助手,可以通過串口發(fā)送數(shù)據(jù)從而達(dá)到改變配時時間的效果。
1.3系統(tǒng)的硬件設(shè)計(jì)
本系統(tǒng)的硬件主要由以下幾部分組成:80C51單片機(jī)、電阻、LED數(shù)碼管、LED發(fā)光二極管、電容、電解電容、晶體振蕩器、開關(guān)、標(biāo)準(zhǔn)RS232端口。電路圖是在Proteus中來連接完成的。
1.3.1 系統(tǒng)硬件的設(shè)計(jì)步驟

                  
                      圖1    系統(tǒng)硬件設(shè)計(jì)流程圖

1.3.2 系統(tǒng)硬件電路連接效果

                   圖2   硬件電路連接效果圖


1.4  系統(tǒng)的軟件設(shè)計(jì)
本系統(tǒng)的軟件設(shè)計(jì)部分全部在Keil uvision4中完成,采用的編程語言為Keil C51.
1.4.1 系統(tǒng)的軟件設(shè)計(jì)步驟


                      圖3  系統(tǒng)軟件設(shè)計(jì)流程圖

二、(選題一)實(shí)踐部分
2.1 系統(tǒng)的硬件原理與說明
   2.1.1 系統(tǒng)的硬件仿真效果

         
                圖4   硬件仿真效果圖


2.1.2 仿真圖說明:
當(dāng)開關(guān)1按下時,交通信號燈首先執(zhí)行第一套配時方案,首先,南北方向的直行是綠燈,東西方向的直行和左轉(zhuǎn)均為紅燈,待南北方向的直行時間變?yōu)?時,黃燈閃爍3秒,然后南北方向的左轉(zhuǎn)變?yōu)榫G燈,東西方向的直行和左轉(zhuǎn)仍然全部為紅燈;待南北方向的左轉(zhuǎn)時間變?yōu)?時,黃燈仍然閃爍3秒,然后東西方向的直行變?yōu)榫G燈,以此類推,信號燈亮的順序和南北方向一致。配時方案2中信號燈亮的順序和配時方案一的順序一致,只是亮的時間不同。
本系統(tǒng)在設(shè)計(jì)的過程中還使用了串口調(diào)試助手,修改的是南北方向直行的時間的個位上的數(shù)值。
2.2系統(tǒng)硬件調(diào)試的過程中出現(xiàn)的問題以及解決的措施
問題:
信號燈點(diǎn)亮的順序不對。
串口不能正常使用。
措施:
重新計(jì)算信號燈的字模。
重新連接串口。
2.3系統(tǒng)軟件調(diào)試的過程中出現(xiàn)的問題以及解決的措施
問題:
接收不到串口發(fā)來的數(shù)據(jù)。
措施:
給定義的變量賦初值。

三、(選題一)結(jié)束語
通過本次課程設(shè)計(jì),使我得到了一次用專業(yè)知識、專業(yè)技能分析和解決問題全面系統(tǒng)的鍛煉。使我在51單片機(jī)的基本原理、單片機(jī)應(yīng)用系統(tǒng)開發(fā)過程,以及在常用編程設(shè)計(jì)思路技巧(特別是C語言)的掌握方面都能向前邁了堅(jiān)實(shí)的一步。
首先,我感觸最深的當(dāng)屬查閱大量的設(shè)計(jì)資料了。為了讓自己的設(shè)計(jì)更加完善,查閱這方面的設(shè)計(jì)資料是十分必要的,在資料中查看與自己的設(shè)計(jì)相似的只是,在此基礎(chǔ)上完善直至符合設(shè)計(jì)要求。
其次,在這次課程設(shè)計(jì)中,我們運(yùn)用到了以前所學(xué)的專業(yè)知識,如:C語言、proteus制圖。編寫的程序與仿真電路圖配合使用,發(fā)現(xiàn)問題,解決問題,在解決問題的過程中,我受益頗多。
最后,要做好一個課程設(shè)計(jì),就必須要有一個清晰的思路和一個完整的的軟件流程圖;在設(shè)計(jì)程序時,一次性就將整個程序設(shè)計(jì)好的概率很小,反復(fù)修改、不斷改進(jìn)是程序設(shè)計(jì)的必經(jīng)之路,一個完美的代碼通常是要修改很多次的;要養(yǎng)成注釋程序的好習(xí)慣,一個程序的完美與否不僅僅是實(shí)現(xiàn)功能,而應(yīng)該讓人一目了然地明白設(shè)計(jì)者的思路,這樣也為資料的保存和交流提供了方便;在設(shè)計(jì)過程中應(yīng)該將每次遇到的問題記錄下來,并分析清楚,從中學(xué)到的知識也會讓我受益終身。


單片機(jī)源碼:
#include<reg51.h>
sbit LED1=P1^0;
sbit LED2=P1^1;
unsigned char code DIG_CODE[10]={0x6f/*9*/,0x7f/*8*/,0x07/*7*/,0x7d/*6*/,0x6d/*5*/,0x66/*4*/,0x4f/*3*/,0x5b/*2*/,0x06/*1*/,0x3f/*0*/};

unsigned int time;              
unsigned int LedNumVal[2];     
unsigned int button;
static unsigned char rec;
static unsigned char recs;
static unsigned char recg;

void Delay (unsigned int a )
{  
   unsigned char i=1;
   unsigned int time=0;
   if(time==a)
      {i++;
   }
}
void Display_show( int a , int b )  
{  
    int i=1;
    int j;
    int k;
    LedNumVal[0] = (9 - b) * 1000;
    LedNumVal[1] = (9 - a) * 1000;
     while(i==1)
    {   
       LED2=0;
       P0=DIG_CODE[LedNumVal[0] / 1000];   
       Delay(5);
        if(LedNumVal[0] > 10000)            //
  {
   LedNumVal[1] = LedNumVal[1] + 1000;   //
   LedNumVal[0] = 0;           //b=9
  }
        j = 10;      
  while(j--);
  P0 = 0x00;
  LED2 = 1;
        LED1=0;
        P0=DIG_CODE[LedNumVal[1] / 1000];
        Delay(5);
        if(LedNumVal[1] == 9000)   //
     {
   if(LedNumVal[0] > 9500)    //
   {
    i++;        //??b<0
   }
  }     
        k = 10;    //
  while(k--);
  P0 = 0x00;//
  LED1 = 1;
       }
}

void main(void)
{
    TMOD = 0x21;     //
    TH0 = 0xFE;   //
    TL0 = 0x0C ;   //
TH1=TL1=0xf4;    //
TR1=1;       /
ES=1;            //
PS=1;           //
PT0=0;          /
PCON=0;         //
SCON=0x50;     
    IT0=1;         //      
    EA = 1;        //        
    ET0=1;        //?
    TR0= 1;        /  
EX0=1;        /
    EX1=1;
rec=0;  //receive初值
while(1)
{   
        if(button==1)
  {
     if((button==1)&&(rec==0)) P2=0X7E; Display_show(1,2); //南北方向12s
     if((button==1)&&(rec!=0)) P2=0x7e; Display_show(recs,recg);
  P2=0X7D;
  Display_show(0,3);
       //??????3s
  P2=0X7B;
  Display_show(0,7);
       //7s
  P2=0X7D;
  Display_show(0,3);
       //3s
  P2=0XE7;
  Display_show(0,7);
       //7s
  P2=0XD7;
  Display_show(0,3);
       //3s
  P2=0XB7;
  Display_show(0,7);
       //7s
  P2=0XD7;;
  Display_show(0,3);
            //3s
  }

  if(button==2)
  {

        P2=0X7E;  
  Display_show(2,8);
       //28s
  P2=0X7D;
  Display_show(0,3);
       //3s
  P2=0X7B;
  Display_show(1,2);
       //12s
  P2=0X7D;
  Display_show(0,3);
       //3s
  P2=0XE7;
  Display_show(2,3);
       //23s
  P2=0XD7;
  Display_show(0,3);
       //3s
  P2=0XB7;
  Display_show(1,0);
       //10s
  P2=0XD7;;
  Display_show(0,3);
             //3s
  }

}   
}
void T0zd(void) interrupt 1         //T0 (1ms)     
{
  TH0 = 0xFE;
  TL0 = 0x0C ;
   LedNumVal[0]++;
  time++;  
}
void  int0(void) interrupt 0  using 0
{
      EX0=0;
      button = 1;
      EX0=1;
}
void  int1(void) interrupt 2  using 0
{
      EX1=0;
      button = 2;
      EX1=1;
}
void receiver() interrupt 4
{
   if(RI==1)
    {
      RI=0;
      rec=SBUF;  
      SBUF=rec;
      while(TI==0);
       TI=0;         
       recg=rec%16; //個位
    recs=rec/16*10;  //十位
    }
}

0.png

全部資料51hei下載地址:
交通信號燈.zip (8.04 MB, 下載次數(shù): 113)

評分

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

查看全部評分

回復(fù)

使用道具 舉報

ID:104982 發(fā)表于 2019-3-6 17:21 | 顯示全部樓層
非常完整的設(shè)計(jì),樓主辛苦了
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产精品日产欧美久久久久 | 观看av | 日韩影院在线 | 97伊人| 国产不卡在线观看 | 九九九精品视频 | 日韩精品一区二区三区四区 | 中文在线一区二区 | 91久久国产综合久久 | 男女视频在线观看免费 | 中文字幕乱码视频32 | 国产男女视频网站 | 九九综合 | 国产视频一区二区在线观看 | 不用播放器看的av | 久久com | 亚洲毛片在线观看 | 久久久久久网站 | 国产一区二区三区免费 | 成人亚洲性情网站www在线观看 | 黄色免费在线观看网址 | 日韩三区 | 天天视频成人 | 精品欧美一区二区三区免费观看 | 久久久91精品国产一区二区三区 | 国产亚洲精品久久久优势 | 亚洲欧美视频 | 亚洲午夜视频在线观看 | 欧美精品乱码久久久久久按摩 | 国产精品a久久久久 | 蜜桃毛片 | 久久国产精品一区二区三区 | 极品粉嫩国产48尤物在线播放 | 黄色一级毛片 | 欧美一区免费 | 男女免费在线观看视频 | 毛片黄片免费看 | 国产 91 视频| 九一视频在线观看 | 国产a级黄色录像 | 精品视频在线观看 |