交通信號燈控制系統(tǒng)_第1頁
交通信號燈控制系統(tǒng)_第2頁
交通信號燈控制系統(tǒng)_第3頁
交通信號燈控制系統(tǒng)_第4頁
交通信號燈控制系統(tǒng)_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

-PAGE15-交通信號燈自動控制系統(tǒng)設(shè)計報告

原理圖:一、設(shè)計要求:本設(shè)計要求與交通信號實際控制一致,采用LED模擬信號燈,信號燈分東西、南北二組,分別有紅、黃、綠三色。其工作狀態(tài)由程序控制,啟動、停止按鈕分別控制信號燈的啟動與停止。白天/黑夜轉(zhuǎn)換開關(guān)可對信號進行控制轉(zhuǎn)換。并且要求能用兩位數(shù)碼管(或者一位數(shù)碼管)來顯示紅燈或者綠燈等待的時間,在黃燈的時候數(shù)碼管不顯示。信號燈的控制要求如下:⑴假設(shè)東西方向交通繁忙為主干道,車流量為南北交通的兩倍。因此東西方向的綠燈通行時間為是南北方向上的兩倍。⑵開始時東西方向綠燈先亮,南北為紅燈。⑶按下啟動按鈕,開始工作,按下停止按鈕,停止工作。白天/黑夜轉(zhuǎn)換開關(guān)閉合時為黑夜工作狀態(tài),這時只有黃燈來回閃爍,斷開為白天工作狀態(tài)。白天工作狀態(tài)要求:東西方向綠燈亮40s,然后黃燈閃三下(1下/秒,共5秒),然后紅燈亮20s,而南北方向為紅燈亮40s,然后綠燈亮20s,然后黃燈也閃三下;如此周期循環(huán)下去。二、示意圖:圖2交通信號燈示意2系統(tǒng)總體方案及硬件設(shè)計:2.1芯片的選擇與簡單介紹: (圖1)主控芯片采用AT89S52單片機(其引腳圖如圖1所示)。單片機,亦稱單片微型計算機。它是把中央處理器(CPU)、數(shù)據(jù)存儲器(RAM)、程序存儲器(ROM)、輸入/輸出端口(I/0)等主要計算機功能部件都集成在一塊集成電路芯片上的微型計算機。計算機的產(chǎn)生加快了人類改造世界的步伐,但是它畢竟體積大。于是,單片機在這種情況下誕生了??v觀生活的各個領(lǐng)域,從導(dǎo)彈的導(dǎo)航裝置,到飛機上各種儀表的控制,從計算機的網(wǎng)絡(luò)通訊與數(shù)據(jù)傳輸,到工業(yè)自動化過程的實時控制和數(shù)據(jù)處理,以及我們生活中廣泛使用的各種智能IC卡、電子寵物等,這些都離不開單片機。單片機以體積小、功能全、性價比等諸多優(yōu)點而獨具特色,在工業(yè)控制、尖端武器、通信設(shè)備、家用電器等嵌入式應(yīng)用領(lǐng)域中獨占鰲頭。如果說C語言程序設(shè)計課是程序設(shè)計的基礎(chǔ)課,那么單片機以其系統(tǒng)硬件構(gòu)架完整、價格低廉、學(xué)生能動手等特點,成為工科學(xué)生硬件設(shè)計基礎(chǔ)課。MCS-51單片機是指由美國Intel公司(大名鼎鼎的Intel)生產(chǎn)的一系列單片機的總稱,這一系列單片機包括了好些品種,如8031,8051,8751,8032,8052,8752等,其中8051是最早最典型的產(chǎn)品,該系列其它單片機都是在8051的基礎(chǔ)上進行功能的增、減、改變而來的,所以人們習(xí)慣于用8051來稱呼MCS-51系列單片機。8051單片機包含中央處理器(CPU)、程序存儲器(ROM)、數(shù)據(jù)存儲器(RAM)、定時/計數(shù)器、并行接口、串行接口和中斷系統(tǒng)等幾大單元及數(shù)據(jù)總線、地址總線和控制總線等三大總線?,F(xiàn)在我們分別加以說明:1.中央處理器(CPU)中央處理器(CPU)是整個單片機的核心部件,是8位數(shù)據(jù)寬度DB的處理器,能處理8位二進制數(shù)據(jù)或代碼,CPU負(fù)責(zé)控制、指揮和調(diào)度整個單元系統(tǒng)協(xié)調(diào)的工作,完成運算和控制輸入輸出功能等操作。2.數(shù)據(jù)存儲器(RAM)8051內(nèi)部有128個8位用戶數(shù)據(jù)存儲單元和128個專用寄存器單元,它們是統(tǒng)一編址的,專用寄存器只能用于存放控制指令數(shù)據(jù),用戶只能訪問,而不能用于存放用戶數(shù)據(jù),所以,用戶能使用的RAM只有128個,可存放讀寫的數(shù)據(jù),運算的中間結(jié)果或用戶定義的字型表。 3.程序存儲器(內(nèi)部ROM):程序存儲器用于存放程序和固定不變的常數(shù)等。通常采用只讀存儲器,且其又多種類型,在89系列單片機中全部采用閃存。AT89S51內(nèi)部配置了4KB閃存。3.1.定時/計數(shù)器(ROM):定時/計數(shù)器用于實現(xiàn)定時和計數(shù)功能。AT89S51共有2個16位定時/計數(shù)器。3.2.并行輸入輸出(I/O)口:8051共有4組8位I/O口(P0、P1、P2或P3),用于對外部數(shù)據(jù)的傳輸。每個口都由1個鎖存器和一個驅(qū)動器組成。它們主要用于實現(xiàn)與外部設(shè)備中數(shù)據(jù)的并行輸入與輸出,有些I/O口還有其他功能。4.全雙工串行口:A89S51內(nèi)置一個全雙工串行通信口,用于與其它設(shè)備間的串行數(shù)據(jù)傳送,該串行口既可以用作異步通信收發(fā)器,也可以當(dāng)同步移位器使用。5.時鐘電路:時鐘電路的作用是產(chǎn)生單片機工作所需要的時鐘脈沖序列。6.中斷系統(tǒng):中斷系統(tǒng)的作用主要是對外部或內(nèi)部的終端請求進行管理與處理。AT89S51共有5個中斷源,其中有2個外部中斷源和3個內(nèi)部中斷源。7.定時/計數(shù)器8051有兩個16位的可編程定時/計數(shù)器,以實現(xiàn)定時或計數(shù)產(chǎn)生中斷用于控制程序轉(zhuǎn)向。2.2系統(tǒng)方框圖:電源電源+5V紅黃綠交通燈AT89S52交通燈倒計時顯示時鐘電路復(fù)位電路2.3工作原理:由軟件設(shè)置交通燈的初始時間,南北方向通行40秒,東西方向通行20秒,倒計時數(shù)碼管采用動態(tài)顯示,P0口送字形碼,P2口送字位選通信號,通過單片機的P1口控制各種信號燈的燃亮與熄滅。采用中斷方式實現(xiàn)按鍵的功能。返回啟動、夜間轉(zhuǎn)換系統(tǒng)控制電路返回啟動、夜間轉(zhuǎn)換系統(tǒng)控制電路NSEW南北方向NSGYRNSEW南北方向NSGYR東西方向EWGYR2.4電路原理圖(圖2)(圖2)2.5單片機最小系統(tǒng): (圖3(圖3)單片機最小系統(tǒng)以80S52為核心,外加時鐘和復(fù)位電路,電路結(jié)構(gòu)簡單,抗干擾能力強,成本相對較低,非常符合本設(shè)計的所有要求。89C51單片機系列是MCS-51系列的基礎(chǔ)上發(fā)展起來的,是當(dāng)前8位單片機的典型代表,采用CHMOS工藝,即互補金屬氧化物的HMOS工藝,CHMOS是CMOS和HMOS的結(jié)合,具有HMOS高速度和高密度的特點,還具有CMOS低功耗的特點。時鐘電路在單片機的外部通過XTAL1,XTAL2這兩個引腳跨接晶體振蕩器和微調(diào)電容,構(gòu)成穩(wěn)定的自激振蕩器.本系統(tǒng)采用的為12MHz的晶振,一個機器周期為1us,C2,C3為30pF。復(fù)位電路分為上電自動復(fù)位和按鍵手動復(fù)位,RST引腳是復(fù)位信號的輸入端,復(fù)位信號是高電平有效.上電自動復(fù)位通過電容C1和電阻R4來實現(xiàn),按鍵手動復(fù)位是圖中復(fù)位鍵來實現(xiàn)的。2.6時間顯示電路:(圖4)因為系統(tǒng)要求南北和東西方向的信號燈時間不一樣,所以就利用單片機的P0口(P00-P06)送出數(shù)據(jù)的段碼,位選信號用P2口(P20-P23)送出,用動態(tài)掃描的方法顯示東西、南北的倒計時間(如圖4所示)。數(shù)碼管使用共陰數(shù)碼管,需要接上470歐上拉電阻以提供足夠大的電流來驅(qū)動數(shù)碼管,數(shù)碼管的每段的電流是約10毫安。2.7交通燈電路:本設(shè)計利用單片機的P1口(P10-P15)來驅(qū)動和控制各種信號燈的燃亮和燃亮?xí)r間,在實際中,交通燈的信號燈需要用高電壓控制,在這里我們只是模擬一下它的控制信號,所以我們就只用單片機的信號引腳直接來控制發(fā)光二極管(如圖5所示)。(圖5)3軟件設(shè)計3.1整體系統(tǒng)分析總體流程圖(實現(xiàn)各種狀態(tài)間的轉(zhuǎn)換):白天工作狀態(tài)要求:東西方向綠燈亮40s,然后黃燈閃三下(1下/秒,共5秒),然后紅燈亮20s,而南北方向為紅燈亮40s,然后綠燈亮20s,然后黃燈也閃三下;如此周期循環(huán)下去。東西綠燈東西綠燈南北紅燈東西黃燈閃南北紅燈亮東西紅燈南北綠燈東西紅燈亮南北黃燈閃3.2相關(guān)參數(shù)計算:T0的計數(shù)初值:X=216-12*50*1000/12=15536=3CB0H3.3程序流程圖:(圖-6(圖-6)4Proteus軟件仿真4.1系統(tǒng)仿真電路圖1.交通燈控制系統(tǒng)正常運行時仿真圖(見圖7)。(圖7)交通燈南北方向綠燈,東西黃燈閃爍時仿真圖(見圖8)。圖83.交通燈東西方向向南北方向轉(zhuǎn)變,黃燈亮,見(圖9)。(圖-9)5課程設(shè)計心得通過這次課程設(shè)計,我得到了一次用所學(xué)知識與技能分析和解決問題的可貴的鍛煉機會,使我深刻鄰會了單片機的基本原理和單片機應(yīng)用系統(tǒng)開發(fā)的過程。在常用編程設(shè)計思路技巧的掌握方面都向前邁了一大步,為日后成為合格的應(yīng)用型人才打下良好的基礎(chǔ)。通過本次的畢業(yè)設(shè)計,受益匪淺,充分意識到自己所學(xué)的東西還是非常有限的,不過通過設(shè)計,還是學(xué)到了一些書本上沒有學(xué)到的東西,為自己以后的工作奠定了一定的基礎(chǔ)。在撰寫本文的過程中,深切地體會到當(dāng)今科技技術(shù)飛速的發(fā)展,特別是單片機的發(fā)展使得許多技術(shù)難題迎刃而解,作者堅信,隨著科學(xué)技術(shù)的不斷發(fā)展,單片機技術(shù)的應(yīng)用將是前途無量。由于本設(shè)計涉及到的知識面比較廣,再加上本人在相關(guān)領(lǐng)域知識的缺乏,所以本設(shè)計的性能指標(biāo)還是有待改善的,然而,模擬仿真證明了本設(shè)計的設(shè)計思想和設(shè)計方法是現(xiàn)實可行的。建議:利用單片機制作的交通信號燈控制電路,具有電路簡單,功能全面,利用軟件可以方便地修改工作方式,燈亮滅時間,優(yōu)點比用硬件搭建的電路要好得多,因此得到廣泛應(yīng)用。經(jīng)過仔細分析本電路,我提出了以下改進建議:最好把倒計時顯示屏分別做成紅綠雙色的,紅燈亮?xí)r顯示紅色倒計時,黃燈亮?xí)r顯示黃色的倒計時,綠燈亮?xí)r顯示綠色的倒計時。位選信號P2要增加4個口,為P20-P27。相應(yīng)的程序也要修改。實際上,黃色燈Y可以由紅R綠G燈光混合而成,這樣可以P1可以由6個口減少為4個口,相應(yīng)的指示燈程序也要修改,用硬件(開關(guān)三極管)利用P1口控制燈光的色彩,倒計時程序不用改變。設(shè)計電路如下2圖.參考文獻1.《電子系統(tǒng)綜合設(shè)計》郭勇北京大學(xué)出版社2.《數(shù)字電子技術(shù)基礎(chǔ)》閻石高教出版社3.《模擬電子技術(shù)基礎(chǔ)》童詩白高教出版社4.《單片機原理及應(yīng)用》張毅剛高等教育出版社5.吳黎明,王桂棠,洪添勝,等.單片機原理及應(yīng)用技術(shù)[M].北京:科學(xué)出版社,2005.6.韓克,柳秀山,等.電子技能與EDA技術(shù)[M].廣州:暨南大學(xué)出版社,2004.附1:源程序代碼 #include<AT89X51.H> #defineucharunsignedchar/*定義字符串類型為無符號型*/ucharcodea[10]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};ucharcodeb[4]={0x0D,0x0E,0x07,0x0B};/****P2口,低有效*/ucharcodec[5]={0xF3,0xEE,0xDE,0xDD,0xED};/****P1口,低有效*/charSN=40,WE=40;charSN_G=40,WE_G=20,Y=5;uchari,k=0,count=0;voiddelay(uchart);/*定義函數(shù)*/voidlight(); /*定義函數(shù)*/voidled(); /*定義函數(shù)*/sbitK0=P3^2;/*開關(guān)K4接P3^2管腳*/sbitK1=P3^3;/*開關(guān)K2接P3^3管腳*/sbitK3=P3^5;/*開關(guān)K3接P3^5管腳*//*程序初始化*/voidinit(void){ /*12MHz*/TMOD=0x01;/**計數(shù)器用模式1,為16位計數(shù)器*****/TH1=(65536-50000)/256; /*0x3C*/TL1=(65536-50000)%256; /*0xB0*//*計50000個數(shù),用時50ms*/IT0=1;/*外部中斷0為邊沿觸發(fā)方式*/ET0=1;/*允許T0中斷*/TR0=1;/*啟動計數(shù)器*/EA=1;/*CPU開放總中斷*/EX0=1;/*允許外部中斷0中斷,即允許響應(yīng)端口P3^2(K4)中斷*/EX1=1;/*允許外部中斷1中斷,即允許響應(yīng)端口P3^3(K2)中斷*/}/*中斷0處理程序=夜間模式=*/voidint0(void)interrupt0{ while(1) { P1=c[4],P0=0x00;/*交通燈對應(yīng)著k的值變化*/ if(P1==c[4])/*當(dāng)南北方向亮黃燈且count=0時,執(zhí)行程序*/ { TH1=(65536-50000)/256; TL1=(65536-50000)%256;/*延時50ms*/ } P1=0xFF;/*燈滅,返回*/if(K3==0)/*P3^5=0*/{ delay(20);/*延時,把抖動的時間拋掉*/ if(K3==0) { while(!K3)/*當(dāng)松開K3開關(guān)時,跳出空循環(huán),執(zhí)行后面的程序*/ { } count=0;/*清零*/ k=0;/*南北方向通車,東西方向不通車*/ SN=40; WE=40;/*南北方向顯示時間為南北方向綠燈通行時間,東西方向顯示時間為南北方向綠燈通行時間加黃燈閃亮?xí)r間*/light();/*調(diào)用交通燈函數(shù)*/ led();/*調(diào)用數(shù)碼管函數(shù)*/ EA=1;/*CPU開放總中斷*/ break;/*跳出*/ } } }}/*白天晚上模式切換程序結(jié)束*/ /*中斷1處理程序TING*/ voidint1(void)interrupt2{ P1=0xFF,P0=a[0];/*東西南北方向均燈全滅,P0口輸出0*/EA=0;/*CPU禁止響應(yīng)一切中斷*/ TR0=!TR0;/*計數(shù)器停止工作*/ SN=SN_G,WE=SN_G;while(1)/*無條件循環(huán)*/ { /*數(shù)碼管掃描程序,*/ P2=b[0];/*顯示南北方向個位*/ delay(5);/*延時*/ P2=b[1];/*顯示南北方向十位*/ delay(5);/*延時*/ P2=b[2];/*顯示東西方向個位*/ delay(5);/*延時*/ P2=b[3];/*顯示東西方向十位*/ delay(5);/*延時*/ /*返回*/if(K3==0)/*P3^5=0*/{ delay(10);/*延時,把抖動的時間拋掉*/ if(K3==0) { while(!K3)/*當(dāng)松開K3開關(guān)時,跳出空循環(huán),執(zhí)行后面的程序*/ {} EA=1;/*CPU開放總中斷*/ TR0=!TR0;/*啟動計數(shù)器*/ break;/*跳出*/ } } }}/*定時函數(shù)*/voidtime1(void)interrupt1{ delay(10); TH0=0x3c; TL0=0xb0;/*計50000個數(shù),用時50ms*/ count++; /*自增運算*/ if(count>=20)/*當(dāng)count大于或等于20時,歷時1s,執(zhí)行程序*/ { SN--;/*自減運算*/ WE--;/*自減運算*/ count=0;/*清零*/ if(SN==0||WE==0)/*當(dāng)SN=0或者WE=0時,執(zhí)行程序*/ { k++;/*自增運算*/ if(k>3)/*當(dāng)k>3時,執(zhí)行程序*/ {k=0;SN=40;WE=40;} elseif(k==1) {SN=20;WE=Y;} elseif(k==2) {SN=15;WE=20;} elseif(k==3) {SN=Y;WE=5;} } }}/*延時t毫秒*/voiddelay(uchart){ uchari; for(t;t>0;t--) { for(i=2000;i>0;i--) {} }}/*交通燈函數(shù)*/voidlight(){ P1=c[k];/*交通燈對應(yīng)著k的值變化*/if(P1==c[1]&&count==0)/*當(dāng)南北方向亮黃燈且count=0時,執(zhí)行程序*/ {delay(5); TH1=(65536-60000)/256; TL1=(65536-60000)%256;/*延時50ms*/ P1=0xFE; }else if(P1==c[3]&&count==0)/*當(dāng)東西方向亮黃燈且count=0時,執(zhí)行程序*/ {delay(10); TH1=(65536-60000)/256; TL1=(65536-60000)%256;/*延時50ms*/ P1=0xDF; }}/*數(shù)碼管函數(shù)*/voidled(){ P2=b[0],P0=a[SN%10];/*顯示南北方向個位*/delay(5);/*延時*/ P2=b[1],P0=a[SN/10];/*顯示南北方向十位*/ delay(5);/*延時*/ P2=b[2],P0=a[WE%10];/*顯示東西方向個位*/ delay(5);/*延時*/ P2=b[3],P0=a[WE/10];/*顯示東西方向十位*/ delay(5);/*延時*/}/*主函數(shù)*/voidmain(void){ init();/

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論