交通燈課程設(shè)計 - 副本_第1頁
交通燈課程設(shè)計 - 副本_第2頁
交通燈課程設(shè)計 - 副本_第3頁
交通燈課程設(shè)計 - 副本_第4頁
交通燈課程設(shè)計 - 副本_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

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

文檔簡介

1、專業(yè)、班級 學(xué)號 姓名 一、任務(wù):設(shè)計一個交通燈,要求具有以下功能:設(shè)計一個交通燈。功能如下:采用定時器中斷方式控制南北方向,東西方向交通燈,指示時間是30s,當(dāng)時間是5s時綠燈閃亮,為3s時黃燈點亮,30S時間到,交通燈換向。二、要求:(1)用74LS164來驅(qū)動數(shù)碼顯示管(2)用8位七段數(shù)碼管來顯示時間三、主要參考資料參考文獻(xiàn)參考文獻(xiàn)1張毅坤. 單片微型計算機(jī)原理及應(yīng)用,西安電子科技大學(xué)出版社 1998 2余錫存 曹國華.單片機(jī)原理及接口技術(shù)M.陜西:西安電子科技大學(xué)出版社,2000.73雷麗文 等.微機(jī)原理與接口技術(shù)M.北京:電子工業(yè)出版社,1997.21目錄1.引言32.工作系統(tǒng)的功能

2、33.硬件部分33.1.AT89C5133.2.74lS16444.軟件設(shè)計流程圖55.中斷系統(tǒng)介紹55.1.實現(xiàn)中斷響應(yīng)和中斷返回55.2實現(xiàn)優(yōu)先權(quán)排隊55.3實現(xiàn)中斷嵌套66.源程序代碼67.參考文獻(xiàn)118.附錄111.引言近年來隨著科技的飛速發(fā)展,單片機(jī)的應(yīng)用正在不斷深入,同時帶動傳統(tǒng)控制檢測技術(shù)日益更新。在實時檢測和自動控制的單片機(jī)應(yīng)用系統(tǒng)中,單片機(jī)往往作為一個核心部件來使用,僅單片機(jī)方面知識是不夠的,還應(yīng)根據(jù)具體硬件結(jié)構(gòu)軟硬件結(jié)合,加以完善。當(dāng)今,紅綠燈安裝在各個道口上,已經(jīng)成為疏導(dǎo)交通車輛最常見和最有效的手段。但這一技術(shù)在19世紀(jì)就已出現(xiàn)了。電氣啟動的紅燈出現(xiàn)在美國,這種紅綠燈由紅

3、綠黃三色圓形的投光器組成,1914年始安裝于紐約市5號大街的一座高塔上。紅燈亮表示“停止”,綠燈亮表示“通行”。信號燈的出現(xiàn),使交通得以有效管制,對于疏導(dǎo)交通流量、提高道路通行能力,減少交通事故有明顯效果。1968年,聯(lián)合國道路交通和道路標(biāo)志信號協(xié)定對各種信號燈的含義作了規(guī)定。綠燈是通行信號,面對綠燈的車輛可以直行,左轉(zhuǎn)彎和右轉(zhuǎn)彎,除非另一種標(biāo)志禁止某一種轉(zhuǎn)向。左右轉(zhuǎn)彎車輛都必須讓合法地正在路口內(nèi)行駛的車輛和過人行橫道的行人優(yōu)先通行。紅燈是禁行信號,面對紅燈的車輛必須在交叉路口的停車線后停車。黃燈是警告信號,面對黃燈的車輛不能越過停車線,但車輛已十分接近停車線而不能安全停車時可以進(jìn)入交叉路口2

4、.工作系統(tǒng)的功能采用定時器中斷方式控制南北方向,東西方向交通燈,指示時間是25s,當(dāng)時間是5s時綠燈閃亮,為3s時黃燈點亮,25S時間到,交通燈換向。3.硬件部分3.1.AT89C518051是MCS-51系列單片機(jī)的典型產(chǎn)品,我們以這一代表性的機(jī)型進(jìn)行系統(tǒng)的講解。8051單片機(jī)包含中央處理器、程序存儲器(ROM)、數(shù)據(jù)存儲器(RAM)、定時/計數(shù)器、并行接口、串行接口和中斷系統(tǒng)等:中央處理器:中央處理器(CPU)是整個單片機(jī)的核心部件,是8位數(shù)據(jù)寬度的處理器,能處理8位二進(jìn)制數(shù)據(jù)或代碼,CPU負(fù)責(zé)控制、指揮和調(diào)度整個單元系統(tǒng)協(xié)調(diào)的工作,完成運(yùn)算和控制輸入輸出功能等操作。數(shù)據(jù)存儲器(RAM)8

5、051內(nèi)部有128個8位用戶數(shù)據(jù)存儲單元和128個專用寄存器單元,它們是統(tǒng)一編址的,專用寄存器只能用于存放控制指令數(shù)據(jù),用戶只能訪問,而不能用于存放用戶數(shù)據(jù),所以,用戶能使用的RAM只有128個,可存放讀寫的數(shù)據(jù),運(yùn)算的中間結(jié)果或用戶定義的字型表。程序存儲器(ROM):8051共有4096個8位掩膜ROM,用于存放用戶程序,原始數(shù)據(jù)或表格。定時/計數(shù)器(ROM):8051有兩個16位的可編程定時/計數(shù)器,以實現(xiàn)定時或計數(shù)產(chǎn)生中斷用于控制程序轉(zhuǎn)向。并行輸入輸出(I/O)口:8051共有4組8位I/O口(P0、P1、P2或P3),用于對外部數(shù)據(jù)的傳輸。全雙工串行口:8051內(nèi)置一個全雙工串行通信口

6、,用于與其它設(shè)備間的串行數(shù)據(jù)傳送,該串行口既可以用作異步通信收發(fā)器,也可以當(dāng)同步移位器使用。中斷系統(tǒng):8051具備較完善的中斷功能,有兩個外中斷、兩個定時/計數(shù)器中斷和一個串行中斷,可滿足不同的控制要求,并具有2級的優(yōu)先級別選擇。3.2.74lS16474HC164、74HCT164是高速硅門CMOS器件,與低功耗肖特基型TTL(LSTTL)器件的引腳兼容。74HC164、74HCT164是8位邊沿觸發(fā)式移位寄存器,串行輸入數(shù)據(jù),然后并行輸出。數(shù)據(jù)通過兩個輸入端(DSA或DSB)之一串行輸入;任一輸入端可以用作高電平使能端,控制另一輸入端的數(shù)據(jù)輸入。兩個輸入端或者連接在一起,或者把不用的輸入端

7、接高電平,一定不要懸空。時鐘(CP)每次由低變高時,數(shù)據(jù)右移一位,輸入到Q0,Q0是兩個數(shù)據(jù)輸入端(DSA和DSB)的邏輯與,它將上升時鐘沿之前保持一個建立時間的長度。主復(fù)位(MR)輸入端上的一個低電平將使其它所有輸入端都無效,同時非同步地清除寄存器,強(qiáng)制所有的輸出為低電平。功能圖4.軟件設(shè)計流程圖南北綠燈,東西紅燈延時25秒南北綠燈閃3s轉(zhuǎn)黃燈,亮2秒南北紅燈,東西綠燈延時25秒東西綠燈閃3s轉(zhuǎn)黃燈,亮2秒End5.中斷系統(tǒng)介紹中斷裝置和中斷處理程序統(tǒng)稱為中斷系統(tǒng)。中斷系統(tǒng)是計算機(jī)的重要組成部分。實時控制、故障自動處理、計算機(jī)與外圍設(shè)備間的數(shù)據(jù)傳送往往采用中斷系統(tǒng)。中斷系統(tǒng)的應(yīng)用大大提高了計

8、算機(jī)效率。5.1.實現(xiàn)中斷響應(yīng)和中斷返回當(dāng)CPU收到中斷請求后,能根據(jù)具體情況決定是否響應(yīng)中斷,如果CPU沒有更急、更重要的工作,則在執(zhí)行完當(dāng)前指令后響應(yīng)這一中斷請求。CPU中斷響應(yīng)過程如下:首先,將斷點處的PC值(即下一條應(yīng)執(zhí)行指令的地址)推入堆棧保留下來,這稱為保護(hù)斷點,由硬件自動執(zhí)行。然后,將有關(guān)的寄存器內(nèi)容和標(biāo)志位狀態(tài)推入堆棧保留下來,這稱為保護(hù)現(xiàn)場,由用戶自己編程完成。保護(hù)斷點和現(xiàn)場后即可執(zhí)行中斷服務(wù)程序,執(zhí)行完畢,CPU由中斷服務(wù)程序返回主程序,中斷返回過程如下:首先恢復(fù)原保留寄存器的內(nèi)容和標(biāo)志位的狀態(tài),這稱為恢復(fù)現(xiàn)場,由用戶編程完成。然后,再加返回指令RETI,RETI指令的功能

9、是恢復(fù)PC值,使CPU返回斷點,這稱為恢復(fù)斷點?;謴?fù)現(xiàn)場和斷點后,CPU將繼續(xù)執(zhí)行原主程序,中斷響應(yīng)過程到此為止。5.2實現(xiàn)優(yōu)先權(quán)排隊通常,系統(tǒng)中有多個中斷源,當(dāng)有多個中斷源同時發(fā)出中斷請求時,要求計算機(jī)能確定哪個中斷更緊迫,以便首先響應(yīng)。為此,計算機(jī)給每個中斷源規(guī)定了優(yōu)先級別,稱為優(yōu)先權(quán)。這樣,當(dāng)多個中斷源同時發(fā)出中斷請求時,優(yōu)先權(quán)高的中斷能先被響應(yīng),只有優(yōu)先權(quán)高的中斷先權(quán)排隊,這個過程可通過硬件電路來實現(xiàn),亦可通過軟件查詢來實現(xiàn)。5.3實現(xiàn)中斷嵌套當(dāng)CPU響應(yīng)某一中斷時,若有優(yōu)先權(quán)高的中斷源發(fā)出中斷請求,則CPU能中斷正在進(jìn)行的中斷服務(wù)程序,并保留這個程序的斷點,響應(yīng)高級中斷,高級中斷處理

10、結(jié)束以后,再繼續(xù)進(jìn)行被中斷的中斷服務(wù)程序,這個過程稱為中斷嵌套。如果發(fā)出新的中斷請求的中斷源的優(yōu)先權(quán)級別與正在處理的中斷源同級或更低時,CPU不會響應(yīng)這個中斷請求,直至正在處理的中斷服務(wù)程序執(zhí)行完以后才能去處理新中斷請求。6.源程序代碼SECOND1 EQU 30H 東西路口計時寄存器SECOND2 EQU 31H 南北路口計時寄存器DBUF EQU 40H 顯示碼緩沖區(qū)1TEMP EQU 44H 顯示碼緩沖區(qū)2LED_G1 BIT P2.1 東西路口綠燈LED_Y1 BIT P2.2 東西路口黃燈LED_R1 BIT P2.3 東西路口紅燈LED_G2 BIT P2.4 南北路口綠燈LED_

11、Y2 BIT P2.5 南北路口黃燈LED_R2 BIT P2.6 南北路口紅燈ORG 0000HLJMP STARTORG 0100HSTART: MOV TMOD,#01H 置T0為工作方式1MOV TH0, #3CH 置T0定時初值50msMOV TL0, #0B0HCLR TF0SETB TR0 啟動T0CLR AMOV P1,A 關(guān)閉不相關(guān)的LEDLOOP: MOV R2,#20 置1S計數(shù)初值,50ms*20=1sMOV R3,#25 紅燈25SMOV SECOND1,#30 東西路口計時顯示初值30SMOV SECOND2,#30 南北路口計時顯示初值30SLCALL DISPL

12、AYLCALL STATE1 調(diào)用狀態(tài)1WAIT1: JNB TF0,WAIT1 查詢50ms到否CLR TF0MOV TH0,#3CH 恢復(fù)T0定時初值50MsMOV TL0, #0B0HDJNZ R2,WAIT1 判斷1s到否?未到繼續(xù)狀態(tài)1MOV R2,#20 置50ms計數(shù)初值DEC SECOND1 東西路口顯示時間減1sDEC SECOND2 南北路口顯示時間減1sLCALL DISPLAYDJNZ R3,WAIT1 狀態(tài)1維持25sMOV R2,#5 置50ms計數(shù)初值5*4=20MOV R3,#3 綠燈閃3sMOV R4,#4 閃爍間隔200msMOV SECOND1,#5 東西

13、路口計數(shù)顯示初值5sMOV SECOND2,#5 南北路口計數(shù)顯示初值5sLCALL DISPLAYWAIT2: LCALL STATE2 調(diào)用狀態(tài)2JNB TF0,WAIT2 查詢50ms到否CLR TF0MOV TH0,#3CH 恢復(fù)T0定時初值50sMOV TL0, #0B0HDJNZ R4,WAIT2 判斷200ms到否?未到繼續(xù)狀態(tài)2CPL LED_G1 東西綠燈閃MOV R4,#4 閃爍間隔200msDJNZ R2,WAIT2 判斷1s到否?未到繼續(xù)狀態(tài)2MOV R2,#5 置50ms計數(shù)初值DEC SECOND1 東西路口顯示時間減1sDEC SECOND2 南北路口顯示時間減1

14、sLCALL DISPLAYDJNZ R3,WAIT2 狀態(tài)2維持3sMOV R2,#20 置50ms計數(shù)初值MOV R3,#2 黃燈閃2sMOV SECOND1,#2 東西路口計時顯示初值2sMOV SECOND2,#2 南北路口計時顯示初值2sLCALL DISPLAYWAIT3: LCALL STATE3 調(diào)用狀態(tài)3JNB TF0,WAIT3 查詢100ms到否CLR TF0MOV TH0,#3CH 恢復(fù)T0定時初值100msMOV TL0, #0B0HDJNZ R2,WAIT3 判斷1s到否?未到繼續(xù)狀態(tài)3MOV R2,#20 置100ms計數(shù)初值DEC SECOND1 東西路口顯示時

15、間減1sDEC SECOND2 南北路口顯示時間減1sLCALL DISPLAYDJNZ R3,WAIT3 狀態(tài)3維持2sMOV R2,#20 置50ms計數(shù)初值MOV R3,#25 紅燈閃25sMOV SECOND1,#30 東西路口計時顯示初值30sMOV SECOND2,#30 南北路口計時顯示初值30sLCALL DISPLAYWAIT4: LCALL STATE4 調(diào)用狀態(tài)4JNB TF0,WAIT4 查詢100ms到否CLR TF0MOV TH0,#3CH 恢復(fù)T0定時初值100msMOV TL0, #0B0HDJNZ R2,WAIT4 判斷1s到否?未到繼續(xù)狀態(tài)4MOV R2,#

16、20 置100ms計數(shù)初值DEC SECOND1 東西路口顯示時間減1sDEC SECOND2 南北路口顯示時間減1sLCALL DISPLAYDJNZ R3,WAIT4 狀態(tài)4維持20sMOV R2,#5 置50ms計數(shù)初值MOV R4,#4 紅燈閃20msMOV R3,#3 綠燈閃3sMOV SECOND1,#5 東西路口計數(shù)顯示初值5sMOV SECOND2,#5 南北路口計數(shù)顯示初值5sLCALL DISPLAYWAIT5: LCALL STATE5 調(diào)用狀態(tài)5JNB TF0,WAIT5 查詢100ms到否CLR TF0MOV TH0,#3CH 恢復(fù)T0定時初值100msMOV TL0

17、, #0B0HDJNZ R4,WAIT5 判斷200ms到否?未到繼續(xù)狀態(tài)5CPL LED_G2 南北綠燈閃MOV R4,#4 閃爍200msDJNZ R2,WAIT5 判斷1s到否?未到繼續(xù)狀態(tài)5MOV R2,#5 置100ms計數(shù)初值DEC SECOND1 東西路口顯示時間減1sDEC SECOND2 南北路口顯示時間減1sLCALL DISPLAYDJNZ R3,WAIT5 狀態(tài)5維持3sMOV R2,#20 置50ms計數(shù)初值MOV R3,#2 紅燈閃2sMOV SECOND1,#2 東西路口計數(shù)顯示初值2sMOV SECOND2,#2 南北路口計數(shù)顯示初值2sLCALL DISPLA

18、YWAIT6: LCALL STATE6 調(diào)用狀態(tài)6JNB TF0,WAIT6 查詢100ms到否CLR TF0MOV TH0,#3CH 恢復(fù)T0定時初值100msMOV TL0, #0B0HDJNZ R2,WAIT6 判斷1s到否?未到繼續(xù)狀態(tài)6MOV R2,#20 置100ms計數(shù)初值DEC SECOND1 東西路口顯示時間減1sDEC SECOND2 南北路口顯示時間減1sLCALL DISPLAYDJNZ R3,WAIT6 狀態(tài)6維持2sLJMP LOOP 大循環(huán)STATE1: 狀態(tài)1SETB LED_G1 東西路口綠燈亮CLR LED_Y1CLR LED_R1CLR LED_G2CL

19、R LED_Y2SETB LED_R2 南北路口紅燈亮RETSTATE2: 狀態(tài)2CLR LED_Y1CLR LED_R1CLR LED_G2CLR LED_Y2SETB LED_R2 南北路口紅燈亮RETSTATE3: 狀態(tài)3CLR LED_G1CLR LED_R1CLR LED_G2CLR LED_Y2SETB LED_R2 南北路口紅燈亮SETB LED_Y1 東西路口綠燈亮RETSTATE4: 狀態(tài)4CLR LED_G1CLR LED_Y1SETB LED_R1 東西路口紅燈亮SETB LED_G2 南北路口綠燈亮CLR LED_Y2CLR LED_R2RETSTATE5: 狀態(tài)5CLR LED_G1CLR LED_Y1SETB LED_R1 東西路口紅燈亮CLR LED_Y2CLR LED_R2RETSTATE6: 狀態(tài)6CLR LED_G1CLR LED_Y1SETB LED_R1 東西路口紅燈亮CLR LED_G2CLR LED_R2SETB LED_Y2 南北路口紅燈亮RETDISPLAY:

溫馨提示

  • 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

提交評論