交通燈控制系統(tǒng)設(shè)計(jì)_第1頁
交通燈控制系統(tǒng)設(shè)計(jì)_第2頁
交通燈控制系統(tǒng)設(shè)計(jì)_第3頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、.目 錄摘要I第1章緒論11.1設(shè)計(jì)背景11.2設(shè)計(jì)要求11.3設(shè)計(jì)思路1第2章設(shè)計(jì)總電路圖及硬件設(shè)計(jì)22.1設(shè)計(jì)總電路圖22.2硬件設(shè)計(jì)22.3系統(tǒng)時鐘電路32.4系統(tǒng)復(fù)位電路32.5數(shù)碼管顯示電路42.6路燈指示電路52.7按鍵電路設(shè)計(jì)6第3章 軟件系統(tǒng)設(shè)計(jì)63.1設(shè)計(jì)思路及關(guān)鍵技術(shù)63.2 軟件流程73.3延時函數(shù)83.4 讀狀態(tài)函數(shù)83.5 顯示函數(shù)93.6 定時器0中斷函數(shù)10第4章Proteus軟件仿真104.1 Proteus軟件仿真104.2 南北路燈切換時仿真114.3 緊急情況下的仿真114.4東西緊急情況下的仿真12第5章結(jié)束語13參考文獻(xiàn)14致謝15附錄源程序代碼16第

2、1章 緒論1.1設(shè)計(jì)背景近年來隨著科技的飛速發(fā)展,單片機(jī)的應(yīng)用正在不斷深入,同時帶動傳統(tǒng)控制檢測技術(shù)日益更新。在實(shí)時檢測和自動控制的單片機(jī)應(yīng)用系統(tǒng)中,單片機(jī)往往作為一個核心部件來使用,僅單片機(jī)方面知識是不夠的,還應(yīng)根據(jù)具體硬件結(jié)構(gòu)軟硬件結(jié)合,加以完善。十字路口車輛穿梭,行人熙攘,車行車道,人行人道,有條不紊。那么靠什么來實(shí)現(xiàn)這井然秩序呢.靠的就是交通信號燈的自動指揮系統(tǒng)。1.2設(shè)計(jì)要求本系統(tǒng)采用8051系列單片機(jī)AT89C52為中心器件來設(shè)計(jì)交通燈控制器,實(shí)現(xiàn)了通過8051芯片的P1口設(shè)置紅、綠燈燃亮?xí)r間顯示的功能;P0口連接交通燈循環(huán)點(diǎn)亮,本系統(tǒng)操作簡單、擴(kuò)展功能強(qiáng)。1.3設(shè)計(jì)思路A、B兩干

3、道交于一個十字路口,各干道有一組紅、黃、綠三色的指示燈,指揮車輛和行人安全通行。紅燈亮禁止通行,綠燈亮允許通行。黃燈亮提示人們注意紅、綠燈的狀態(tài)即將切換,且黃燈燃亮?xí)r間為A、B兩干道的公共停車時間。設(shè)A道比B道的車流量大,指示燈燃亮的方案如表2-1-1。141514A道黃燈亮紅燈亮黃燈亮綠燈亮黃燈亮紅燈亮B道黃燈亮綠燈亮黃燈亮紅燈亮黃燈亮綠燈亮表2-1-1說明:(1)當(dāng)為黃燈時 A、B兩道同時為黃燈;以提示行人或車輛下一個燈色即將到來 時間 1秒。 (2)當(dāng)A到為紅燈,A 道車輛禁止通行,A 道行人可通過;B 道為綠燈,B 道車輛通過,行人禁止通行。時間為4秒。(3)當(dāng)A道綠燈,A 道車輛通行

4、;B 道為紅燈,B 道車輛禁止通過,行人通行。時間為5秒。 A道車流大 通行時間長(4)這樣如上表的時間和紅、綠、黃出現(xiàn)的順序依次出現(xiàn)這樣行人和車輛就能安全暢通的通行。(5)此表可根據(jù)車流量動態(tài)設(shè)定在沒有特殊情況下,即在兩道均有車輛要求通過時,交通燈按常規(guī)運(yùn)行。通過控制開關(guān)可以輸入要模擬的其它狀態(tài),交通燈將按照其輸入狀態(tài)的情況進(jìn)行運(yùn)行。第2章 設(shè)計(jì)總電路圖及硬件設(shè)計(jì)2.1設(shè)計(jì)總電路圖2.2硬件設(shè)計(jì)交通燈控制系統(tǒng)的結(jié)構(gòu)框圖如圖2-2-1所示。總體設(shè)計(jì)方案共有五個部分組成,分別是:單片機(jī)AT89C51、紅、綠、黃燈顯示電路、LED數(shù)顯時間電路、晶振及復(fù)位控制電路、控制與調(diào)時開關(guān)電路。在進(jìn)行仿真調(diào)試

5、過程中,程序運(yùn)行正確,五個部分就同時工作,從而實(shí)現(xiàn)了交通燈的基本功能及調(diào)時功能。圖2-2-1硬件設(shè)計(jì)方案2.3系統(tǒng)時鐘電路 晶振采用了內(nèi)部時鐘信號源的方式。對于時間要求不是很高的系統(tǒng),只要按圖進(jìn)行設(shè)計(jì)就能使系統(tǒng)可靠起振并穩(wěn)定運(yùn)行。但由于圖中的C1、C2電容起著系統(tǒng)時鐘頻率微調(diào)和穩(wěn)定的作用,因此,在本系統(tǒng)的實(shí)際應(yīng)用中一定要注意正確選擇參數(shù)(30±10 PF),并保證對稱性(盡可能匹配)。圖2-3-1系統(tǒng)時鐘電路2.4系統(tǒng)復(fù)位電路復(fù)位電路我采用上電+按鈕復(fù)位的方式。當(dāng)開關(guān)打開時,RST通過電阻接地,當(dāng)有開關(guān)閉合時由于電容的作用使電源VCC通過電阻施加在單片機(jī)復(fù)位端RST上,實(shí)現(xiàn)單片機(jī)復(fù)位

6、。只是可惜,在進(jìn)行仿真器調(diào)試過程中,該復(fù)位電路是不起作用的。具體電路如圖2-4-1所示。圖2-4-1系統(tǒng)復(fù)位電路2.5數(shù)碼管顯示電路數(shù)碼管工作原理這里我們介紹8段數(shù)碼管的工作原理。8段數(shù)碼管又稱為8字型數(shù)碼管,分為8段:A、B、C、D、E、F、G、DP。其中,DP為小數(shù)點(diǎn)。數(shù)碼管常用的有10根管腳,每一段有一根管腳,另外兩根管腳為一個數(shù)碼管的公共段,兩根之間相互連通。發(fā)光二極管的發(fā)光原理,我們已經(jīng)介紹過了,同理,8段LED數(shù)碼管,則是在一定形狀的絕緣材料上,利用不同形狀點(diǎn)劃的發(fā)光二極管組合,排列成“8”字型的數(shù)碼管,分別引出它們的電極,點(diǎn)亮相應(yīng)的點(diǎn)劃來顯示0-9的數(shù)字。從電路上,按數(shù)碼管的接法

7、不同又分為共陰和共陽兩種。圖2-5-1是共陰和共陽極數(shù)碼管的內(nèi)部電路,它們的發(fā)光原理是一樣的,只是它們的電源極性不同而已。圖2-5-1數(shù)碼管的內(nèi)部電路接法在設(shè)計(jì)時,為了系統(tǒng)圖的美觀,我采用了6個數(shù)碼管組成的數(shù)碼管組,采用共陰極接法。如圖2-5-2。圖2-5-2系統(tǒng)數(shù)碼管電路2.6路燈指示電路在設(shè)計(jì)路燈時,采用了發(fā)光二極管代替路燈。先介紹一下二極管,見圖2-6-1。二極管工作原理是單向?qū)?,即只有正極電壓高于負(fù)極電壓某特定值時才會導(dǎo)通,而負(fù)極電壓高于正極電壓是不導(dǎo)通的。圖2-6-1發(fā)光二極管示意圖發(fā)光二極管是一種特殊的二極管,導(dǎo)通時會發(fā)光(發(fā)光二極管導(dǎo)通壓降一般為1.7V1.9V)。此外,工作電

8、流要滿足該二極管的工作電流。發(fā)光二極管的正負(fù)極可以用萬用表進(jìn)行判斷,把萬用表撥至二極管檔或電阻擋,用兩個表筆分別接觸二極管的兩個引出腳。若發(fā)光二極管被點(diǎn)亮,則與紅表筆相接的引出腳為正極。從外觀上看,發(fā)光二極管的正極引腳的長度也比較長。一般發(fā)光二極管與I/O端口之間都會再連接一個電阻,其作用在于限制通過二極管的電流,從而達(dá)到減少功耗或者滿足端口對最大電流的限制。一般發(fā)光二極管的點(diǎn)亮電流為5mA至10mA。路燈設(shè)計(jì)時我采用了紅、黃、綠三種發(fā)光二級管。如圖2-6-2所示。圖2-6-2路燈設(shè)計(jì)電路2.7按鍵電路設(shè)計(jì)按鍵工作方式可以是中斷方式也可以是掃描方式,對掃描方式來說,掃描是一直調(diào)用按鍵掃描程序,

9、也可以用定時調(diào)用按鍵掃描程序,不管哪一種,都需要占用系統(tǒng)寶貴的時間資源,相比較而言中斷就有優(yōu)勢,中斷鍵盤只有在有按鍵按下時才去執(zhí)行鍵盤程序,在沒有按鍵按下的情況下,可以處理其他的事務(wù),使資源得到充分的利用,故中斷鍵盤有占用資源少,響應(yīng)速度快的優(yōu)點(diǎn),但在有按鍵按下時有數(shù)碼管閃爍的缺點(diǎn),這是因?yàn)樘幚碇袛鄷r,數(shù)碼管停止了掃描,對顯示要求不高的場合下,這也是完全可以滿足要求的。但實(shí)際應(yīng)用中,為了保證安全查詢鍵值和響應(yīng),通常還要進(jìn)行按鍵去抖和等待鍵釋放(查詢按鍵是否抬起)的動作,由于按鍵本身是機(jī)械開關(guān),所以在觸點(diǎn)閉合或斷開的瞬間會出現(xiàn)電壓抖動的現(xiàn)象。按鍵設(shè)計(jì)如圖2-7-1所示。圖2-7-1 按鍵電路第3

10、章 軟件系統(tǒng)設(shè)計(jì)3.1設(shè)計(jì)思路及關(guān)鍵技術(shù)一個完整的交通燈相當(dāng)于一個簡單的單片機(jī)系統(tǒng),該系統(tǒng)有交通燈設(shè)置電路、單片機(jī)、顯示電路等構(gòu)成。單片機(jī)是集成的IC芯片,只需根據(jù)實(shí)際設(shè)計(jì)要求選型。其他部分都需要根據(jù)應(yīng)用要求和性能指標(biāo)自行設(shè)計(jì)。首先了解實(shí)際交通燈的變化規(guī)律。假設(shè)一個十字路口為東西南北走向。初始狀態(tài)0為東西紅燈,南北紅燈。然后轉(zhuǎn)狀態(tài)1南北綠燈通車,東西紅燈。過一段時間轉(zhuǎn)狀態(tài)2,南北綠燈閃幾次轉(zhuǎn)亮黃燈,延時幾秒,東西仍然紅燈。再轉(zhuǎn)狀態(tài)3,東西綠燈通車,南北紅燈。過一段時間轉(zhuǎn)狀態(tài)4,東西綠燈閃幾次轉(zhuǎn)亮黃燈,延時幾秒,南北仍然紅燈。最后循環(huán)至狀態(tài)1。3.2 軟件流程系統(tǒng)總體流程圖如圖3-2-1所示:d

11、isplay();default:break;南北應(yīng)急燈亮東西應(yīng)急燈亮緊急燈亮switch(statebef)清標(biāo)志位黃燈亮?xí)r間南北綠燈時間黃燈亮?xí)r間南北紅燈時間switch(state)state_flagwhile(1)初始化定時器0,外部中斷1nom=0re_emstate()md_flag=0圖3-2-1整體軟件設(shè)計(jì)流程圖3.3 延時函數(shù)延時函數(shù)的流程圖如圖3-4-1。延時程序如下:/*-延時函數(shù)-*/void delay(void) uchar i,j; for(i=100;i>0;i-) for(j=100;j>0;j-); /循環(huán)10000次 3.4 讀狀態(tài)函數(shù)讀狀態(tài)

12、函數(shù)的流程圖如圖3-5-1。 讀狀態(tài)函數(shù)如下:/*-讀狀態(tài)函數(shù):判斷是否有緊急燈狀況出現(xiàn)圖3-4-1延時函數(shù)的流程圖-*/uchar rd_emstate(void) uchar value; value=P3; value>>=4; value&=0x07; if(value!=statebef)statebef=value;return 1;/判斷是否有緊急燈狀況發(fā)生,/保存按鍵值,置返回標(biāo)志為1 else return 0; 圖3-4-2讀狀態(tài)函數(shù)的流程圖3.5 顯示函數(shù)顯示函數(shù)如下:void display(void) if(md_flag=1)/顯示更改時間狀態(tài)

13、if(1=red) / 南北方向紅燈時間顯示 P2=0xf6; P0=led_tablelight_time00;delay();/分鐘 P2=0xed; P0=led_tablelight_time01/10;delay();/秒的十位 P2=0xdb; P0=led_tablelight_time01%10;delay();/秒的個位 else /正常狀態(tài),顯示時間 P2=0xf6; P0=led_tabletime/100; delay();/分鐘 P2=0xed; P0=led_tabletime/10%10;delay();/ 秒的十位 P2=0xdb; P0=led_tableti

14、me%10; delay();/秒的個位 3.6 定時器0中斷函數(shù)定時器0中斷函數(shù)如下:void Time0int(void) interrupt 1 EA=0; TH0=-10000/256; TL0=-10000%256; time1s-; if(time1s=0)/一秒中到,重新置數(shù) time1s=100;time-;/顯示時間自減if(time=0)/顯示時間減到0時切換顯示時間狀態(tài) state+;/四個狀態(tài)輪流切換 if(state=4) state=0; state_flag=1;/置狀態(tài)切換標(biāo)志位 EA=1; 第4章 Proteus軟件仿真4.1Proteus軟件仿真Proteu

15、s軟件用于系統(tǒng)的仿真,編譯軟件采用keil UV3。程序的仿真用英國的labcenter公司的Protens V7.13。其果如下:加電后的結(jié)果如圖4-3-1。此時時間已經(jīng)走過一秒,南北是紅燈,東西是綠燈。圖4-3-1加電后仿真4.2 南北路燈切換時仿真切換時,轉(zhuǎn)為黃燈亮,時間為一秒鐘。如圖4-2-1。圖4-2-1黃燈亮?xí)r4.3 緊急情況下的仿真此時,全部為紅燈,所用車輛禁行,時間被鎖定,此時允許特殊車輛經(jīng)過。如圖4-3-1。圖4-3-1緊急情況下的路燈顯示4.4東西緊急情況下的仿真此時,南北為紅燈,東西為綠燈,南北車輛禁行,東西可以通過。時間被鎖定,此時允許東西車輛經(jīng)過。如圖4-4-1。圖4

16、-4-1東西緊急情況下的路燈顯示第5章 結(jié)束語通過此次課程設(shè)計(jì)讓我能夠親身參與電子產(chǎn)品的設(shè)計(jì)使我更加深深地體會到:現(xiàn)代的社會是信息的社會,很多與人們生活緊密相關(guān)的產(chǎn)品都是電子產(chǎn)品。要熟練地掌握單片機(jī)的基本知識,這樣才能對試驗(yàn)中出現(xiàn)的問題進(jìn)行分析解決。通過這次對交通燈系統(tǒng)的設(shè)計(jì),我們掌握了設(shè)計(jì)一個實(shí)用裝置電路的基本方法和基本步驟,掌握了實(shí)用裝置工作的基本原理,實(shí)際解決了設(shè)計(jì)中出現(xiàn)的問題,增強(qiáng)了尋找問題,解決問題的能力。此次電子設(shè)計(jì)的成功不僅幫助我們更好地掌握書本知識,尤其重要的是增強(qiáng)了我們的自信,培養(yǎng)了我們獨(dú)立思考的能力!通過這周緊X而充實(shí)的課程設(shè)計(jì),我學(xué)到了很多東西,讓我重新認(rèn)識自己,收益匪淺

17、,并對我以后所要做的畢業(yè)設(shè)計(jì)有了一個初步的了解。做好一個課程設(shè)計(jì)或畢業(yè)設(shè)計(jì)不僅要具備扎實(shí)的書本知識并會善于應(yīng)用,還要學(xué)會查閱資料,對以前學(xué)過的知識不清楚的地方還要進(jìn)行復(fù)習(xí),實(shí)在搞不明白的地方要向老師或同學(xué)請教,這樣才可能做出一個比較不錯的課程設(shè)計(jì)。在這里我要感謝我們的指導(dǎo)老師,非常感謝老師的指導(dǎo)和幫助。希望以后還能參加這樣的課程設(shè)計(jì)。我想我會做的更好的。參考文獻(xiàn)1余發(fā)山. 單片機(jī)原理及應(yīng)用技術(shù). 中國礦業(yè)大學(xué),20022李朝青. 單片機(jī)原理及接口技術(shù)(修訂版).:航空航天大學(xué),19983李廣弟. 單片機(jī)基礎(chǔ). :航空航天大學(xué),19924李泉溪. 單片機(jī)原理與應(yīng)用實(shí)例仿真. :航空航天大學(xué),20

18、095江世明. 基于proteus的單片機(jī)應(yīng)用技術(shù). :電子工業(yè),2009致 謝本次課程設(shè)計(jì)是在X偉春老師的親切關(guān)懷和精心指導(dǎo)下完成的,在此,對他的關(guān)心、指導(dǎo)和教誨表示衷心的感謝!我的設(shè)計(jì)自始至終都是在X老師全面、具體的指導(dǎo)下進(jìn)行的,X老師在論文選題方面的遠(yuǎn)見卓識以及在完成課題和論文期間富有啟發(fā)性的建議是本次課程設(shè)計(jì)得以順利完成的根本保證。他高尚的品德、嚴(yán)謹(jǐn)?shù)膶W(xué)風(fēng)、一絲不茍的治學(xué)態(tài)度和孜孜不倦的工作精神使我終生受益,這將為我今后的學(xué)習(xí)和工作打下堅(jiān)實(shí)的基礎(chǔ)。感謝我的同學(xué)李娣、陳霞等人對我的關(guān)心和幫助。他們的鼓勵是我堅(jiān)持完成本次課程設(shè)計(jì)的動力,他們提出的寶貴建議是我成功完成設(shè)計(jì)的保證。最后,感謝評

19、閱老師評閱本論文并提出寶貴意見!附錄源程序代碼*include<reg51.h>*define uchar unsigned char*define uint unsigned intsbit nom=P37;uchar code led_table10=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;/顯示數(shù)碼表uchar code light_state=0x21,0x12,0x0c,0x12;/交通燈狀態(tài)存儲表uchar code em_state3=0x24,0x21,0x0c;/緊急燈狀態(tài)顯示表uchar light_t

20、ime2=0,4,0,1,0,5,0,1;/顯示時間存儲表uchar statebef,time1s=100,state=0;/存儲緊急燈狀態(tài),定時基數(shù),狀態(tài)基數(shù)uint time;/顯示時間變量bit md_flag,state_flag=1,red;/顯示時間更改狀態(tài),狀態(tài)切換標(biāo)志位,紅綠切換標(biāo)志位/*-延時函數(shù)-*/void delay(void) uchar i,j; for(i=100;i>0;i-) for(j=100;j>0;j-); /*-讀狀態(tài)函數(shù):判斷是否有緊急燈狀況出現(xiàn)-*/uchar rd_emstate(void) uchar value; value=P

21、3; value>>=4; value&=0x07; if(value!=statebef)statebef=value;return 1;/判斷是否有緊急燈狀況發(fā)生,保存按鍵值,置返回標(biāo)志為1 else return 0; /*-顯示函數(shù)-*/void display(void) if(md_flag=1)/顯示更改時間狀態(tài) if(1=red) / 南北方向紅燈時間顯示 P2=0xf6; P0=led_tablelight_time00;delay();/分鐘 P2=0xed; P0=led_tablelight_time01/10;delay();/秒的十位 P2=0x

22、db; P0=led_tablelight_time01%10;delay();/秒的個位 else /南北綠燈東西紅燈亮?xí)r間顯示 P2=0xf6;P0=led_tablelight_time20; delay();/分鐘 P2=0xed;P0=led_tablelight_time21/10; delay();/秒的十位 P2=0xdb;P0=led_tablelight_time21%10; delay();/秒的個位 else /正常狀態(tài),顯示時間 P2=0xf6; P0=led_tabletime/100; delay();/分鐘 P2=0xed; P0=led_tabletime/1

23、0%10;delay();/ 秒的十位 P2=0xdb; P0=led_tabletime%10; delay();/秒的個位 /*-主函數(shù)-*/void main()/初始化定時器0,外部中斷1 EA=1; EX1=1; IT1=1; ET0=1; TMOD=0x01; TH0=-10000/256; TL0=-10000%256; TR0=1; while(1) if(rd_emstate()/如果有緊急燈按下,進(jìn)行如下緊急處理 switch(statebef) case 0x04:P1=em_state0;TR0=0;break;/緊急燈亮 case 0x02:P1=em_state1;

24、TR0=0;break;/東西應(yīng)急燈亮 case 0x01:P1=em_state2;TR0=0;break;/南北應(yīng)急燈亮case 0x00:TR0=1;break;default: break; if(state_flag)/正常狀態(tài)下時間切換,如果狀態(tài)標(biāo)志為1,進(jìn)行如下處理,進(jìn)行狀態(tài)間切換 switch(state) case 0:time=light_time00*60+light_time01; P1=light_state0;break;/南北紅燈亮?xí)r間 case 1:time=light_time10*60+light_time11; P1=light_state1;break;/黃燈亮?xí)r間 case 2:time=light_time20*60+light_time21; P1=light_state2;break;/南北綠燈亮?xí)r間 case 3:time=light_time10*60+light_time11; P1=light_state1;break;/

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論