基于51的交通燈設計報告(帶左轉(zhuǎn))_第1頁
基于51的交通燈設計報告(帶左轉(zhuǎn))_第2頁
基于51的交通燈設計報告(帶左轉(zhuǎn))_第3頁
基于51的交通燈設計報告(帶左轉(zhuǎn))_第4頁
基于51的交通燈設計報告(帶左轉(zhuǎn))_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、For personal use only in study and research; not for commercial use芆單片機課程設計報告目 51 交通燈的設計學生姓名薀基于 51 單片機的交通燈控制系統(tǒng)設計袀摘要:在日常生活中,交通信號燈的使用,市交通得以有效管理,對于疏導交 通流量、提高道路通行能力,減少交通事故有明顯效果。交通燈控制系統(tǒng)由 89C52單片機、LED顯示、交通燈延時組成。系統(tǒng)除具有基本交通燈功能外,還 具有LEDB息顯示功能,使交通實現(xiàn)有效控制。膅關鍵詞: 交通燈,單片機,自動控制一、二、蒃引言羀 當今,紅綠燈安裝在個個道口上,已經(jīng)成為疏導交通車輛最常見和最

2、有效 的手段。但這個技術在 19 世紀就已經(jīng)出現(xiàn)了。蟻 1858 年,在英國倫敦主要街頭安裝了以燃煤氣為光源的紅、藍兩色的機 械般手勢信號燈, 用以指揮馬車通行。 這是世界上最早的交通信號燈。 1868 年, 英國機械工程師納伊特在倫敦威斯敏斯特區(qū)的會議大廈前的廣場上,安裝了世 界上最早的煤氣紅綠燈。它由紅綠兩以旋轉(zhuǎn)方式玻璃提燈組成,紅色表示“停 止”,綠色表示“注意”。 1869年1月 2日,煤氣燈爆炸,是警察受傷,遂被取 消!膆 電氣啟動的紅綠燈出現(xiàn)在美國, 這種紅綠燈由紅黃綠三色圓形的投光器組 成, 1914年始裝于紐約市 5號大街的一座高塔上。紅燈亮表示“停止” ,綠燈 亮表示“通行”

3、。裊 信號燈的出現(xiàn), 使得交通得以有效的管理, 對于疏導交通流量、 提高道路 通行能力、減少交通事故有明顯效果。 1968 年,聯(lián)合國道路交通和道路標志 信號協(xié)定對各種信號燈的含義作了規(guī)定。綠燈時通行信號燈,面對綠燈的車 輛可以直行,左轉(zhuǎn)彎和右轉(zhuǎn)彎,除非兩一種標志禁止某一種轉(zhuǎn)向。左右轉(zhuǎn)彎車 輛必需讓合法的正在路口內(nèi)行駛的車輛和過人行橫線的行人優(yōu)先通行。紅燈是 禁行信號燈,面對紅燈的車輛必需在交叉路口的停車線后停車。黃燈是警告信 號,面對黃燈的車輛不能越過停車線,但車輛已經(jīng)十分接近停車線而不能安全 停車的可以進入交叉路口!蚃二、概要設計肇 2.1 設計思路芇 利用單片機實現(xiàn)交通燈的控制,該任務分

4、以下幾個方面:羄 a 實現(xiàn)紅、綠、黃燈的循環(huán)控制,并且交通燈系統(tǒng)帶有左轉(zhuǎn)信號燈。要實現(xiàn)此功能需要表示三種不同顏色的共 16個LED燈,每兩個一組分別接在51單 片機的不同管腳,用軟件實現(xiàn)控制。膂 b 用數(shù)碼管顯示倒計時。采用 2 個兩位共陽極數(shù)碼管,利用動態(tài)顯示,通 過單片機 IO 口控制位選,段選動態(tài)顯示時間情況。薂袇 C 實現(xiàn)急通車。這需要人工實現(xiàn),編程時利用到中斷才能帶到目的,只要 有按鈕按下,那么四個方向全部顯示紅燈,禁止以誒車輛通行。當情況解除, 讓時間回到只能隔斷處繼續(xù)進行。肅 2.2 設計的主要內(nèi)容和要求肂交通燈處在十字路口上。它有紅、黃、綠三種顏色的燈組成。 紅燈亮時道路 上的

5、車輛停止運行;黃燈是一種過渡用的信號燈,當它亮時,表示道路上的紅 綠色信號燈即將進行轉(zhuǎn)換。下面拿東西南北四個方向來說明。當東西方向允許 行車(或者左轉(zhuǎn))的時候,南北方向就禁止行車,即此時東西方向的綠燈亮紅 燈滅,而南北方向的綠燈滅紅燈亮。反之當南北方向允許行車(或者左轉(zhuǎn))的 時候,東西方向就禁止行車,即此時南北方向的綠燈亮紅燈滅,而東西方向的 綠燈滅紅燈亮。交通燈配置示意圖如圖 1 所示。同時當有特殊的情況發(fā)生時, 能手動控制各個方向的信號燈。設計任務就是將這一電路用單片機來實現(xiàn)具體 的控制。螞蒅西羇東腿南圖1十字路口交通燈配置示意圖肆北0000 日薆肇蕿膃莆綠綠黃紅數(shù)直左燈燈碼膄2.3總體設

6、計框圖節(jié)見圖2:交通燈循環(huán)肅二、硬件設計蚃3.1LED循環(huán)電路設計薀 89C52單片機概述羋MCS-51單片機內(nèi)部結構:膅89C52是MCS-51系列單片機的典型產(chǎn)品,現(xiàn)在以這一代表性的機型進行系統(tǒng)的講解袁89C52單片機包含中央處理器、程序存儲器(ROM、數(shù)據(jù)存儲器(RAM、 定時/計數(shù)器、并行接口、串行接口和中斷系統(tǒng)等極大單元及數(shù)據(jù)總線、地址總線和控制總線等二大總線。羀89C52主要功能特性:罿標準MCS-51內(nèi)核和指令系統(tǒng)膆片內(nèi)8kROM(可擴充64kB外部存儲器)膃 32個雙向I/O 口葿256x8bit 內(nèi)部RAM(可擴充64kB外部存儲器)蝿 3個16位可編程定時/計數(shù)器羃 時鐘頻

7、率 3.5-12/24/33MHZ節(jié)向上或向下疋時計數(shù)器袈改進型快速編程脈沖算法膅 6個中斷源肅 5.0V工作電壓蒀全雙工串行通信口羋布爾處理器羆一幀錯誤偵測薈4層優(yōu)先級中斷結構芄一自動地址識別蒃兼容TTL和CMO邏輯電平膈空閑和掉電節(jié)省模式蒞 PDIP(40)和PLCC(44)封裝形式莃 單片機的結構有兩種類型,一種是程序存儲器和數(shù)據(jù)存儲器分開的形式, 即哈佛(Harvard、結構,另一種是采用通用計算機廣泛使用的程序存儲器與 數(shù)據(jù)存儲器合二為一的結構,即普林斯頓(Princeton、結構。蒂圖3袃MCS-51系統(tǒng)的引腳說明:衿MCS-51系列單片機中的8031、8051及8751均采用40

8、Pin封裝的雙列直接DIP結構,圖3是它們的引腳配置,40個引腳中,正電源和底線兩根,外置石英振蕩器的時鐘線兩根,4組8位共32個I/O 口,中斷口線與P3 口線復用莇 P1.0螅 P1.1節(jié) P1.2蠆 P1.3蒈 P1.4襖 P1.5蟻 P1.6荿 P1.7芅RST芆 RXD/P3.0芄膄1 I11401葿聿-123911蝿肇13381-11膂4芅3711薀節(jié)115361肇螂16351蚈螈1-34膆 PDIP聿VCC羇 P0.0/AD0蚅 P0.1/AD1薁 P0.2/AD2芇 P0.3/AD3莆 P0.4/AD4賺 P0.5/AD5薂 P0.6/AD6薀 P0.7/AD7裊 EA/VPP

9、蒂圖3聿89C51的復位方式可以自動復位,也可以是手動復位,見下圖。除此之外, RESET/Vp(還是一復用腳,Vcc掉電其間,此腳可以接上沒用電源,以保證單片 機內(nèi)部RAM勺數(shù)據(jù)不丟失。莆 在編程時,EA/Vpp腳還需加上21V的編程電壓。芅3.2 LED循環(huán)說明蝕為了便于說明,不妨將東西方向允許直行命名為狀態(tài) 1,東西方向允許左轉(zhuǎn) 命名為狀態(tài)2,東西方向行車到南北方向行車的轉(zhuǎn)換階段命名為狀態(tài) 3,將南北 方向允許直行命名為狀態(tài)4,南北方向允許左轉(zhuǎn)命名為狀態(tài)5,南北方向行車到 東西方向方向行車的轉(zhuǎn)換階段命名為狀態(tài) 6。蒈假定左轉(zhuǎn)綠燈點亮的時間為25s,直行綠燈點亮的時間為20s,黃燈點亮的

10、時間為5s,則對方紅燈的點亮時間為50秒。黃燈每隔500ms亮一次,之后滅 500ms (亮滅一次叫作閃爍一次),一共閃爍5次,持續(xù)5s。各個狀態(tài)之間的變 換情況如下:羃具體顯示周期如下:祎25s薅20s薃5s肂50s袇蚇狀態(tài)1蟻狀態(tài)2蒂狀態(tài)3衿狀態(tài)4蒄狀態(tài)5肅狀態(tài)6此-a-羈東西路口蕿直行蒅綠燈 亮膂左轉(zhuǎn)莁綠燈 亮莀黃燈 亮薇緩行薄紅燈亮禁行螀南北路口肀紅燈亮禁行莄直行蚃綠燈亮腿左轉(zhuǎn)薆綠燈亮蒞黃燈亮芃緩行肁蝿50s罿25s蚅20s螄5s蚆3.3單片機I/O 口控制交通燈電路螄protel電路原理圖:芃LED燈采用共陽極接法,所有的LED燈陽極都接在5V電壓一端,加上限流電 阻,陰極接單片機的

11、10 口,當10 口輸出低電平時LED亮,通過設置不同的輸出來改變LED的亮滅,實現(xiàn)交通燈的控制。艿上圖為 51單片機的最小系統(tǒng),包括 51 的晶振電路和上電復位電路。螈 3.4 倒計時顯示電路肆 Protel 電路原理圖:蚃數(shù)碼管采用共陽極數(shù)碼管,位選端口直接接在 I0 口上,段碼端口通過8個 上拉電阻接在I0 口上,通過I0 口控制數(shù)碼管顯示時間。羀 3.4 緊急情況按鈕電路衿 為了實現(xiàn)此功能,利用單片機中斷達到目的。利用一個手動開關接至單片 機外部中斷 0,同時在軟件設計時將其設為最高優(yōu)先級。當開關閉合,四方全 為紅燈。當開關打開,回到原來的位置繼續(xù)執(zhí)行,電路圖如下圖。芄 3.5 整體電

12、路圖肂 Protel 電路原理圖:螀上圖是利用 protel99se 做出的整體設計原理圖蚆Protel電路原理圖的PCB圖:薇上圖是利用protel99se做出的51交通燈的印制電路板PCB圖。蒁印制電路板 3D 效果圖:蒀上圖是利用Altium Designer 09 打開PCB圖做出的印制電路板3D效果圖。蚈 Proteus 仿真電路圖:羀上圖是利用 proteus7.5 搭建的 51 交通燈仿真電路,截圖狀態(tài)為仿真運行開始 狀態(tài)。膅四 軟件按設計蒅 4.1 程序流程圖:羄 4.2 LED 紅綠燈顯示肈 當 P1 端口輸出高電平,即 P1 各端口 =1 時,根據(jù)發(fā)光二極管的單向?qū)щ娦钥芍?/p>

13、,這是發(fā)光二極管熄滅;當 P1個端口輸出低電平,即P1各端口 =0時, 發(fā)光二極管亮。通過設置 P1 口不同時段輸出電平的不同來控制發(fā)光二極管模擬 交通燈的各種狀態(tài)。衿 4.3 倒計時顯示芆 數(shù)碼管的顯示采用共陽極數(shù)碼管的動態(tài)顯示, 通過 P2 口的 P2.0 至 P2.3 分別控制東西南北方向的數(shù)碼管位選信號, 然后通過 P0 口作為數(shù)碼管的段選信 號,通過位選信號的分時選擇來控制數(shù)碼管的個位,十位分別顯示,又由于這 期間的時間間隔很短,所以我們看起來數(shù)碼管的個位十位是同時亮的。然后利 用定時器倒計時,通過數(shù)碼管顯示出來。螁 4.4 急通車控制蒀 將一按鈕接到單片機外部中斷 0 端口。另一端

14、接地, 通過在程序里設置外 部中斷 0為最高優(yōu)先級。 當檢測到有按鈕按下時, 產(chǎn)生中斷,停止剛才的程序, 轉(zhuǎn)向中斷執(zhí)行。羋 4.5 程序代碼羆 見附錄。袂五 總結蕿 單片機是一門強調(diào)實踐的課程, 在學習單片機理論課時候就感覺到內(nèi)容很 多,知識點很雜,分繁瑣。雖然老師的課上得不錯,但是對于單片機內(nèi)部結構 還不是很理解。不過單片機綜合設計這門課程給了我們一次實踐的機會。通過 這次設計逐漸了解了單片機的內(nèi)部構造和工作原理,以及接外部電路的情況。 通過實際動手去實踐。真正把課堂上所學的用到日常生活中,理論聯(lián)系實際, 做出實物模型。這次單片機實習,我選的是交通燈設計,從代碼的編寫,做仿 真到畫電路原理圖

15、,PCB圖,至V最后的做實物,都是通過查閱資料,自己動手 做。做完之后,感覺真正在這門課上學到了東西。動手能力得到了提高,對單 片機的認識也加深了。螈 這次實習,在編程的時候會有困難,也可能不一定成功,所以要經(jīng)過多 次調(diào)試,分析,改正,反復去做。經(jīng)歷了多次失敗的洗禮,我明白在以后學習 和實踐中,我要努力掌握知識,多動手,多思考,以免在以后的學習工作中犯 同樣的錯誤。蒂附錄:/*襖十字路口交通燈控制 C 程序區(qū)*/B#defi neucharunsigned char膃#defi neuintunsigned int蟻# nclude肀/* 定義控制位*/;薆sbitEW_LED2=P2W; /

16、東西數(shù)碼管個位蒞sbitEW_LED1=P2A2; /東西數(shù)碼管十位芄sbit SN_LED2=P2A1; /南北數(shù)碼管個位蝕sbit SN_LED1=P2A0; /南北數(shù)碼管十位_蒈 sbit SN_Yellow=P1A6; 南北黃燈膆 sbit EW_Yellow=P1A2; 東西黃燈芆 sbit EW_Red=P1A3; 東西紅燈羂 sbit SN_Red=P1A7; 南北紅燈袇/sbitBusy_Btto n=P3A2;袆 bit Flag_SN_Yellow; / 南北黃燈標志位肅bit Flag_EW_Yellow;東西黃燈標志位肁char Time_EW;東西方向倒計時單元薀ch

17、ar Time_SN;南北方向倒計時單元蚆uchar EW=50,SN=25,EWL=20,SNL=20; /程序初始化賦值,正常模式膅uchar EW仁50,S N仁25,EWL1=20,SNL1=20;/用于存放修改值的變量蒃/uchar codetable10=0 x3F,0 x06,0 x5B,0 x4F,0 x66,0 x6D,0 x7D,0 x07,0 x7F,0 x6F;/19段選碼肀 uchar codetable10=0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x82,0 xf8,0 x80,0 x90交通信芀/*顯示子函數(shù)莇/uchar co

18、detable10=0 x03,0 x9f,0 x25,0 x0d,0 x99,0 x49,0 x41,0 x1f,0 x01,0 x09;羂/uchar code S8=0X28,0X48,0X18,0X48,0X82,0X84,0X81,0X84;號燈控制代碼蝿 uchar code S8=0 xd7,0 xb7,0 xe7,0 xb7,0 x7d,0 x7b,0 x7e,0 x7b;蒞 void Delay(uchar a)膁羇uchar i;肆i=a;肅while(i-);節(jié)蒅 void Display(void)裊肀char h,l;莈h=Time_EW/10;羅l=Time_EW%

19、10;薆 P0=tablel;膁EW_LED2=1;蚇/*延時子程序螀Delay(200);蚈EW_LED2=0;肂 P0=tableh;蚄EW_LED1=1;莁Delay(200);蕿EW_LED1=0;芄h=Time_SN/10;蒂l=Time_SN%10;葿P0=tablel;罿SN_LED2=1;羅Delay(200);蒃SN_LED2=0;袂 P0=tableh;莈SN_LED1=1;螅Delay(200);薄SN_LED1=0;羀蒆 void timer0(void)interrupt 1 using 1*T0中斷服務程序莂static uchar count;芇TH0=(6553

20、6-50000)/256;芆TL0=(65536-50000)%256;蚈count+;蚅if(count=10)膅芁/Time_EW-;蝿/Time_SN-;螃if(Flag_SN_Yellow=1) / 南北黃燈標志位薄SN_Yellow=SN_Yellow;羈if(Flag_EW_Yellow=1) / 東西黃燈標志位薆EW_Yellow=EW_Yellow;膆肄if(count=20)螞薈Time_EW-;芄Time_SN-;蒃if(Flag_SN_Yellow=1)/ 南北黃燈標志位Time_SN=Time_EW;/ Time_SN+;SN_Yellow=SN_Yellow;if(F

21、lag_EW_Yellow=1)/ 東西黃燈標志位Time_EW=Time_SN;/Time_EW+;EW_Yellow=EW_Yellow;蒞袁/Time_EW-;肁/Time_SN-;/ Display();count=0;主程序開始 */S0狀態(tài)袀 Flag_EW_Yellow=0; /EW關黃燈顯示信莆 void main(void)袀 IT1=0; /INT1 負跳變觸發(fā)羋 TMOD=0 x01;/ 定時器工作于方式 1螅 TH0=(65536-50000)/256;/ 定時器賦初值莀 TL0=(65536-50000)%256;腿 EA=1; /CPU 開中斷總允許薄 ET0=1;

22、/ 開定時中斷莂 EX1=1;/ 開外部 INTO 中斷肀 TR0=1;/ 啟動定時羆 PX1=1;/ 中斷優(yōu)先級高羇 while(1)羈 Time_EW=EW;肅Time_SN=SN;芁while(Time_SN0)薁P仁S0; SN通行,EW紅燈Display();*S3狀態(tài)EW紅燈賦值S4狀態(tài)關黃燈顯示信S6狀態(tài)羄Flag_SN_Yellow=0; /SN關黃燈顯示信號芁 Time_SN=SNL;袆while(Time_SN0)薆P仁S2;/SN 左拐綠燈亮,EW紅燈Display();P1=0 xff;while(Time_EW0)Flag_SN_Yellow=1;/SN 開黃燈信號位EW_Red=0; /SN黃燈亮 , 等待停止信號,/SN_LED1=EW_LED1;/SN_LED2=EW_LED2;Display();/*EW=EW1;SN=SN1;EWL=EWL1;SNL=SNL1;Flag_SN_Yellow=0; /SNTime_EW=SN;Time_SN=EW;while(Time_EW0)P仁S4;

溫馨提示

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

評論

0/150

提交評論