基于51單片機的交通燈控制系統設計_第1頁
基于51單片機的交通燈控制系統設計_第2頁
基于51單片機的交通燈控制系統設計_第3頁
基于51單片機的交通燈控制系統設計_第4頁
基于51單片機的交通燈控制系統設計_第5頁
已閱讀5頁,還剩10頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、目錄一引言2二概要設計22.1 設計思路22.2總體設計框圖2三 硬件設計33.1LED循環電路設計33.1.1 89cs51單片機概述33.1.2 LED循環說明53.2 倒計時顯示電路53.2.1 74LS164芯片53.2.2 共陰極數碼顯示管63.2.3 倒計時電路63.2.4 急通車電路7四 軟件按設計74.1 程序流程圖:74.2 LED紅綠燈顯示84.3倒計時顯示94.4 急通車控制94.5程序代碼9五 總結9參考文獻9附錄一:9附錄二:10基于51單片機的交通燈控制系統設計摘要:在日常生活中,交通信號燈的使用,市交通得以有效管理,對于疏導交通流量、提高道路通行能力,減少交通事故

2、有明顯效果。交通燈控制系統由80C51單片機、鍵盤、LED顯示、交通燈延時組成。系統除具有基本交通燈功能外,還具有時間設置、LED信息顯示功能,市交通實現有效控制。關鍵詞:交通燈,單片機,自動控制一引言 當今,紅綠燈安裝在個個道口上,已經成為疏導交通車輛最常見和最有效的手段。但這個技術在19世紀就已經出現了。 1858年,在英國倫敦主要街頭安裝了以燃煤氣為光源的紅、藍兩色的機械般手勢信號燈,用以指揮馬車通行。這是世界上最早的交通信號燈。1868年,英國機械工程師納伊特在倫敦威斯敏斯特區的會議大廈前的廣場上,安裝了世界上最早的煤氣紅綠燈。它由紅綠兩以旋轉方式玻璃提燈組成,紅色表示“停止”,綠色表

3、示“注意”。1869年1月2日,煤氣燈爆炸,是警察受傷,遂被取消! 電氣啟動的紅綠燈出現在美國,這種紅綠燈由紅黃綠三色圓形的投光器組成,1914年始裝于紐約市5號大街的一座高塔上。紅燈亮表示“停止”,綠燈亮表示“通行”。 信號燈的出現,使得交通得以有效的管理,對于疏導交通流量、提高道路通行能力、減少交通事故有明顯效果。1968年,聯合國道路交通和道路標志信號協定對各種信號燈的含義作了規定。綠燈時通行信號燈,面對綠燈的車輛可以直行,左轉彎和右轉彎,除非兩一種標志禁止某一種轉向。左右轉彎車輛必需讓合法的正在路口內行駛的車輛和過人行橫線的行人優先通行。紅燈是禁行信號燈,面對紅燈的車輛必需在交叉路口的

4、停車線后停車。黃燈是警告信號,面對黃燈的車輛不能越過停車線,但車輛已經十分接近停車線而不能安全停車的可以進入交叉路口!二概要設計2.1 設計思路 利用單片機實現交通燈的控制,該任務分以下幾個方面: a 實現紅、綠、黃燈的循環控制。要實現此功能需要表示三種不同顏色的LED燈分別接在P1個管腳,用軟件實現。 b 用數碼管顯示倒計時。可以利用動態顯示或靜態顯示,串行并出或者并行并出實現。 C 實現急通車。這需要人工實現,編程時利用到中斷才能帶到目的,只要有按鈕按下,那么四個方向全部顯示紅燈,禁止以誒車輛通行。當情況解除,讓時間回到只能隔斷處繼續進行。2.2總體設計框圖 見圖一:交通燈循環最小系統倒計

5、時顯示強通車控制圖一三 硬件設計3.1LED循環電路設計 89cs51單片機概述 MCS-51單片機內部結構: 89CS51是MCS-51系列單片機的典型產品,我們以這一代表性的機型進行系統的講解。 89CS51單片機包含中央處理器、程序存儲器(ROM)、數據存儲器(RAM)、定時/計數器、并行接口、串行接口和中斷系統等極大單元及數據總線、地址總線和控制總線等三大總線,現在分別加以說明。 *中央處理器: 中央處理器(CPU)是整個單片機的核心部件,是8位數據寬度的處理器,能處理8位二進制數據或代碼,CPU負責控制、指揮和調度整個單元系統的工作,完成運算和控制輸入輸出等操控。 *數據存儲器(RA

6、M): 89CS51內部有128個8位用戶數及存儲單元和128個寄存器單元,他們是統一編址的,專營寄存器只能用于存放控制指令數據,用戶只能訪問,而不能用于存放用戶數據,所以,用戶能使用的RAM只有128個,可存放讀寫的數據,運算的中間結果或用戶自定義的字型表。 *程序存儲器(ROM): 89CS51共有4096個8位掩膜ROM,用于存放用戶程序,原始數據或表格。 *定時/計數器(ROM): 89CS51有兩個16位的可編程定時/計數器,一時想定時或計數產生中斷用于控制程序轉向。 *并行輸入輸出(I/O)口: 89CS51共有4組8位I/O口(P0、P1、P2或P3),用于對外數據傳輸。 *全雙

7、工串行號: 89CS51內置一個全雙行串行通信口,用于與其它設備間的串行數據傳輸,該串行口既可以用作異步通信收發器,也可以當同步移位器使用。 *中斷系統: 89CS51具備較完善的中斷功能,有兩個外中斷、兩個定時/計數器中斷和一個串行中斷,客滿著不同的控制要求,并具有2級優先級別選擇。 *時鐘電路: 89CS51內置最高頻率高達12Hz的時鐘電路,用于產生整個單片機運行的脈沖時序,但89CS51單片繼續外置震蕩電容。 單片機的結構有兩種類型,一種是程序存儲器和數據存儲器分開的形式,即哈佛(Harvard)結構,另一種是采用通用計算機廣泛使用的程序存儲器與數據存儲器合二為一的結構,即普林斯頓(P

8、rinceton)結構。 MCS-51系統的引腳說明: MCS-51系列單片機中的8031、8051及8751均采用40Pin封裝的雙列直接DIP結構,圖二是它們的引腳配置,40個引腳中,正電源和底線兩根,外置石英振蕩器的時鐘線兩根,4組8位共32個I/O口,中斷口線與P3口線復用P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7RSTRXD/P3.0TXD/P3.1INT0/P3.2INT1/P3.3T0/P3.4Y1/P3.5WR/P3.6RD/P3.7XTAL2XTAL1GNDPDIPVCCP0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0

9、.5/AD5P0.6/AD6P0.7/AD7EA/VPPALE/PROGPESNP2.7/A15P2.6/A14P2.5/A13P2.4/A12P2.3/A11P2.2/A10P2.1/A9P2.0/A840393837363534333231302928272625242322211234567891011121314151617181920 圖二 8951的撫慰方式可以自動復位,也可以是手動復位,見下圖。除此之外,RESET/Vpd還是一復用腳,Vcc掉電其間,此腳可以接上沒用電源,以保證單片機內部RAM的數據不丟失。 在編程時,EA/Vpp腳還需加上21V的編程電壓。 LED循環說明 東

10、西、南北兩干道交于一個十字路口,各干道有一組紅、綠、黃三色的指示燈,指揮車輛和行人的安丘按通行。紅燈禁止通行,綠燈亮允許通行。黃燈亮提示人們注意紅、綠燈的狀態即將切換,且黃燈燃亮時間為東西,南北兩干道的公共停車時間。25s3s2s25s3s2s東西通道紅燈亮紅燈亮紅燈亮綠燈亮綠燈閃黃燈亮南北通道綠燈亮綠燈閃黃燈亮紅燈亮紅燈亮紅燈亮 上表說明東西路口哈珀能夠燈亮,南北路口綠燈亮,同時開始25s倒計時。25s倒計時結束后開始5s倒計時,南北鋁扣綠燈閃爍,計時至最后2s時,南北路口黃燈亮。完成一次這樣的循環要30s。30s結束,南北路口紅燈亮,東西路口綠燈亮,并重新30s倒計時,依次循環。電路圖如圖

11、三所示。 圖三3.2 倒計時顯示電路 74LS164芯片 74LS164用于擴展并行輸出口。用89CS51串行口外接164串入-并出移位寄存器擴展8位并行口。8位并行口的每位分別接到數碼顯示管的不同顯示端。74LS164芯片管腳排列如下圖,管腳1、2相連共同接單片機管腳RXD,8管腳接單片機管腳TXD,9管腳接高電平,7管腳接地,14管腳接高電平,其他管腳依次接數碼顯示管管腳。 圖四 共陰極數碼顯示管這里列出了共陰和共陽數碼管的管腳平排列和內部結構。數碼管3、8管腳內部連在一起。如果是共陽極則將其接到高電平。如果是共陰極則將其接地。為了數碼顯示管的安全這里用三個二極管與其串聯來降壓。 圖五 倒

12、計時電路 倒計時顯示電路如圖六。利用兩個74LS164芯片并聯后,其1、2管腳至單片機RXD管腳8管腳至單片機TXD管腳。然后其他管腳依次接至數碼管個管腳。對于數碼管其3、8管腳經過三個串聯的二極管接地。 圖六 急通車電路 為了實現此功能,利用單片機中斷達到目的。利用一個手動按鈕開關接至單片機外部中斷0,同時在軟件設計時將其設為最高優先級。當有按鍵按下,四方全為紅燈,同時將終端位置的PSW、ACC進棧保護。當再按下按鈕,將PSW、ACC出棧,回到原來的位置繼續執行,電路圖如下圖。 圖七四 軟件按設計 4.1 程序流程圖:如圖八所示。 圖八 4.2 LED紅綠燈顯示 如圖三所示,當P1端口輸出高

13、電平,即P1各端口=1時,根據發光二極管的單向導電性可知,這是發光二極管熄滅;當P1個端口輸出低電平,即P1各端口=0時,發光二極管亮。我們可以使用SETB指令使P1各端口輸出高電平,使用CLR指令時P各端口輸出低電平。至于循環需要軟件控制,程序見附錄。 4.3倒計時顯示 此處采用LED靜態顯示方式,當顯示器顯示某個字符時,相應的段恒定的導通或截止,直到顯示另個字符為止。89C51的串行口RXD和TXD為一個全雙工串行通信口,但工作在方式0下可作同步移位寄存器,其數據由RXD端串行輸出或輸入;而同步移位時鐘由TXD端串行輸出,在同步時鐘的作用下,實現由串行到并行的數據通信。在不需要使用串行通信

14、的場合,利用串行口加外圍芯片74LS164就可構成一個或多個并行輸入輸出口,用于串并轉換或顯示器LED驅動。此利用后者。 4.4 急通車控制 將一按鈕接到單片機外部中斷0端口。另一端接地,通過在程序里設置外部中斷0為最高優先級。當檢測到有按鈕按下時,產生中斷,停止剛才的程序,轉向中斷執行。在此過程必須利用PUSH、POP指令保護現場,這樣當情況解除可以回到原來的地方繼續執行。4.5程序代碼見附錄二五 總結 在學習單片機理論課時候就感覺到內容很多,知識點很雜,分繁瑣。在老師的講解下,在通過自己的努力也更進一步了解了單片機的內部構造和工作原理,以及接外部電路的情況。當然光有理論知識那只是“紙上談兵

15、”,還需要實際動手去實踐。真正把所學的用到日常生活中,理論聯系實際,做出實物模型。這次單片機實習,我選的是交通燈設計,通過這次設計我感覺到要想做成功,必須花時間多準備,查閱大量資料,認證分析每一步每一個模塊要實現的功能,然后分步進行,最后正和一個整體。 通過這次實習,我們要對所做的事情有耐性,在編程的時候會有困難,也可能變得不一定成功,所以要經過多次調試,分析,改正,反復去做。 在這次實習中,經歷了多次失敗的洗禮,我明白在以后學習和實踐中,我要努力掌握知識,多動手,多思考,以免在以后的學習工作中犯同樣的錯誤。參考文獻 1 葉挺秀.應用電子學M.杭州:浙江大學出版社,19942 朱承高.電工及電

16、子技術手冊M.北京:高等教育出版社,19903 閻石.數字電子技術基礎(第三版)M.北京:高等教育出版社,19894 周潤景.PEOTEUS在MCS-51&ARM7系統中的應用百例M.北京:電子工業出版社,20065 李朝青.單片機原理及接口技術(第三版)M.北京:北京航空航天大學出版社,2005附錄一:附錄二: 源程序代碼 SECOND1 EQU 30H ;東西路口計時寄存器 SECOND2 EQU 31H ;南北路口計時寄存器 DBUF EQU 40H ;顯示碼緩沖1 TEMP EQU 44H ;顯示碼緩沖2 LED_G1 BIT P1.0 ;東西路口綠燈 LED_Y1 BIT P

17、1.1 ;東西路口黃燈 LED_R1 BIT P1.2 ;東西路口紅燈 LED_G2 BIT P1.5 ;南北路口綠燈 LED_Y2 BIT P1.6 ;南北路口黃燈 LED_R2 BIT P1.7 ;南北路口紅燈 ORG 0000H LJMP START ORG 0003H LJMP INTO0 ORG 0100HSTART:MOV TMOD,#01H 置T0工作方式1 MOV TH0,#3CH MOV TLO,#0B0H CLR TFO SETB TRO 啟動T0 SETB EX0SETB PX0 設置外中斷0高優先級SETB EALOOP: MOV R2,#20 置1s計數初值 MOV

18、R3,#20 紅燈亮20S MOV SECOND1,#25 東西路口計時顯示初值25s MOV SECOND2,#25 南北路口計時顯示初值25s LCALL DISPLAY LCALL STATEL 調用狀態1WAIT1:JNB TF0,WAIT1 查詢50ms到否 CLR TF0 MOV TH0,#3CH 恢復T0定時初值50ms MOV TL0,#0B0H DJNZ R2,WAIT1 判斷1s到否?未到繼續狀態1 MOV R2,#20 置50ms計數初值 DEC SECIND1 東西路口顯示時間減1 DEC SECOND2 南北路口顯示時間減1 LCALL DISPLAY DJNZ R3

19、,WAIT1 狀態1維持20s MOV R2,#5 置50ms計數初值 MOV R3,#3 綠燈閃爍3s MOV R4,#4 閃爍間隔200ms MOV SECOND1,#5 東西路口計時顯示初值5s MOV SECOND2,#5 南北路口計時顯示初值5s LCALL DISPLAYWAIT2:LCALL STATE2 調用狀態2 JNB TF0,WAIT2 查詢50ms到否 CLR TF0 MOV TH0,#3CH 恢復T0定時初值50ms MOV TL0,#0B0H DJNZ R4,WAIT2 判斷200ms到否?未到繼續狀態2 CPLLED_G1 東西綠燈閃爍 MOV R4,#4 閃爍2

20、00ms DJNZ R2,WAIT2 判斷1s到否?未到繼續狀態2 MOV R2,#5 置50ma計數初值 DEC SECOND1 東西路口顯示時間減1 DEC SECOND2 南北路口顯示時間減1 LCALL DISPLAYDJNZ R3,WAIT2 狀態2維持3sMOV R2,#20 置50ms計數初值MOV R3,#2 黃燈閃爍2sMOV SECOND1,#2 東西路口計時顯示初值2sMOV SECOND2,#2 南北路口計時顯示初值2sLCALL DISPLAY WAIT3:LCALL STATE3 調用狀態3 JNB TF0,#3CH 查詢100ms到否 CLR TF0 MOV TH

21、0,#3CH 恢復T0定時初值100ms MOV TL0,#0B0H DJNZ R2,WAIT3 判斷1s到否?未到繼續狀態3 MOV R2,#20 置100ms計數初值 DEC SECOND1 東西路口顯示時間減1 DEC SECOND2 南北路口顯示時間減1 LCALL DISPLAY DJNZ R3,WAIT3 狀態3維持2s MOV R2,#20 置50ms計數初值 MOV R3,#20 紅燈閃爍20s MOV SECOND1,#25 東西路口計時顯示初值25s MOV SECOND2,#25 南北路口計時顯示初值25s LCALL DISPLAYWAIT4:LCALL STATE4

22、調用狀態4 JNB TF0,WAIT4 查詢100ms到否 CLR TF0 MOV TH0,#3CH 恢復T0定時初值100ms MOV TL0,#0B0H DJNZ R2,WAIT4 判斷1s到否?未到繼續狀態4 MOV R2,#20 置100ms計數初值 DEC SECOND1 東西路口顯示時間減1 DEC SECOND2 南北路口顯示時間減1 LCALL DISPLAY DJNZ R3,WAIT4 狀態4維持2s MOV R2,#5 置50ms計數初值 MOV R3,#4 紅燈閃爍20s MOV R3,#3 綠燈閃爍3s MOV SECOND1,#25 東西路口計時顯示初值5s MOV

23、SECOND2,#25 南北路口計時顯示初值25s LCALL DISPLAYWAIT5:LCALL STATE5 調用狀態5 JNB TF0,WAIT5 查詢100ms到否 CLR TF0 MOV TH0,#3CH 恢復T0定時初值100ms MOV TL0,#0B0H DJNZ R4,WAIT5 判斷200ms到否?未到繼續狀態5 CPLLED_G2 南北綠燈閃爍 MOV R4,#4 閃爍200ms DJNZ R2,WAIT5 判斷1s到否?未到繼續狀態5 MOV R2,#5 置100ms計數初值 DEC SECOND1 東西路口顯示時間減1 DEC SECOND2 南北路口顯示時間減1

24、LCALL DISPLAY DJNZ R3,WAIT5 狀態5維持3s MOV R2,#20 置50ms計數初值 MOV R3,#20 紅燈閃爍2s MOV SECOND1,#25 東西路口計時顯示初值5s MOV SECOND2,#25 南北路口計時顯示初值5s LCALL DISPLAYWAIT6:LCALL STATE6 調用狀態4 JNB TF0,WAIT6 查詢100ms到否 CLR TF0 MOV TH0,#3CH 恢復T0定時初值100ms MOV TL0,#0B0H DJNZ R2,WAIT6 判斷1s到否?未到繼續狀態6 MOV R2,#20 置100ms計數初值 DEC S

25、ECOND1 東西路口顯示時間減1 DEC SECOND2 南北路口顯示時間減1 LCALL DISPLAY DJNZ R3,WAIT6 狀態6維持3s LJMP LOOP STATE1: 狀態1 SETB LED_G1 東西路口路燈亮 CLR LED_Y1 CLR LED_R1 CLR LED_G2 CLR LED_Y2 SETB LED_R2 南北路口紅燈亮 RET STATE2: 狀態2 CLR LED_Y1 CLR LED_R1 CLR LED_G2 CLR LED_Y2 SETBLED_R2 南北路口紅燈亮 RET STATE3: 狀態3 CLR LED_G1 CLR LED_R1 CLR LED_G2 CLR LED_Y2 SETB LED_R2 南北路口紅燈亮 SETB LED_Y1 東西路口黃燈亮 RET STATE4: 狀態4 CLR L

溫馨提示

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

評論

0/150

提交評論