基于51單片機的智能交通燈系統(tǒng)設(shè)計.doc_第1頁
基于51單片機的智能交通燈系統(tǒng)設(shè)計.doc_第2頁
基于51單片機的智能交通燈系統(tǒng)設(shè)計.doc_第3頁
基于51單片機的智能交通燈系統(tǒng)設(shè)計.doc_第4頁
基于51單片機的智能交通燈系統(tǒng)設(shè)計.doc_第5頁
已閱讀5頁,還剩5頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

十字路口交通燈控制系統(tǒng)的設(shè)計1. 設(shè)計思路近年來,隨著科技的飛速發(fā)展,電子器件也隨之廣泛應(yīng)用,其中單片機也不斷深入人民的生活當(dāng)中。本模擬交通燈系統(tǒng)利用單片機AT89C51作為核心元件,實現(xiàn)了通過信號燈對路面狀況的智能控制。從一定程度上解決了交通路口堵塞、車輛停車等待時間不合理、急車強通等問題。系統(tǒng)具有結(jié)構(gòu)簡單、可靠性高、成本低、實時性好、安裝維護(hù)方便等優(yōu)點,有廣泛的應(yīng)用前景。本模擬系統(tǒng)由單片機硬/軟件系統(tǒng),兩位8段數(shù)碼管和LED燈顯示系統(tǒng)。和復(fù)位電路控制電路等組成,較好的模擬了交通路面的控制。 1.1 電源提供方案采用單片機控制模塊提供電源。1.2 顯示界面方案采用數(shù)碼管顯示。這種方案只顯示有限的符號和數(shù)碼字符,簡單,方便。1.3 輸入方案:直接在I/O口線上接上按鍵開關(guān)。由于該系統(tǒng)對于交通燈及數(shù)碼管的控制,只用單片機本身的I/O 口就可實現(xiàn),且本身的計數(shù)器及RAM已經(jīng)夠用,故選擇該方案。2 單片機交通控制系統(tǒng)總體設(shè)計2.1單片機交通控制系統(tǒng)的通行方案設(shè)計設(shè)在十字路口,分為東西向和南北向,在任一時刻只有一個方向通行,另一方向禁行,持續(xù)一定時間,經(jīng)過短暫的過渡時間,將通行禁行方向?qū)Q。一共可以有四個狀態(tài)。 通過具體的路口交通燈狀態(tài)的分析我們可以把這四個狀態(tài)歸納如下:(1)東西方向紅燈滅,同時綠燈亮,南北方向黃燈滅,同時紅燈亮,倒計時80秒。此狀態(tài)下,東西向禁止通行,南北向允許通行。(2)東西方向綠燈滅,同時黃燈亮,南北方向紅燈亮,倒計時3秒。此狀態(tài)下,除了已經(jīng)正在通行中的其他所以車輛都需等待狀態(tài)轉(zhuǎn)換。(3)南北方向紅燈滅,同時綠燈亮,東西方向黃燈滅,同時紅燈亮,倒計時60秒。此狀態(tài)下,東西向允許通行,南北向禁止通行。(4)南北方向綠燈滅,同時黃燈亮,東西方向紅燈亮,倒計時3秒。此狀態(tài)下,除了已經(jīng)正在通行中的其他所以車輛都需等待狀態(tài)轉(zhuǎn)換。用圖表表示燈狀態(tài)和行止?fàn)顟B(tài)的關(guān)系如下:表1交通狀態(tài)及紅綠燈狀態(tài)狀態(tài)1狀態(tài)2狀態(tài)3狀態(tài)4東西向禁行等待變換通行等待變換南北向通行等待變換禁行等待變換東西紅燈1100東西黃燈0001東西綠燈0010南北紅燈0011南北綠燈1000南北黃燈0100東西南北四個路口均有紅綠黃3燈和數(shù)碼顯示管2個,在任一個路口,遇紅燈禁止通行,轉(zhuǎn)綠燈允許通行,之后黃燈亮警告行止?fàn)顟B(tài)將變換。0表示滅,1表示亮。2.2 單片機交通控制系統(tǒng)的功能要求本設(shè)計能模擬基本的交通控制系統(tǒng),用紅綠黃燈表示禁行,通行和等待的信號發(fā)生,還能進(jìn)行倒計時顯示等功能。(1)倒計時顯示倒計時顯示可以提醒駕駛員在信號燈燈色發(fā)生改變的時間、在“停止”和“通過”兩者間作出合適的選擇。(2)時間的設(shè)置本設(shè)計中可通過鍵盤對時間進(jìn)行手動設(shè)置,增加了人為的可控性,避免自動故障和意外發(fā)生,并再緊急狀態(tài)下,可設(shè)置所有燈變?yōu)榧t燈。鍵盤是單片機系統(tǒng)中最常用的人機接口,一般情況下有獨立式和行列式兩種。前者軟件編寫簡單,但在按鍵數(shù)量較多時特別浪費I0口資源,一般用于按鍵數(shù)量少的系統(tǒng)。后者適用于按鍵數(shù)量較多的場合,但是在單片機I0 口資源相對較少而需要較多按鍵時,此方法仍不能滿足設(shè)計要求。本系統(tǒng)要求的按鍵控制不多,且I0口足夠,可直接采用獨立式。2.3單片機交通控制系統(tǒng)的基本構(gòu)成及原理單片機設(shè)計交通燈控制系統(tǒng),可用單片機直接控制信號燈的狀態(tài)變化,基本上可以指揮交通的具體通行。接入LED數(shù)碼管就可以顯示倒計時以提醒行使者,更具人性化。據(jù)此,本設(shè)計系統(tǒng)以單片機為控制核心,連接成最小系統(tǒng),由按鍵設(shè)置模塊產(chǎn)生輸入,信號燈狀態(tài)模塊,LED倒計時模塊模塊接受輸出。單片機上電后,系統(tǒng)進(jìn)入正常工作狀態(tài),執(zhí)行交通燈狀態(tài)顯示控制,同時將時間數(shù)據(jù)倒計時輸入到LED數(shù)碼管上實時顯示。4十字路口交通燈控制系統(tǒng)的硬件設(shè)計4.1系統(tǒng)硬件總電路構(gòu)成及原理實現(xiàn)本設(shè)計要求的具體功能,可以選用AT89C51單片機及外圍器件構(gòu)成最小控制系統(tǒng),12個發(fā)光二極管分成4組紅綠黃三色燈構(gòu)成信號燈指示模塊,8個LED東西南北各兩個構(gòu)成倒計時顯示模塊,若干按鍵組成時間設(shè)置。4.1.1系統(tǒng)硬件電路構(gòu)成本系統(tǒng)以單片機為核心,系統(tǒng)硬件電路由狀態(tài)燈,LED顯示,按鍵,組成。其具體的硬件電路總圖如圖3.1所示。其中P0用于送顯兩片LED數(shù)碼管,P1用于控制紅綠黃發(fā)光二極管,XTAL1和XTAL2接入晶振時鐘電路,REST引腳接上復(fù)位電路,P2.6與P2.7對數(shù)碼管進(jìn)行片選,P3.2即INT0緊急情況處理按鍵,P3.3即INT1接時間調(diào)整中斷按鍵。4.1.2系統(tǒng)工作原理系統(tǒng)上電或手動復(fù)位之后,系統(tǒng)先顯示狀態(tài)燈及LED數(shù)碼管,將狀態(tài)碼值送顯P1口,將要顯示的時間值的個位和十位分別送顯P0口,在此同時用軟件方法計時1秒,到達(dá)1s就要將時間值減1,刷新LED數(shù)碼管。時間到達(dá)一個狀態(tài)所要全部時間,則要進(jìn)行下一狀態(tài)判斷及銜接,并裝入次狀態(tài)的相應(yīng)狀態(tài)碼值以及時間值,當(dāng)然,還要開啟兩個外部中斷,其一為緊急情況處理中斷,一旦信號有效,即K3鍵為低電平時進(jìn)入中斷服務(wù)子程序,東西南北路口的紅燈全亮禁止全部通行,再按一下鍵,中斷結(jié)束返回。其二為通行時間調(diào)整中斷,若K4按鍵有效,進(jìn)入相應(yīng)的中斷子程序,對時間進(jìn)行調(diào)整,此后再按K4鍵則中斷結(jié)束返回。圖5 基于單片機的交通燈控制系統(tǒng)電路圖5 系統(tǒng)軟件程序的設(shè)計5.1 程序主體設(shè)計流程全部控制程序?qū)嶋H上分為若干模塊:鍵盤設(shè)置處理程序,狀態(tài)燈控制程序,LED顯示程序緊停程序,中斷服務(wù)子程序,紅綠燈時間調(diào)整程序等。整個軟件程序方面主要分兩大部分:主程序部分和中斷處理程序。設(shè)計說明:該智能交通燈控制系統(tǒng)的軟件設(shè)計采用的是順序執(zhí)行并反復(fù)循環(huán)的方法。智能交通燈控制系統(tǒng)在正常工作的情況下,按循環(huán)周期變化(東西向綠燈持續(xù)80s,南北向綠燈持續(xù)60s.)。每個循環(huán)周期在還剩3s時,正在通行路口的黃燈同時點亮并開始閃爍,以提醒路人上的行人及車輛,交通燈即將發(fā)生變化。5.3子程序模塊設(shè)計5.3.1狀態(tài)燈顯示及判斷在本設(shè)計中,實際控制的燈只有6個,即:東西紅燈,東西綠燈,東西黃燈,南北紅燈,南北綠燈,南北黃燈。定義IO端口如下,其中均是低電平有效。H_RED BIT P1.0H_YELLOW BIT P1.1H_GREEN BIT P1.2L_RED BIT P1.3L_ YELLOW BIT P1.4L_ GREEN BIT P1.5共有4鐘狀態(tài):東西紅燈亮,南北綠燈亮(0F3H);東西紅燈亮,南北黃燈亮(0F5H);東西綠燈亮,南北紅燈亮(0DEH);東西黃燈亮,南北紅燈亮(0EEH)。括號中是P1端口8個引腳值對應(yīng)的十用RETI指令返回,此時CPU會從堆棧中取保存的斷點地址,送回PC,程序再正常執(zhí)行。六進(jìn)制碼。用于顯示發(fā)光二極管時,部分程序如下: ;東西紅,南北綠,計時時間為20s MOV P1,#0F3H MOV 60H,61HA1: MOV R1,#50A2: ACALL BCD ACALL DISPCLK DJNZ R1,A2 MOV A,60H MOV R0,60H ADD A,#99H DA A MOV 60H,A CJNE R0,#05H,A15.3.2 LED倒計時顯示LED計時每1秒都要刷新1次,采用的是動態(tài)顯示,首先將R4除以10H,整數(shù)即十位放在50H中,余數(shù)即個位放在51H中,設(shè)置7段LED顯示數(shù)據(jù)的數(shù)據(jù)表,用數(shù)據(jù)指針寄存器DPTR指向數(shù)據(jù)表的首地址,再加上A中的偏移量,就可以指向十位數(shù)字,然后送顯即可,個位顯示同理。具體程序如下:BCD: ;將十位數(shù)送到(51),個位數(shù)送到() MOV A,60H;60H單元放的是倒計時值MOV B,#10HDIV ABMOV 51H,AMOV A,BMOV 50H,ARETDISPCLK: ;顯示部分 MOV DPTR,#TABMOVA,50HMOVCA,A+DPTR MOVP0,A CLRP2.6 LCALLDELAY SETBP2.6 MOVA,51H MOVCA,A+DPTR MOVP0,A CLRP2.7 LCALLDELAY SETBP2.7 RET 附錄二:系統(tǒng)程序清單 ORG 0000H LJMP START ORG 0003H LJMP IINT0 ORG 0013H LJMP IINT1 ORG 0030HSTART: MOV SP,#6FH ;系統(tǒng)初始化 MOV 61H,#20H MOV 60H,61HLIGHT: SETB EA SETB EX0 SETB EX1 CLR IT1 CLR IT0 MOV P1,#0F3H ;東西紅,南北綠,計時時間為15s MOV 60H,61HA1: MOV R1,#50A2: ACALL BCD ACALL DISPCLK DJNZ R1,A2 MOV A,60H MOV R0,60H ADD A,#99H DA A MOV 60H,A CJNE R0,#05H,A1 MOV P1,#0F5H ; 東西紅,南北黃燈閃爍5s MOV R2,#5 A3: MOV R1,#50 A4: ACALL BCD ACALL DISPCLK DJNZ R1,A4 CPL P1.1 MOV A,60H ADD A,#99H DA A MOV 60H,A DJNZ R2,A3 MOV P1,#0DEH ;東西綠,南北紅,計時時間20s MOV 60H,61HA5: MOV R1,#50A6: ACALL BCD ACALL DISPCLK DJNZ R1,A6 MOV R0,60H MOV A,60H ADD A,#99H DA A MOV 60H,A CJNE R0,#05H,A5 MOV P1,#0EEH ;南北紅,東西黃燈閃爍5s MOV R2,#5A7: MOV R1,#50 A8: ACALL BCD ACALL DISPCLK DJNZ R1,A8 CPL P1.4 MOV A,60H ADD A,#99H DA A MOV 60H,A DJNZ R2,A7 LJMP LIGHT ;連續(xù)運行返回部分DISPCLK: ;顯示部分 MOV DPTR,#TABMOVA,50HMOVCA,A+DPTR MOVP0,A CLRP2.6 LCALLDELAY SETBP2.6 MOVA,51H MOVCA,A+DPTR MOVP0,A CLRP2.7 LCALLDELAY SETBP2.7 RET BCD: ;將十位數(shù)送到(51),個位數(shù)送到() MOV A,60HMOV B,#10HDIV ABMOV 51H,AMOV A,BMOV 50H,ARETIINT0: ;緊急情況處理 CLR EA JB P3.2,$ PUSH 60H PUSH P1 PUSH P2B0: JNB P3.0,NH JNB P3.1,DHA9: MOV P1,#0F6H ;全紅 SETB P2.6 SETB P2.7 ACALL DELAY JNB P3.2,B0 JMP JENH: MOV P1,#0DEH ;只允許東西方向車輛通行 SETB P2.6 SETB P2.7 ACALL DELAY JNB P3.2,B0 JMP JEDH: MOV P1,#0F3H ;只允許南北方向車輛通行 SETB P2.6 SETB P2.7 ACALL DELAY JNB P3.2,B0 JMP JEJE: POP P2 POP P1 POP 60H SETB EA RETI IINT1: ;通行時間加減程序 CLR EA JB P3.3,$ PUSH P1 PUSH P2B1: JNB P3.1,DDECIINC: JNB P3.0,SINC ;加1程序 ZINC: ;自動加1 MOV R0,#15 A10: ACALL BCD ACALL DISPCLK DJNZ R0,A10 MOV A,60H ADD A,#01H DA A MOV 60H,A JNB P3.3,B1 JMP JS SINC: ;手動加1 MOV R3,#20 A11: ACALL BCD ACALL DISPCLK DJNZ R3,A11 MOV A,60H ADD A,#01H DA A MOV 60H,AB2: JB P3.3,JS JNB P3.4,SINC JMP B2DDEC: ;減1程序 JNB P3.0,SDEC ZDEC: MOV R4,#15 A12: ACALL BCD ACALL DISPCLK DJNZ R4,A12 MOV A,60H ADD A,#99H DA A MOV 60H,A JB P3.3,JS JMP B1 SDEC: ;手動減1程序 MOV R5,#20 A13: ACALL BCD ACALL DISPCLK DJNZ R5,A13 MOV A,60H ADD A,#99H DA A MOV 60H,A B3: JB P3.3

溫馨提示

  • 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

提交評論