用5單片機控制交通燈匯編語言編寫_第1頁
用5單片機控制交通燈匯編語言編寫_第2頁
用5單片機控制交通燈匯編語言編寫_第3頁
用5單片機控制交通燈匯編語言編寫_第4頁
用5單片機控制交通燈匯編語言編寫_第5頁
已閱讀5頁,還剩10頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、基于51單片機的交通燈控制系統(tǒng)設(shè)計摘要:在日常生活中,交通信號燈的使用,市交通得以有效管理,對于疏導交通流量、提高道路通行能力,減少交通事故有明顯效果。交通燈控制系統(tǒng)由80C51單片機、鍵盤、LED顯示、交通燈延時組成。系統(tǒng)除具有基本交通燈功能外,還具有時間設(shè)置、LED信息顯示功能,市交通實現(xiàn)有效控制。關(guān)鍵詞:交通燈,單片機,自動控制一引言 當今,紅綠燈安裝在個個道口上,已經(jīng)成為疏導交通車輛最常見和最有效的手段。但這個技術(shù)在19世紀就已經(jīng)出現(xiàn)了。 1858年,在英國倫敦主要街頭安裝了以燃煤氣為光源的紅、藍兩色的機械般手勢信號燈,用以指揮馬車通行。這是世界上最早的交通信號燈。1868年,英國機械

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

3、標志禁止某一種轉(zhuǎn)向。左右轉(zhuǎn)彎車輛必需讓合法的正在路口內(nèi)行駛的車輛和過人行橫線的行人優(yōu)先通行。紅燈是禁行信號燈,面對紅燈的車輛必需在交叉路口的停車線后停車。黃燈是警告信號,面對黃燈的車輛不能越過停車線,但車輛已經(jīng)十分接近停車線而不能安全停車的可以進入交叉路口!二概要設(shè)計2.1 設(shè)計思路 利用單片機實現(xiàn)交通燈的控制,該任務(wù)分以下幾個方面: a 實現(xiàn)紅、綠、黃燈的循環(huán)控制。要實現(xiàn)此功能需要表示三種不同顏色的LED燈分別接在P1個管腳,用軟件實現(xiàn)。 b 用數(shù)碼管顯示倒計時。可以利用動態(tài)顯示或靜態(tài)顯示,串行并出或者并行并出實現(xiàn)。 C 實現(xiàn)急通車。這需要人工實現(xiàn),編程時利用到中斷才能帶到目的,只要有按鈕按

4、下,那么四個方向全部顯示紅燈,禁止以誒車輛通行。當情況解除,讓時間回到只能隔斷處繼續(xù)進行。2.2總體設(shè)計框圖 見圖一:交通燈循環(huán)最小系統(tǒng)倒計時顯示強通車控制圖一三 硬件設(shè)計3.1LED循環(huán)電路設(shè)計 3.1.1 89cs51單片機概述 MCS-51單片機內(nèi)部結(jié)構(gòu): 89CS51是MCS-51系列單片機的典型產(chǎn)品,我們以這一代表性的機型進行系統(tǒng)的講解。 89CS51單片機包含中央處理器、程序存儲器(ROM)、數(shù)據(jù)存儲器(RAM)、定時/計數(shù)器、并行接口、串行接口和中斷系統(tǒng)等極大單元及數(shù)據(jù)總線、地址總線和控制總線等三大總線,現(xiàn)在分別加以說明。 *中央處理器: 中央處理器(CPU)是整個單片機的核心部

5、件,是8位數(shù)據(jù)寬度的處理器,能處理8位二進制數(shù)據(jù)或代碼,CPU負責控制、指揮和調(diào)度整個單元系統(tǒng)的工作,完成運算和控制輸入輸出等操控。 *數(shù)據(jù)存儲器(RAM): 89CS51內(nèi)部有128個8位用戶數(shù)及存儲單元和128個寄存器單元,他們是統(tǒng)一編址的,專營寄存器只能用于存放控制指令數(shù)據(jù),用戶只能訪問,而不能用于存放用戶數(shù)據(jù),所以,用戶能使用的RAM只有128個,可存放讀寫的數(shù)據(jù),運算的中間結(jié)果或用戶自定義的字型表。 *程序存儲器(ROM): 89CS51共有4096個8位掩膜ROM,用于存放用戶程序,原始數(shù)據(jù)或表格。 *定時/計數(shù)器(ROM): 89CS51有兩個16位的可編程定時/計數(shù)器,一時想定

6、時或計數(shù)產(chǎn)生中斷用于控制程序轉(zhuǎn)向。 *并行輸入輸出(I/O)口: 89CS51共有4組8位I/O口(P0、P1、P2或P3),用于對外數(shù)據(jù)傳輸。 *全雙工串行號: 89CS51內(nèi)置一個全雙行串行通信口,用于與其它設(shè)備間的串行數(shù)據(jù)傳輸,該串行口既可以用作異步通信收發(fā)器,也可以當同步移位器使用。 *中斷系統(tǒng): 89CS51具備較完善的中斷功能,有兩個外中斷、兩個定時/計數(shù)器中斷和一個串行中斷,客滿著不同的控制要求,并具有2級優(yōu)先級別選擇。 *時鐘電路: 89CS51內(nèi)置最高頻率高達12Hz的時鐘電路,用于產(chǎn)生整個單片機運行的脈沖時序,但89CS51單片繼續(xù)外置震蕩電容。 單片機的結(jié)構(gòu)有兩種類型,一

7、種是程序存儲器和數(shù)據(jù)存儲器分開的形式,即哈佛(Harvard)結(jié)構(gòu),另一種是采用通用計算機廣泛使用的程序存儲器與數(shù)據(jù)存儲器合二為一的結(jié)構(gòu),即普林斯頓(Princeton)結(jié)構(gòu)。 MCS-51系統(tǒng)的引腳說明: MCS-51系列單片機中的8031、8051及8751均采用40Pin封裝的雙列直接DIP結(jié)構(gòu),圖二是它們的引腳配置,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.5

8、WR/P3.6RD/P3.7XTAL2XTAL1GNDPDIPVCCP0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.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還是一復

9、用腳,Vcc掉電其間,此腳可以接上沒用電源,以保證單片機內(nèi)部RAM的數(shù)據(jù)不丟失。 在編程時,EA/Vpp腳還需加上21V的編程電壓。 3.1.2 LED循環(huán)說明 東西、南北兩干道交于一個十字路口,各干道有一組紅、綠、黃三色的指示燈,指揮車輛和行人的安丘按通行。紅燈禁止通行,綠燈亮允許通行。黃燈亮提示人們注意紅、綠燈的狀態(tài)即將切換,且黃燈燃亮時間為東西,南北兩干道的公共停車時間。狀態(tài)循環(huán)時間45s5s45s5s45s。南北通道紅燈亮紅燈亮綠燈亮黃燈閃紅燈亮。東西通道綠燈亮黃燈閃紅燈亮紅燈亮綠燈亮。 上表說明東西路口亮綠燈的同時,南北路口紅燈亮,同時開始45s倒計時。倒計時結(jié)束后開始5s倒計時,東

10、西黃燈閃爍南北還是亮紅燈,計時結(jié)束后狀態(tài)交換然后依次循環(huán)下去。完成一次這樣的循環(huán)要50s。電路圖如圖三所示。 圖三3.2 倒計時顯示電路 3.2.1 74LS164芯片 74LS164用于擴展并行輸出口。用89CS51串行口外接164串入-并出移位寄存器擴展8位并行口。8位并行口的每位分別接到數(shù)碼顯示管的不同顯示端。74LS164芯片管腳排列如下圖,管腳1、2相連共同接單片機管腳RXD,8管腳接單片機管腳TXD,9管腳接高電平,7管腳接地,14管腳接高電平,其他管腳依次接數(shù)碼顯示管管腳。倒計時顯示可以提醒駕駛員在信號燈燈色發(fā)生改變的時間、在“停止”和“通過”兩者間作出合適的選擇。駕駛員和行人普

11、遍都愿意選擇有倒計時顯示的信號控制方式,并且認為有倒計時顯示的路口更安全。倒計時顯示是用來減少駕駛員在信號燈色改變的關(guān)鍵時刻做出復雜判斷的1種方法,它可以提醒駕駛員燈色發(fā)生改變的時間,幫助駕駛員在“停止”和“通過”兩者間作出合適的選擇 。 圖四3.2.2 共陰極數(shù)碼顯示管這里列出了共陰和共陽數(shù)碼管的管腳平排列和內(nèi)部結(jié)構(gòu)。數(shù)碼管3、8管腳內(nèi)部連在一起。如果是共陽極則將其接到高電平。如果是共陰極則將其接地。為了數(shù)碼顯示管的安全這里用三個二極管與其串聯(lián)來降壓。 圖五3.2.3 倒計時電路 倒計時顯示電路如圖六。利用兩個74LS164芯片并聯(lián)后,其1、2管腳至單片機RXD管腳8管腳至單片機TXD管腳。

12、然后其他管腳依次接至數(shù)碼管個管腳。對于數(shù)碼管其3、8管腳經(jīng)過三個串聯(lián)的二極管接地。 圖六3.2.4 急通車電路 為了實現(xiàn)此功能,利用單片機中斷達到目的。利用一個手動按鈕開關(guān)接至單片機外部中斷0,同時在軟件設(shè)計時將其設(shè)為最高優(yōu)先級。當有按鍵按下,四方全為紅燈,同時將終端位置的PSW、ACC進棧保護。當再按下按鈕,將PSW、ACC出棧,回到原來的位置繼續(xù)執(zhí)行,電路圖如下圖。4.2 交通燈中的中斷處理流程()現(xiàn)場保護和現(xiàn)場恢復:有特殊車輛要通過時就要進行中斷,在中斷之前,先將交通燈中斷前情況保護好,當中斷執(zhí)行后再恢復現(xiàn)場,包括信號燈和時間顯示電路。()中斷打開和中斷關(guān)閉:為了使特殊車輛通行按一下打開

13、中斷開關(guān)就可以打開中斷,關(guān)閉中斷開關(guān)就關(guān)閉中斷。()中斷服務(wù)程序:有中斷產(chǎn)生,就必然有其具體的需執(zhí)行的任務(wù),中斷服務(wù)程序就是執(zhí)行中斷處理的具體內(nèi)容:即如果南北方向有特殊車輛要求通過,南北方向轉(zhuǎn)換為綠燈,東西方向為紅燈;如果東西方向有特殊車輛要求通過,東西方向轉(zhuǎn)換為綠燈,南北方向為紅燈。()中斷返回:執(zhí)行完中斷服務(wù)程序后,必然要返回,即回交通燈信號回到中斷前狀態(tài),顯示時間也和中斷前一樣。系統(tǒng)硬件總電路構(gòu)成及原理實現(xiàn)本設(shè)計要求的具體功能,可以選用AT89C51單片機及外圍器件構(gòu)成最小控制系統(tǒng),12個發(fā)光二極管分成4組紅綠黃三色燈構(gòu)成信號燈指示模塊,8個LED東西南北各兩個構(gòu)成倒計時顯示模塊,若干按

14、鍵組成時間設(shè)置和緊急按鈕。4.3.1系統(tǒng)硬件電路構(gòu)成本系統(tǒng)以單片機為核心,系統(tǒng)硬件電路由狀態(tài)燈,LED顯示,按鍵,組成。其具體的硬件電路總 圖七四 軟件按設(shè)計 4.1 程序流程圖:如圖八所示。開始設(shè)置中斷工作方式、觸發(fā)方式、初始化是否有中斷運行過程執(zhí)行中斷YN中斷結(jié)束,退出中斷,返回主程序運行過程SN:綠燈(45),EW:紅燈是否到45秒SN:黃燈亮,EW:紅燈Count<5?SN:黃燈滅,EW:紅燈是否到0秒NYYNNEW:綠燈(45s),SN:紅燈是否到45秒EW:黃燈每秒閃一次,SN:紅燈Count<5?EW:黃燈滅,EW:紅燈是否到0秒YYYNNNLED顯示緩沖區(qū) DISP

15、Y 圖八 4.2 LED紅綠燈顯示 如圖三所示,當P1端口輸出高電平,即P1各端口=1時,根據(jù)發(fā)光二極管的單向?qū)щ娦钥芍?,這是發(fā)光二極管熄滅;當P1個端口輸出低電平,即P1各端口=0時,發(fā)光二極管亮。我們可以使用SETB指令使P1各端口輸出高電平,使用CLR指令時P各端口輸出低電平。至于循環(huán)需要軟件控制,程序見附錄。 4.3倒計時顯示 此處采用LED靜態(tài)顯示方式,當顯示器顯示某個字符時,相應的段恒定的導通或截止,直到顯示另個字符為止。89C51的串行口RXD和TXD為一個全雙工串行通信口,但工作在方式0下可作同步移位寄存器,其數(shù)據(jù)由RXD端串行輸出或輸入;而同步移位時鐘由TXD端串行輸出,在同

16、步時鐘的作用下,實現(xiàn)由串行到并行的數(shù)據(jù)通信。在不需要使用串行通信的場合,利用串行口加外圍芯片74LS164就可構(gòu)成一個或多個并行輸入輸出口,用于串并轉(zhuǎn)換或顯示器LED驅(qū)動。此利用后者。 4.4 急通車控制 將一按鈕接到單片機外部中斷0端口。另一端接地,通過在程序里設(shè)置外部中斷0為最高優(yōu)先級。當檢測到有按鈕按下時,產(chǎn)生中斷,停止剛才的程序,轉(zhuǎn)向中斷執(zhí)行。在此過程必須利用PUSH、POP指令保護現(xiàn)場,這樣當情況解除可以回到原來的地方繼續(xù)執(zhí)行。4.5程序代碼系統(tǒng)工作原理系統(tǒng)上電或手動復位之后,系統(tǒng)先顯示狀態(tài)燈及LED數(shù)碼管,將狀態(tài)碼值送顯P1口,將要顯示的時間值的個位和十位分別送顯P0口,在此同時用

17、軟件方法計時1秒,到達1s就要將時間值減1,刷新LED數(shù)碼管。時間到達一個狀態(tài)所要全部時間,則要進行下一狀態(tài)判斷及銜接,并裝入次狀態(tài)的相應狀態(tài)碼值以及時間值,當然,還要開啟兩個外部中斷,其一為緊急情況處理中斷,一旦信號有效,即K鍵為低電平時進入中斷服務(wù)子程序,東西南北路口的保持現(xiàn)有通行狀態(tài),再按一下鍵,中斷結(jié)束返回。其二為通行時間調(diào)整中斷,若按鍵有效,進入相應的中斷子程序,對時間進行調(diào)整,可延長或減少某一路段的通行時間,此后再按鍵則中斷結(jié)束返回。4.4其它硬件介紹及連接顯示數(shù)值dp,g,f,e,d,c,b,a驅(qū)動代碼011111100FCH10110000060H211011010DAH311

18、110010F2H40110011066H510100110B6H610101110BEH711100000E0H811111110FEH911110110F6H0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH,0E0H,0FEH,0F6H五 總結(jié) 在學習單片機理論課時候就感覺到內(nèi)容很多,知識點很雜,分繁瑣。在老師的講解下,在通過自己的努力也更進一步了解了單片機的內(nèi)部構(gòu)造和工作原理,以及接外部電路的情況。當然光有理論知識那只是“紙上談兵”,還需要實際動手去實踐。真正把所學的用到日常生活中,理論聯(lián)系實際,做出實物模型。這次單片機實習,我選的是交通燈設(shè)計,通過這次設(shè)計我感覺到要想做

19、成功,必須花時間多準備,查閱大量資料,認證分析每一步每一個模塊要實現(xiàn)的功能,然后分步進行,最后正和一個整體。 通過這次實習,我們要對所做的事情有耐性,在編程的時候會有困難,也可能變得不一定成功,所以要經(jīng)過多次調(diào)試,分析,改正,反復去做。 在這次實習中,經(jīng)歷了多次失敗的洗禮,我明白在以后學習和實踐中,我要努力掌握知識,多動手,多思考,以免在以后的學習工作中犯同樣的錯誤。經(jīng)過兩周的努力工作,終于在同組人的共同合作下完成了簡易智能交通燈設(shè)計單片機課程設(shè)計。雖然設(shè)計仿真調(diào)試的過程很艱辛,但結(jié)果還是好的,看到仿真結(jié)果出來,看到交通燈的循環(huán)閃爍,心情頓時好起來,調(diào)試過程中的種種怨言都沒有了。這次課程設(shè)計主

20、要是軟件仿真,由于器材有限就沒有弄硬件部分。在軟件的設(shè)計與調(diào)試過程中,我覺得它主要考驗你的思維邏輯能力及你對指令的熟悉程度。可以說再整個軟件設(shè)計過程中,我感覺又重新學了一次單片機,在學習的過程中不僅學會了延時的兩種方法,即軟件延時和硬件延時,還掌握數(shù)碼管的兩種顯示方式(即動態(tài)顯示與靜態(tài)顯示)及其如何選擇。通過幾次反復調(diào)試過程,使得我對c語言有了更深刻的理解。在整個課程設(shè)計過程我還學會熟練使用Keil、proteus等軟件,對我在今后的學習中會有很大的幫助。 同時,在這次課程設(shè)計中,老師和同組的馬柱國,李臻同學給了我很大的幫助,要特別感謝他們。參考文獻 1 葉挺秀.應用電子學M.杭州:浙江大學出

21、版社,19942 朱承高.電工及電子技術(shù)手冊M.北京:高等教育出版社,19903 閻石.數(shù)字電子技術(shù)基礎(chǔ)(第三版)M.北京:高等教育出版社,19894 周潤景.PEOTEUS在MCS-51&ARM7系統(tǒng)中的應用百例M.北京:電子工業(yè)出版社,20065 李朝青.單片機原理及接口技術(shù)(第三版)M.北京:北京航空航天大學出版社,2005ORG 0000HLJMP STARTORG 0003HLJMP INTORG 0100HSTART: SETB IT0MOV TMOD,#01H SETB EA SETB EX0 MOV TH0,#3CH MOV TL0,#0B0H SETB TR0MAIN

22、: MOV 70H,#0 MOV 71H,#5 LCALL DISPLAY MOV P1, #21H;?1 MOV R3, #45KK1: LCALL WAIT1 LCALL YUNSUAN LCALL DISPLAY DJNZ R3,KK1 MOV R3,#5KK2: CLR P1.0 CPL P1.2 LCALL WAIT1 LCALL YUNSUAN LCALL DISPLAY DJNZ R3, KK2 MOV P1, #12H;?3 MOV 70H,#0 MOV 71H,#5 LCALL DISPLAY MOV R3,#45KK3: LCALL WAIT1 LCALL YUNSUAN LCALL DISPLAY DJNZ R3,KK3 MOV R3,#5KK4: CLR P1.

溫馨提示

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

評論

0/150

提交評論