基于51單片機(jī)的交通燈控制系統(tǒng)設(shè)計說明_第1頁
基于51單片機(jī)的交通燈控制系統(tǒng)設(shè)計說明_第2頁
基于51單片機(jī)的交通燈控制系統(tǒng)設(shè)計說明_第3頁
基于51單片機(jī)的交通燈控制系統(tǒng)設(shè)計說明_第4頁
基于51單片機(jī)的交通燈控制系統(tǒng)設(shè)計說明_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、目錄一引言. 2 二概要設(shè)計. . 2 2.1 設(shè)計思路. . 2 2.2 總體設(shè)計框圖 . 2 三 硬件設(shè)計. . 3 3.1led 循環(huán)電路設(shè)計 . 3 3.1.1 89cs51 單片機(jī)概述 . 3 3.1.2 led 循環(huán)說明. 5 3.2 倒計時顯示電路. . 5 3.2.1 74ls164 芯片. . 5 3.2.2 共陰極數(shù)碼顯示管. . 6 3.2.3 倒計時電路. . 6 3.2.4 急通車電路. . 7 四 軟件按設(shè)計. . 7 4.1 程序流程圖:. . 7 4.2 led 紅綠燈顯示. 8 4.3 倒計時顯示 . 9 4.4 急通車控制. . 9 4.5 程序代碼 . 9

2、 五 總結(jié) . . 9 參考文獻(xiàn) . 9 附錄一: . 9 附錄二:. 10基于 51 單片機(jī)的交通燈控制系統(tǒng)設(shè)計摘要:在日常生活中,交通信號燈的使用,市交通得以有效管理,對于疏導(dǎo)交通流量、提高道路通行能力,減少交通事故有明顯效果。交通燈控制系統(tǒng)由80c51 單片機(jī)、鍵盤、led 顯示、交通燈延時組成。系統(tǒng)除具有基本交通燈功能外,還具有時間設(shè)置、led 信息顯示功能,市交通實現(xiàn)有效控制。關(guān)鍵詞:交通燈,單片機(jī),自動控制一引言當(dāng)今,紅綠燈安裝在個個道口上,已經(jīng)成為疏導(dǎo)交通車輛最常見和最有效的手段。但這 個技術(shù)在 19 世紀(jì)就已經(jīng)出現(xiàn)了。1858 年,在英國倫敦主要街頭安裝了以燃煤氣為光源的紅、藍(lán)

3、兩色的機(jī)械般手勢信號燈,用以指揮馬車通行。這是世界上最早的交通信號燈。1868 年,英國機(jī)械工程師納伊特在倫敦威斯敏斯特區(qū)的會議大廈前的廣場上,安裝了世界上最早的煤氣紅綠燈。它由紅綠兩以旋轉(zhuǎn)方式玻璃提燈組成,紅色表示“停止” ,綠色表示“注意” 。 1869 年 1 月 2 日,煤氣 燈爆炸,是警察受傷,遂被取消!電氣啟動的紅綠燈出現(xiàn)在美國,這種紅綠燈由紅黃綠三色圓形的投光器組成,1914 年始裝于紐約市5 號大街的一座高塔上。紅燈亮表示“停止” ,綠燈亮表示“通行” 。信號燈的出現(xiàn),使得交通得以有效的管理,對于疏導(dǎo)交通流量、提高道路通行能力、減少交通事故有明顯效果。1968 年,聯(lián)合國道路交

4、通和道路標(biāo)志信號協(xié)定對各種信號燈的含義作了規(guī)定。綠燈時通行信號燈,面對綠燈的車輛可以直行,左轉(zhuǎn)彎和右轉(zhuǎn)彎,除非兩一種標(biāo)志禁止某一種轉(zhuǎn)向。左右轉(zhuǎn)彎車輛必需讓合法的正在路口行駛的車輛和過人行橫線的行人優(yōu)先通行。紅燈是禁行信號燈,面對紅燈的車輛必需在交叉路口的停車線后停車。黃燈是警告信號,面對黃燈的車輛不能越過停車線,但車輛已經(jīng)十分接近停車線而不能安全停車的可以進(jìn)入交叉路口!二概要設(shè)計2.1 設(shè)計思路利用單片機(jī)實現(xiàn)交通燈的控制,該任務(wù)分以下幾個方面:a 實現(xiàn)紅、綠、黃燈的循環(huán)控制。要實現(xiàn)此功能需要表示三種不同顏色的led 燈分別接在 p1 個管腳,用軟件實現(xiàn)。b 用數(shù)碼管顯示倒計時。可以利用動態(tài)顯示

5、或靜態(tài)顯示,串行并出或者并行并出實現(xiàn)。c 實現(xiàn)急通車。這需要人工實現(xiàn),編程時利用到中斷才能帶到目的,只要有按鈕按下,那么四個方向全部顯示紅燈,禁止以誒車輛通行。當(dāng)情況解除,讓時間回到只能隔斷處繼續(xù)進(jìn)行。2.2 總體設(shè)計框圖見圖一:強(qiáng)通車控制圖一三硬件設(shè)計3.1led 循環(huán)電路設(shè)計3.1.1 89cs51 單片機(jī)概述mcs-51 單片機(jī)部結(jié)構(gòu):89cs51 是 mcs-51 系列單片機(jī)的典型產(chǎn)品,我們以這一代表性的機(jī)型進(jìn)行系統(tǒng)的講解。89cs51 單片機(jī)包含中央處理器、程序存儲器(rom 、數(shù)據(jù)存儲器( ram 、定時 /計數(shù)器、并行接口、串行接口和中斷系統(tǒng)等極大單元及數(shù)據(jù)總線、地址總線和控制總

6、線等三大總線,現(xiàn)在分別加以說明。*中央處理器:中央處理器( cpu 是整個單片機(jī)的核心部件,是8 位數(shù)據(jù)寬度的處理器,能處理8位二進(jìn)制數(shù)據(jù)或代碼,cpu 負(fù)責(zé)控制、指揮和調(diào)度整個單元系統(tǒng)的工作,完成運算和控制輸入輸出等操控。*數(shù)據(jù)存儲器( ram : 89cs51 部有 128 個 8 位用戶數(shù)及存儲單元和128 個寄存器單元,他們是統(tǒng)一編址的,專營寄存器只能用于存放控制指令數(shù)據(jù),用戶只能訪問,而不能用于存放用戶數(shù)據(jù),所以,用戶能使用的ram 只有 128 個,可存放讀寫的數(shù)據(jù),運算的中間結(jié)果或用戶自定義的字型表。* 程序存儲器( rom :交通燈循環(huán)最小系統(tǒng)倒計時顯示89cs51 共有 40

7、96 個 8 位掩膜 rom 用于存放用戶程序,原始數(shù)據(jù)或表格。定時/計數(shù)器( rom :89cs51 有兩個 16 位的可編程定時 /計數(shù)器,一時想定時或計數(shù)產(chǎn)生中斷用于控制程序轉(zhuǎn)向。*并行輸入輸出( i/o ) 口:89cs51 共有 4 組 8 位i/o口( po、p1、p2 或 p3), 用于對外數(shù)據(jù)傳輸。* 全雙工串行號:89cs51 置一個全雙行串行通信口,用于與其它設(shè)備間的串行數(shù)據(jù)傳輸,該串行口既可以用作異步通信收發(fā)器,也可以當(dāng)同步移位器使用。*中斷系統(tǒng):89cs51 具備較完善的中斷功能,有兩個外中斷、兩個定時/計數(shù)器中斷和一個串行中斷,客滿著不同的控制要求,并具有2 級優(yōu)先級

8、別選擇。* 時鐘電路:89cs51 置最高頻率高達(dá)12hz 的時鐘電路,用于產(chǎn)生整個單片機(jī)運行的脈沖時序,但 89cs51 單片繼續(xù)外置震蕩電容。單片機(jī)的結(jié)構(gòu)有兩種類型,一種是程序存儲器和數(shù)據(jù)存儲器分開的形式,即哈佛(harvard )結(jié)構(gòu),另一種是采用通用計算機(jī)廣泛使用的程序存儲器與數(shù)據(jù)存儲器合二為一的結(jié)構(gòu),即普林斯頓(princeton )結(jié)構(gòu)。mcs-51 系統(tǒng)的引腳說明:mcs-51 系列單片機(jī)中的8031 8051 及 8751 均采用 40pin 封裝的雙列直接dip 結(jié)構(gòu),圖二是它們的引腳配置,40 個引腳中,正電源和底線兩根,外置石英振蕩器的時鐘線兩根,4 組 8 位共32 個

9、 i/o 口,中斷口線與p3 口線復(fù)用p1.01401vccp1.12391p0.0/ad0p1.213381p0.1/ad1p1.3437|p0.2/ad2p1.4 一1536p0.3/ad3p1 56351p0.4/ad4p1.6734|p0.5/ad5p1.71833p0.6/ad6rst932p0.7/ad7rxd/p3.0 1031iea/vpptxd/p3.1 11301ale/progint0/p3.21229-1pesnint1/p3.311328|p2.7/a15t0/p3.414271p2.6/a14y1/p3.51526p2.5/a13wr/p3.6 1625p2.4/a

10、12rd/p3.71724-1p2.3/a11xtal2 118231p2.2/a10xtal11922p2.1/a9gnd2021ip2.0/a8pdip 圖二8951 的撫慰方式可以自動復(fù)位,也可以是手動復(fù)位,見下圖。除此之外,reset/vpd 還是一復(fù)用腳, vcc 掉電其間,此腳可以接上沒用電源,以保證單片機(jī)部ram 的數(shù)據(jù)不丟失。在編程時, ea/vpp 腳還需加上 21v 的編程電壓。3.1.2 led 循環(huán)說明東西、南北兩干道交于一個十字路口,各干道有一組紅、綠、黃三色的指示燈,指揮車輛和行人的安丘按通行。紅燈禁止通行,綠燈亮允許通行。黃燈亮提示人們注意紅、綠燈的狀態(tài)即將切換,

11、且黃燈燃亮?xí)r間為東西,南北兩干道的公共停車時間。25s3s2s25s3s2s東西通道 :紅燈亮紅燈亮紅燈亮綠燈亮綠燈閃黃燈亮南北通道綠燈亮綠燈閃黃燈亮紅燈亮紅燈亮紅燈亮上表說明東西路口哈珀能夠燈亮,南北路口綠燈亮,同時開始25s 倒計時。 25s 倒計時結(jié)束后開始 5s 倒計時,南北鋁扣綠燈閃爍,計時至最后2s 時,南北路口黃燈亮。完成一次這樣的循環(huán)要30s。30s 結(jié)束,南北路口紅燈亮,東西路口綠燈亮,并重新30s 倒計時,依 次循環(huán)。電路圖如圖三所示。圖三3.2 倒計時顯示電路3.2.1 74ls164 芯片74ls164 用于擴(kuò)展并行輸出口。用89cs51 串行口外接 164 串入-并出

12、移位寄存器擴(kuò)展8位并行口。 8 位并行口的每位分別接到數(shù)碼顯示管的不同顯示端。74ls164 芯片管腳排列如下圖,管腳 1、2 相連共同接單片機(jī)管腳rxd 8 管腳接單片機(jī)管腳txd 9 管腳接高電平, 7 管腳接地,14 管腳接高電平,其他管腳依次接數(shù)碼顯示管管腳。(top view 74ls 164世腳捋列圖四322 共陰極數(shù)碼顯示管這里列出了共陰和共陽數(shù)碼管的管腳平排列和部結(jié)構(gòu)。數(shù)碼管3、8 管腳部連在一起。如果是共陽極則將其接到高電平。如果是共陰極則將其接地。為了數(shù)碼顯示管的安全這里用三個二極管與其串聯(lián)來降壓。圖五3.2.3 倒計時電路倒計時顯示電路如圖六。禾u 用兩個 74ls164

13、 芯片并聯(lián)后,其1、2 管腳至單片機(jī)rxd 管腳 8 管腳至單片機(jī) txd 管腳。然后其他管腳依次接至數(shù)碼管個管腳。對于數(shù)碼管其3、8管腳經(jīng)過三個串聯(lián)的二極管接地。absabccqdnd g c 堀g f 準(zhǔn)llivalq o q-c c 4 3 2 1 q 9 8 11111 u1 2 3 4 5 6 7 trmttrmttcom 駅懂*益共“門畑 , ?晞軸人曲_hmm- iplcm* im vi圖六324 急通車電路為了實現(xiàn)此功能,利用單片機(jī)中斷達(dá)到目的。利用一個手動按鈕開關(guān)接至單片機(jī)外部中斷0, 同時在軟件設(shè)計時將其設(shè)為最高優(yōu)先級。當(dāng)有按鍵按下, 四方全為紅燈, 同時 將終端位置的ps

14、wacc進(jìn)棧保護(hù)。當(dāng)再按下按鈕,將pswacc 出棧,回到原來的位置繼續(xù)執(zhí)行,電路圖如下圖。圖七四軟件按設(shè)計4.1 程序流程圖:如圖八所示。圖八4.2 led 紅綠燈顯示如圖三所示,當(dāng)p1 端口輸出高電平,即p1 各端口=1 時,根據(jù)發(fā)光二極管的單向?qū)щ娦钥芍?,這是發(fā)光二極管熄滅;當(dāng)p1 個端口輸出低電平,即p1 各端口 =0 時, 發(fā)光二極 管亮。我們可以使用setb 旨令使 p1 各端口輸出高電平,使用clr 指令時 p 各端口輸出低電平。至于循環(huán)需要軟件控制,程序見附錄。4.3 倒計時顯示此處采用 led 靜態(tài)顯示方式,當(dāng)顯示器顯示某個字符時,相應(yīng)的段恒定的導(dǎo)通或截止,直到顯示另個字符為

15、止。89c51 的串行口rxd 和 txd 為一個全雙工串行通信口,但工作在方式 0 下可作同步移位寄存器,其數(shù)據(jù)由rxd 端串行輸出或輸入;而同步移位時鐘由txd端串行輸出,在同步時鐘的作用下,實現(xiàn)由串行到并行的數(shù)據(jù)通信。在不需要使用串行通信的場合,利用串行口加外圍芯片74ls164 就可構(gòu)成一個或多個并行輸入輸出口,用于串一并轉(zhuǎn)換或顯示器led 驅(qū)動。此利用后者。4.4 急通車控制將一按鈕接到單片機(jī)外部中斷0 端口。另一端接地,通過在程序里設(shè)置外部中斷0 為最高優(yōu)先級。當(dāng)檢測到有按鈕按下時, 產(chǎn)生中斷,停止剛才的程序, 轉(zhuǎn)向中斷執(zhí)行。 在此 過程必須利用push pop旨令保護(hù)現(xiàn)場,這樣當(dāng)

16、情況解除可以回到原來的地方繼續(xù)執(zhí)行。4.5 程序代碼見附錄二五 總結(jié)在學(xué)習(xí)單片機(jī)理論課時候就感覺到容很多,知識點很雜,分繁瑣。在老師的講解下,在通過自己的努力也更進(jìn)一步了解了單片機(jī)的部構(gòu)造和工作原理,以及接外部電路的情況。當(dāng)然光有理論知識那只是“紙上談兵” ,還需要實際動手去實踐。真正把所學(xué)的用到日常生活中,理論聯(lián)系實際,做出實物模型。這次單片機(jī)實習(xí),我選的是交通燈設(shè)計,通過這次設(shè)計我感覺到要想做成功,必須花時間多準(zhǔn)備,查閱大量資料,認(rèn)證分析每一步每一個模塊要實現(xiàn)的功能,然后分步進(jìn)行,最后正和一個整體。通過這次實習(xí),我們要對所做的事情有耐性,在編程的時候會有困難,也可能變得不一定成功,所以要經(jīng)

17、過多次調(diào)試,分析,改正,反復(fù)去做。在這次實習(xí)中,經(jīng)歷了多次失敗的洗禮,我明白在以后學(xué)習(xí)和實踐中,我要努力掌握知識,多動手,多思考,以免在以后的學(xué)習(xí)工作中犯同樣的錯誤。參考文獻(xiàn)1 葉挺秀. 應(yīng)用電子學(xué)m. :大學(xué),1994 2 朱承高. 電工及電子技術(shù)手冊m. 北京:高等教育,19903 閻石 .數(shù)字電子技術(shù)基礎(chǔ)(第三版)m. 北京:高等教育,19894 周潤景 peoteus 在 mcs-51 &arm系統(tǒng)中的應(yīng)用百例 m.北京:電子工業(yè), 2006 5 朝青 .單片機(jī)原理及接口技術(shù)(第三版)m. 北京:北京航空航天大學(xué),2005附錄一:2附錄二:源程序代碼sec0nd1 equ 30

18、h sec0nd2equ 31h dbuf equ 40h temp equ 44h led_g1 bit p1.0 led_y1 bit p1.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 0100h start:mov tmod,#o1h mov th0,#3ch mov tlo,#0b0h clr tfo setb tro setb ex0 setb pxo setb ea loop: mov r2,#20 mo

19、v r3,#20 mov second1,#25 mov second2,#25 東西路口計時寄存器南北路口計時寄存器 顯示碼緩沖 1 顯示碼緩沖2 東西路口綠燈東西路口黃燈 東西路口紅燈南北路口綠燈 南北路口黃燈南北路口紅燈置 t0 工作方式 1啟動 t0 設(shè)置外中斷 0 高優(yōu)先級置 1s 計數(shù)初值紅燈亮 20s 東西路口計時顯示初值25s南北路口計時顯示初值25s八1:詩屮i-1-1-i-_2:liji4.sii.*1.?4=|廠-lcall display lcall statel wait1:jnb tf0,wait1恢復(fù) t0 定時初值50ms 判斷 1s 到否?未到繼續(xù)狀態(tài)1 置5

20、0ms 計數(shù)初值 東西路口顯示時間減1 南北路口顯示時間減1狀態(tài) 1 維持 20s 置 50ms 計數(shù)初值綠燈閃爍3s閃爍間隔200ms 東西路口計時顯示初值5s南北路口計時顯示初值5s調(diào)用狀態(tài)2查詢 50ms 到否恢復(fù) t0 定時初值50ms 判斷 200ms 到否?未到繼續(xù)狀態(tài)2東西綠燈閃爍閃爍 200ms 判斷 1s 到否?未到繼續(xù)狀態(tài)2置 50ma 計數(shù)初值東西路口顯示時間減1 南北路口顯示時間減1狀態(tài) 2 維持 3s置 50ms 計數(shù)初值黃燈閃爍2s 東西路口計時顯示初值2s 南北路口計時顯示初值2s調(diào)用狀態(tài)3查詢 100ms 到否恢復(fù) t0 定時初值100ms 判斷 1s 到否?未

21、到繼續(xù)狀態(tài)3置 100ms 計數(shù)初值調(diào)用狀態(tài)1 查詢50ms 到否clr tf0 mov th0,#3ch mov tl0,#0b0h djnz r2,wait1 mov r2,#20 dec secind1 dec second2 lcall display djnz r3,wait1 mov r2,#5 mov r3,#3 mov r4,#4 mov second1,#5 mov second2,#5 lcall display wait2:lcall state2 jnb tf0,wait2 clr tf0 mov th0,#3ch mov tl0,#0b0h djnz r4,wait2

22、 cplled_g1 mov r4,#4 djnz r2,wait2 mov r2,#5 dec second1 dec second2 lcall display djnz r3,wait2 mov r2,#20 mov r3,#2 mov second1,#2 mov second2,#2 lcall display wait3:lcall state3 jnb tf0,#3ch clr tf0 mov th0,#3ch mov tl0,#0b0h djnz r2,wait3 mov r2,#20 東西路口顯示時間減1 南北路口顯示時間減1狀態(tài) 3 維持 2s置 50ms 計數(shù)初值紅燈閃爍

23、20s 東西路口計時顯示初值25s 南北路口計時顯示初值25s調(diào)用狀態(tài)4查詢 100ms 到否恢復(fù) t0 定時初值100ms 判斷 1s 到否?未到繼續(xù)狀態(tài)4 置100ms 計數(shù)初值東西路口顯示時間減1 南北路口顯示時間減1狀態(tài) 4 維持 2s置 50ms 計數(shù)初值紅燈閃爍20s綠燈閃爍3s 東西路口計時顯示初值5s 南北路口計時顯示初值25swait5:lcall state5jnbtf0,wait5clrtf0movth0,#3chmovtl0,#0b0hdjnzr4,wait5cplled_g2movr4,#4djnzr2,wait5movr2,#5查詢100ms 到否恢復(fù)t0 定時初值

24、100ms 判斷 200ms 到否?未到繼續(xù)狀態(tài)5 南北綠燈閃爍閃爍200ms 判斷1s 到否?未到繼續(xù)狀態(tài)5置 100ms 計數(shù)初值dec second1 東西路口顯示時間減1dec second2 南北路口顯示時間減1lcall display djnz r3,wait5 mov r2,#20 mov r3,#20 mov second1,#25 mov second2,#25 狀態(tài)5 維持 3s置 50ms 計數(shù)初值紅燈閃爍2s 東西路口計時顯示初值5s 南北路口計時顯示初值5sdec second1 dec second2 lcall display djnz r3,wait3 mov

25、 r2,#20 mov r3,#20 mov second1,#25 mov second2,#25 lcall display wait4:lcall state4 jnb tf0,wait4 clr tf0 mov th0,#3ch mov tl0,#0b0h djnz r2,wait4 mov r2,#20 dec second1 dec second2 lcall display djnz r3,wait4 mov r2,#5 mov r3,#4 mov r3,#3 mov second1,#25 mov second2,#25 lcall display 調(diào)用狀態(tài)5lcall dis

26、play wait6:lcall state6 jnb tf0,wait6 clr tf0 mov th0,#3ch mov tl0,#0b0h djnz r2,wait6 mov r2,#20 dec second1 dec second2 lcall display djnz r3,wait6 ljmp loop state1: setb led_g1 clr led_y1 clr led_r1 clr led_g2 clr led_y2 setb led_r2 ret state2: clr led_y1 clr led_r1 clr led_g2 clr led_y2 setbled_r2 ret state3: clr led_g1 clr led_r1 clr led_g2 clr led_y2 setb led_r2 setb led_y1 ret state4: clr led_g1 clr led_y1 setb led_r1 setb led_g2 clr led_y2 clr led_r2 ret調(diào)用狀

溫馨提示

  • 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

提交評論