8255交通燈控制系統(tǒng)倒計(jì)時(shí)顯示緊急中斷_第1頁(yè)
8255交通燈控制系統(tǒng)倒計(jì)時(shí)顯示緊急中斷_第2頁(yè)
8255交通燈控制系統(tǒng)倒計(jì)時(shí)顯示緊急中斷_第3頁(yè)
8255交通燈控制系統(tǒng)倒計(jì)時(shí)顯示緊急中斷_第4頁(yè)
8255交通燈控制系統(tǒng)倒計(jì)時(shí)顯示緊急中斷_第5頁(yè)
已閱讀5頁(yè),還剩8頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、單片機(jī)原理與應(yīng)用課程設(shè)計(jì)報(bào)告題 目: 簡(jiǎn)單交通燈控制系統(tǒng) 專 業(yè): 計(jì)算機(jī)科學(xué)與技術(shù) 班 級(jí): 09計(jì)算機(jī)1班 學(xué) 號(hào): 09070009 姓 名: 陳民廳 天津理工大學(xué)中環(huán)信息學(xué)院計(jì)算機(jī)工程系2011年12月29 日交通燈控制系統(tǒng)設(shè)計(jì)摘 要設(shè)計(jì)一個(gè)交通燈控制系統(tǒng),該控制系統(tǒng)工作后,交通燈按照下列規(guī)律變化:初始態(tài)東南西北均為紅燈,持續(xù)時(shí)間為2s;然后轉(zhuǎn)為狀態(tài)1(10s),為東西紅、南北綠;狀態(tài)2(3s)東西紅燈不變、南北綠燈滅、黃燈閃爍三次;狀態(tài)3(15s),為東西綠、南北紅;狀態(tài)4(3s),為東西綠燈滅、黃燈閃爍三次、南北紅燈不變;最后回到狀態(tài)1,依此循環(huán)。如遇到特殊情況,可撥動(dòng)應(yīng)急開(kāi)關(guān),使

2、各向均為紅燈,特殊車輛不受紅燈限制,待其順利通過(guò)后撥動(dòng)另一個(gè)開(kāi)關(guān),系統(tǒng)返回繼續(xù)運(yùn)行。同時(shí)用LED用倒計(jì)時(shí)方式顯示各路口亮燈時(shí)間。關(guān)鍵詞: 單片機(jī),交通燈,應(yīng)急開(kāi)關(guān),LED1緒論1.1設(shè)計(jì)背景紅綠交通燈自動(dòng)控制系統(tǒng)在城市十字(或丁字)路口有著廣泛的應(yīng)用。隨著社會(huì)的進(jìn)步,人們生活水平的提高,私家車數(shù)量會(huì)不斷增加,對(duì)城市交通帶來(lái)前所為有的壓力。道路建設(shè)也將隨之發(fā)展,錯(cuò)綜復(fù)雜的道路將不段增多。為維持穩(wěn)定的交通秩序,紅綠燈自動(dòng)控制系統(tǒng)將得到更為廣泛的應(yīng)用。現(xiàn)在實(shí)際應(yīng)用的紅綠燈系統(tǒng)中一般沒(méi)有倒計(jì)時(shí)功能,使司機(jī)和行人不知道指示燈還有多久將會(huì)改變現(xiàn)有狀態(tài)。本設(shè)計(jì)應(yīng)用基本數(shù)字電路知識(shí),采用LED燈作紅、綠、黃三

3、交通燈,用七段數(shù)碼管作同步倒計(jì)時(shí)顯示。實(shí)現(xiàn)兩方向通行時(shí)間不相等的控制并配有倒計(jì)時(shí)。1.2設(shè)計(jì)目的熟悉單片機(jī)控制系統(tǒng),并了解系統(tǒng)設(shè)計(jì)的一般規(guī)律。掌握8255芯片的結(jié)構(gòu)及編程方法。熟悉模擬交通燈控制的實(shí)現(xiàn)方法。1.3設(shè)計(jì)任務(wù)及要求設(shè)計(jì)一個(gè)交通燈控制系統(tǒng),該控制系統(tǒng)工作后,交通燈按照下列規(guī)律變化:初始態(tài)東南西北均為紅燈,持續(xù)時(shí)間為2s;然后轉(zhuǎn)為狀態(tài)1(10s),為東西紅、南北綠;狀態(tài)2(3s)東西紅燈不變、南北綠燈滅、黃燈閃爍三次;狀態(tài)3(15s),為東西綠、南北紅;狀態(tài)4(3s),為東西綠燈滅、黃燈閃爍三次、南北紅燈不變;最后回到狀態(tài)1,依此循環(huán)。如遇到特殊情況,可撥動(dòng)應(yīng)急開(kāi)關(guān),使各向均為紅燈,特

4、殊車輛不受紅燈限制,待其順利通過(guò)后撥動(dòng)另一個(gè)開(kāi)關(guān),系統(tǒng)返回繼續(xù)運(yùn)行。同時(shí)用LED用倒計(jì)時(shí)方式顯示各路口亮燈時(shí)間。2 設(shè)計(jì)使用的儀器和設(shè)備2.1 達(dá)愛(ài)思教儀 本實(shí)驗(yàn)采用達(dá)愛(ài)思教儀型號(hào)是Dais-PG206FD2.2八段數(shù)碼管數(shù)碼管按段數(shù)分為七段數(shù)碼管和八段數(shù)碼管,八段數(shù)碼管比七段數(shù)碼管多一個(gè)發(fā)光二極管單元(多一個(gè)小數(shù)點(diǎn)顯示);按能顯示多少個(gè)“8”可分為1位、2位、4位等等數(shù)碼管, 2.3 8255芯片 8255是Intel公司生產(chǎn)的可編程并行I/O接口芯片,有3個(gè)8位并行I/O口。具有3個(gè)通道3種工作方式的可編程并行接口芯片(8255引腳如圖1,8255編程模式如圖2)。其各口功能可由軟件選擇,

5、使用靈活,通用性強(qiáng)。8255可作為單片機(jī)與多種外設(shè)連接時(shí)的中間接口電路。8255作為主機(jī)與外設(shè)的連接芯片,必須提供與主機(jī)相連的3個(gè)總線接口,即數(shù)據(jù)線、地址線、控制線接口。同時(shí)必須具有與外設(shè)連接的接口A、B、C口。由于8255可編程,所以必須具有邏輯控制部分,因而8255內(nèi)部結(jié)構(gòu)分為3個(gè)部分:與CPU連接部分、與外設(shè)連接部 分、控制部分。圖1 8255引腳圖2 8255編程模式3系統(tǒng)硬件設(shè)計(jì)方案3.1系統(tǒng)硬件方案框圖交通燈系統(tǒng)硬件方案框圖如圖(3)鍵盤(pán)控制模塊8255單片機(jī)交通燈控制系統(tǒng)八段管倒計(jì)時(shí)模塊八段管信息演示模塊接口電路交通燈演示模塊緊急中斷模塊圖3交通燈系統(tǒng)硬件方案框圖3.2電路原理圖

6、電路原理圖是借鑒外部中斷實(shí)驗(yàn)(急救車與交通燈)修改的如圖4,增加P2.1連接K1和P2.2連接K2。如遇到特殊情況,可撥動(dòng)應(yīng)急開(kāi)關(guān)K1,使各向均為紅燈,特殊車輛不受紅燈限制,待其順利通過(guò)后撥動(dòng)另一個(gè)開(kāi)關(guān)K2,系統(tǒng)返回繼續(xù)運(yùn)行。圖 4 交通燈與急救車3.3相關(guān)知識(shí)及原理介紹8255是Intel公司生產(chǎn)的可編程并行I/O接口芯片,有3個(gè)8位并行I/O口。具有3個(gè)通道3種工作方式的可編程并行接口芯片(40引腳)。 其各口功能可由軟件選擇,使用靈活,通用性強(qiáng)。8255可作為單片機(jī)與多種外設(shè)連接時(shí)的中間接口電路。8255特性:(1)一個(gè)并行輸入/輸出的LSI芯片,多功能的I/O器件,可作為CPU總線與外

7、圍的接口.(2)具有24個(gè)可編程設(shè)置的I/O口,即3組8位的I/O口為PA口,PB口和PC口.它們又可分為兩組12位的I/O口,A組包括A口及C口(高4位,PC4PC7),B組包括B口及C口(低4位,PC0PC3).A組可設(shè)置為基本的I/O口,閃控(STROBE)的I/O閃控式,雙向I/O3種模式;B組只能設(shè)置為基本I/O或閃控式I/O兩種模式,而這些操作模式完全由控制寄存器的控制字決定.交通燈控制系統(tǒng),該控制系統(tǒng)工作后,交通燈按照下列規(guī)律變化:初始態(tài)東南西北均為紅燈,持續(xù)時(shí)間為2s;然后轉(zhuǎn)為狀態(tài)1(10s),為東西紅、南北綠;狀態(tài)2(3s)東西紅燈不變、南北綠燈滅、黃燈閃爍三次;狀態(tài)3(15

8、s),為東西綠、南北紅;狀態(tài)4(3s),為東西綠燈滅、黃燈閃爍三次、南北紅燈不變;最后回到狀態(tài)1,依此循環(huán)。如遇到特殊情況,可撥動(dòng)應(yīng)急開(kāi)關(guān),使各向均為紅燈,特殊車輛不受紅燈限制,待其順利通過(guò)后撥動(dòng)另一個(gè)開(kāi)關(guān),系統(tǒng)返回繼續(xù)運(yùn)行。同時(shí)用LED用倒計(jì)時(shí)方式顯示各路口亮燈時(shí)間。4系統(tǒng)軟件設(shè)計(jì)方案4.1工具介紹匯編語(yǔ)言是一種功能很強(qiáng)的程序設(shè)計(jì)語(yǔ)言,也是利用計(jì)算機(jī)所有硬件特性并能直接控制硬件的語(yǔ)言。匯編語(yǔ)言,作為一門(mén)語(yǔ)言,對(duì)應(yīng)于高級(jí)語(yǔ)言的編譯器,需要一個(gè)“匯編器”來(lái)把匯編語(yǔ)言原文件匯編成機(jī)器可執(zhí)行的代碼。高級(jí)的匯編器如MASM,TASM等等為我們寫(xiě)匯編程序提供了很多類似于高級(jí)語(yǔ)言的特征,比如結(jié)構(gòu)化、抽象等

9、。在這樣的環(huán)境中編寫(xiě)的匯編程序,有很大一部分是面向匯編器的偽指令,已經(jīng)類同于高級(jí)語(yǔ)言?,F(xiàn)在的匯編環(huán)境已經(jīng)如此高級(jí),即使全部用匯編語(yǔ)言來(lái)編寫(xiě)windows的應(yīng)用程序也是可行的,但這不是匯編語(yǔ)言的長(zhǎng)處。匯編語(yǔ)言的長(zhǎng)處在于編寫(xiě)高效且需要對(duì)機(jī)器硬件精確控制的程序。大多數(shù)情況下Linux程序員不需要使用匯編語(yǔ)言,因?yàn)榧幢闶怯布?qū)動(dòng)這樣的底層程序在Linux操作系統(tǒng)中也可以完全用C語(yǔ)言來(lái)實(shí)現(xiàn),再加上GCC這一優(yōu)秀的編譯器目前已經(jīng)能夠?qū)ψ罱K生成的代碼進(jìn)行很好的優(yōu)化,的確有足夠的理由讓我們可以暫時(shí)將匯編語(yǔ)言拋在一邊了。但實(shí)際情況是Linux程序員有時(shí)還是需要使用匯編,或者不得不使用匯編,理由很簡(jiǎn)單:精簡(jiǎn)、高效

10、和libc無(wú)關(guān)性。假設(shè)要移植Linux到某一特定的嵌入式硬件環(huán)境下,首先必然面臨如何減少系統(tǒng)大小、提高執(zhí)行效率等問(wèn)題,此時(shí)或許只有匯編語(yǔ)言能幫上忙了。 匯編語(yǔ)言源程序的設(shè)計(jì)步驟:(1) 擬制設(shè)計(jì)任務(wù)書(shū)(2) 建立數(shù)學(xué)模型(3) 確立算法(4) 繪制程序流程圖(5) 編制匯編語(yǔ)言源程序(6) 上機(jī)調(diào)試單片機(jī)是一種集成在電路芯片,是采用超大規(guī)模集成電路技術(shù)把具有數(shù)據(jù)處理能力的中央處理器CPU隨機(jī)存儲(chǔ)器RAM、只讀存儲(chǔ)器ROM、多種I/O口和中斷系統(tǒng)、定時(shí)器/計(jì)時(shí)器等功能(可能還包括顯示驅(qū)動(dòng)電路、脈寬調(diào)制電路、模擬多路轉(zhuǎn)換器、A/D轉(zhuǎn)換器等電路)集成到一塊硅片上構(gòu)成的一個(gè)小而完善的計(jì)算機(jī)系統(tǒng)。單片機(jī)

11、如圖(5)圖5單片機(jī)4.2程序流程圖交通燈控制系統(tǒng)流程框圖如圖6,如遇到特殊情況外部中斷子程序框圖如圖7開(kāi)始開(kāi)外中斷狀態(tài)3(15s),為東西綠、南北紅狀態(tài)1(10s),為東西紅、南北綠狀態(tài)2(3s)東西紅燈不變、南北綠燈滅、黃燈閃爍三次初始狀態(tài)東西南北都是紅燈(2s)狀態(tài)4(3s),為東西綠燈滅、黃燈閃爍三次、南北紅燈不變外部中斷入口保護(hù)現(xiàn)場(chǎng)東西,南北都亮紅燈特殊車輛通過(guò),撥動(dòng)開(kāi)關(guān)恢復(fù)現(xiàn)場(chǎng)中斷返回圖6主程序流程框圖 圖7 外部中斷子程序框圖4.3程序源代碼及注釋CS8255 EQU 0FFFFh ;8255命令控制口OUTSEG EQU 0FFFCh ;字形控制口OUTBIT EQU 0FFF

12、Dh ;字位/鍵掃控制口SECOND EQU 30HNUM EQU 31HTIME EQU 32HTIME1 EQU 33H ORG 0000H ;主程序的入口地址 LJMP MAIN ;跳轉(zhuǎn)到主程序的開(kāi)始處 ORG 0003H ;外部中斷0的中斷程序入口地址 LJMP INT ORG 000BH ;定時(shí)器0的中斷程序入口地址 LJMP T0_INT ;跳轉(zhuǎn)到中斷服務(wù)程序處MAIN : MOV SP,#50H MOV TCON,#01h ;下降沿, IT0 MOV IE,#8FH ;CPU開(kāi)中斷,允許T0中斷,T1中斷和外部中斷1中斷 MOV TMOD,#51H ;設(shè)置T1為計(jì)數(shù)方式,T0為定

13、時(shí)方式,且都工作于模式1 MOV DPTR ,#CS8255 MOV A, #80H ;給8255賦初值,8255工作于方式0 MOVX DPTR, A MOV R3,#5 LCALL DISP LCALL DELAY;-Na: SETB TR0 ;啟動(dòng)T0計(jì)時(shí)器Na0: MOV R3,#02h ;東西方向禁止,南北方向通行 MOV P1,#0DBH ;置8255A口,東西南北方向紅燈亮Na2: CJNE R3,#00H,Na2 ;比較SECOND中的值是否為0,不為0轉(zhuǎn)到當(dāng)前指令處執(zhí)行;-N00: MOV R3,#0ah ;東西方向禁止,南北方向通行 10s MOV P1,#0ddH ;置8

14、255A口,東西方向紅燈亮,南北方向綠燈亮N02: CJNE R3,#00H,N02 ;比較SECOND中的值是否為0,不為0轉(zhuǎn)到當(dāng)前指令處執(zhí)行;-黃燈閃爍3秒程序- MOV R3,#3N1: MOV P1,#0DEH ;置P1口,東西,南北方向黃燈亮N11: MOV R4,#00HN12: CJNE R4,#7DH,$ ;黃燈持續(xù)亮0.5秒N13: MOV P1,#0DFH ; 置P1口,南北方向黃燈滅N14: MOV R4,#00H CJNE R4,#7DH,$ ;黃燈持續(xù)滅0.5秒 CJNE R3,#00H,N1 ;閃爍時(shí)間達(dá)3秒則退出;-N2: MOV R7,#00H MOV R3,#

15、0fh ;東西通行,南北禁止 15s MOV P1,#0EBH ; 置P1口,東西方向綠燈滅,南北方向紅燈亮N22: CJNE R3,#00H,N22;-黃燈閃爍3秒程序- MOV R3,#03HN3: MOV P1,#0F3H ;置P1口,東西,南北方向黃燈亮N31: MOV R4,#00H CJNE R4,#7DH,$ ;黃燈持續(xù)亮0.5秒N32: MOV P1,#0FBH ; 置P1口,南北方向黃燈滅N33: MOV R4,#00H CJNE R4,#7DH,$ ;黃燈持續(xù)滅0.5秒 CJNE R3,#00H,N3 ;閃爍時(shí)間達(dá)3秒則退出;-N41: MOV R7,#00H MOV R3

16、,#03h ;東西通行,南北禁止 3s MOV P1,#0bBH ; 置P1口,東西方向綠燈滅,南北方向紅燈亮N42: CJNE R3,#00H,N42 SJMP N00;-1秒延時(shí)子程序-T0_INT:MOV TL0,#9AH ;給定時(shí)器T0送定時(shí)10ms的初值 MOV TH0,#0F1H INC R4 INC R5 CJNE R5,#0FAH,T01 ;判斷延時(shí)是否夠一秒,不夠則調(diào)用顯示子程序 MOV R5,#00H ;R5清零 DEC R3 ;倒計(jì)時(shí)初值減一T01: ACALL DISP ;調(diào)用顯示子程序 RETI ;中斷返回INT: PUSH PSW MOV TIME1,R3 MOV

17、NUM,P1 MOV P1,#1BHI1: ;CALL DELAY1 JB P3.1,I1 MOV R3,TIME1 MOV P1,NUM POP PSW RETI;-顯示子程序-DISP:MOV B,#0AH MOV A,R3 ;SECOND中值二轉(zhuǎn)十顯示轉(zhuǎn)換 DIV AB MOV R0,A MOV R2,#00000010b;Loop: MOV DPTR,#OUTBIT CLR A MOVX DPTR,A ;關(guān)所有八段管MOV DPTR,# LEDMAP MOV A,R0 MOVC A,A+DPTR MOV DPTR,#OUTSEG MOVX DPTR,A MOV DPTR,#OUTBIT

18、 MOV A,R2 MOVX DPTR,A ;顯示一位八段管MOVR6,#01 CALL DELAY MOV A,R2 ;顯示下一位 RR A MOV R2,AMOV DPTR,# LEDMAPMOV A,B MOVC A,A+DPTR MOV DPTR,#OUTSEG MOVX DPTR,A MOV DPTR,#OUTBIT MOV A,R2 MOVX DPTR,A ;顯示一位八段管MOVR6,#01 CALL DELAY MOV DPTR,#OUTBIT CLR A MOVX DPTR,A ;關(guān)所有八段管 RET ;-延時(shí)4MS子程序-DELAY: MOV R1,#0AHLP: MOV R

19、7,#64H NOPLP1: DJNZ R7,LP1 DJNZ R1,LP RETDELAY1:MOV TIME,#0FHLP4: MOV R1,#0FFHLP2: MOV R7,#0FFH NOPLP3: DJNZ R7,LP3 DJNZ R1,LP2 DJNZ TIME,LP4 RETLEDMAP: ;八段管顯示碼 DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H DB 080H,090H,088H,083H,0C6H,0A1H,086H,08EH END5硬件、軟件調(diào)試步驟5.1安裝注意事項(xiàng)首先觀察原理圖,根據(jù)電氣要求進(jìn)行合理的整體布局,最大限度的減少叉線和飛線,降低干擾。自己要形成一個(gè)大致的布局和接線方法,而且要盡量美觀。步驟如下:(1) 用萬(wàn)用表檢查萬(wàn)能板的內(nèi)部結(jié)構(gòu),確定其內(nèi)部的電氣連接屬性。(2) 安裝前先檢查元器件的質(zhì)量,安裝時(shí)注意、集成芯片的引腳和極性。5.2調(diào)試(1) 不通電檢查電路安裝完畢后,不要急于通電,應(yīng)首先認(rèn)真檢查接線是否正確, 包括多線、少線、錯(cuò)線等,尤其是電源線不能接錯(cuò)或接反,以免通電后燒壞電路或元器件。(2) 直觀檢查連線檢查完畢后,直觀檢查電源,元器件接線端之間有無(wú)短路,連線 處有無(wú)接觸不良。(3)運(yùn)行軟件觀察交通燈運(yùn)行情況,出現(xiàn)問(wèn)題對(duì)軟件程序進(jìn)行修改。5.3調(diào)試注意事項(xiàng)(1) 測(cè)試之前要熟悉各種

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論