交通燈控制系統(tǒng)的設(shè)計2011_第1頁
交通燈控制系統(tǒng)的設(shè)計2011_第2頁
交通燈控制系統(tǒng)的設(shè)計2011_第3頁
交通燈控制系統(tǒng)的設(shè)計2011_第4頁
交通燈控制系統(tǒng)的設(shè)計2011_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1、交通燈控制系統(tǒng)的設(shè)計參考要求:利用8253定時,8259中斷及8255輸出實現(xiàn)十字路口交通燈模擬控制;實現(xiàn)利用LED數(shù)碼管顯示倒計時時間;設(shè)計電 路并在實驗箱上連接線路同時編程實現(xiàn)其功能。8259的工作原理:一、數(shù)據(jù)總線緩沖器8259A與系統(tǒng)數(shù)據(jù)總線的接口,是8位雙向三態(tài)緩沖器。CPU與8259A之間的控制命令信息、狀 態(tài)信息以及中斷類型信息,都是通過緩沖器傳送的。二、讀/寫控制邏輯:CPU通過它實現(xiàn)對8259A的讀/寫操作。三、級連緩沖器:用以實現(xiàn)8259A芯片之間的級連,使得中斷源可以由8級擴展至64級。四、控制邏輯電路:對整個芯片內(nèi)部各部件的工作進行協(xié)調(diào)和控制。五、中斷請求寄存器IR

2、R:8位,用以分別保存8個中斷請求信號,當響應(yīng)的中斷請求輸入引腳有中斷請求時,該寄存 器的相應(yīng)位置1。六、中斷屏蔽寄存器IMR:8位,相應(yīng)位用以對8個中斷源的中斷請求信號進行屏蔽控制。當其中某位置們“時,則相 應(yīng)的中斷請求可以向CPU提出;否則,相應(yīng)的中斷請求被屏蔽,即不允許向CPU提出中斷請求。該寄存器的內(nèi)容為 8259A的操作命令字OCW1,可以由程序設(shè)置或改變。七、中斷服務(wù)寄存器ISR:8位,當CPU正在處理某個中斷源的中斷請求時,ISR寄存器中的相應(yīng)位置1。八、用以比較正在處理的中斷和剛剛進入的中斷請求之間的優(yōu)先級別,以決定是否產(chǎn)生多重中斷或中斷嵌套。8255A的工作原理:一、8255

3、A的內(nèi)部結(jié)構(gòu):1、數(shù)據(jù)總線緩沖器:這是一個雙向三態(tài)的8位數(shù)據(jù)緩沖器,它是8255A與微機系統(tǒng)數(shù)據(jù)總線的接口。輸入輸出的數(shù)據(jù)、 CPU輸出的控制字以及CPU輸入的狀態(tài)信息都是通過這個緩沖器傳送的。2、三個端口 A,B和C:A端口包含一個8位數(shù)據(jù)輸出鎖存器和緩沖器,一個8位數(shù)據(jù)輸入鎖存器。B端口包含一個8 位數(shù)據(jù)輸入/輸出鎖存器和緩沖器,一個8位數(shù)據(jù)輸入緩沖器。C端口包含一個8位數(shù)據(jù)輸出鎖存器和緩沖器,一個8 位數(shù)據(jù)輸入緩沖器(輸入沒有鎖存器)。3、A組和B組控制電路:這是兩組根據(jù)CPU輸出的控制字控制8255工作方式的電路,它們對于CPU而言,共用一個 端口地址相同的控制字寄存器,接收CPU輸出

4、的一字節(jié)方式控制字或?qū) 口按位復(fù)位字命令。方式控制字的高5位決 定A組的工作方式,低3位決定B組的工作方式。對C 口按位復(fù)位命令字可對C 口的每一位實現(xiàn)置位或復(fù)位。A組控 制電路控制A 口和C 口上半部,B組控制電路控制B 口和C 口下半部。4、讀寫控制邏輯:用來控制把CPU輸出的控制字或數(shù)據(jù)送至相應(yīng)端口,也由它來控制把狀態(tài)信息或輸入數(shù)據(jù)通過相應(yīng) 的端口送到CPU。二、8255A的工作方式:方式0-基本輸入輸出方式;方式1-選通輸入輸出方式;方式2-雙向選通輸入輸出方式。8253的工作原理:8253是可編程的計數(shù)器/定時器,其內(nèi)部有三個獨立的16位計數(shù)器/定時器通道,每個計數(shù)器通道均可按6種

5、不同的方式 工作,并且都可以按二進制或十進制計數(shù)。其CLK0CLK2是計數(shù)器02的時鐘脈沖輸入端,GATE0-GATE2是門控 脈沖輸入端,OUT0OUT2是輸出端。3、總體設(shè)計和方案論證:3.1交通信號燈實時控制和管理的總體設(shè)計芯片選擇及端口選擇用實驗系統(tǒng)8255A實現(xiàn)對信號燈的控制(所用端口自定);2位數(shù)碼顯示用8255A實現(xiàn)控制。用實驗系統(tǒng)8235的計數(shù)器0定時向?qū)嶒炏到y(tǒng)主片8259A的IRQ7請求中斷,以實現(xiàn)要求的20秒、5秒鐘的定時。實驗系統(tǒng)8253的計數(shù)器0的CLK2接OPCLK,頻率為1.19318MHZ; GATE0已接+5V;定時采用軟硬件相結(jié)合的方式實現(xiàn)。用實驗系統(tǒng)的發(fā)光二

6、極管模擬紅綠燈。注:8259A的端口地址為:218H、219H8255A 的端口地址為:端口 A-200H、端口 B-201H、端口 C-202H、控制端口-203H8253的端口地址為:計數(shù)器0-208H、計數(shù)器1-209H、計數(shù)器0-20AH、控制寄存器0-20BH。本設(shè)計硬件由定時模塊、發(fā)光二極管模塊、數(shù)碼管顯示模塊和緊急中斷模塊組成。定時模塊采用硬件定時和軟件定時 相結(jié)合的方法,用8253定時/計數(shù)器定時1s,再用軟件計時實現(xiàn)所需的定時。發(fā)光二極管模塊由8255控制發(fā)光二極管 來實現(xiàn)。數(shù)碼管顯示模塊由實驗平臺上的LED顯示模塊實現(xiàn)。緊急中斷模塊是由單脈沖發(fā)生單元和8259中斷控制器 組

7、成。程序主要是由定時子程序、發(fā)光二極管顯示子程序、數(shù)碼管顯示子程序和中斷服務(wù)程序組成。包括對8253、8255 以及8259等可編程器件的編程。3.2方案論證:軟件延時,設(shè)計簡單,使用方便,本次設(shè)計采用了,定時器0進行計時,每1s產(chǎn)生一次中斷,可以準確的計時并方便 8段數(shù)碼管進行顯示。在本設(shè)計中程序每1秒請求一次中斷,實現(xiàn)精確定時與數(shù)碼管顯示刷新。4、硬件設(shè)計:本課題的設(shè)計可通過實驗平臺上的一些功能模塊電路組成,由于各模塊電路內(nèi)部已經(jīng)連接,用戶在使用時只要設(shè)計模 塊間電路的連接,因此,硬件電路的設(shè)計及實現(xiàn)相對簡單。完整系統(tǒng)的硬件連接如圖所示。硬件電路由定時模塊、發(fā) 光二極管模塊、數(shù)碼管顯示模塊

8、和緊急中斷模塊組成。圖2時模塊是由8253的計數(shù)器0來實現(xiàn)定時1s。由8255輸出來控制計數(shù)器的起停。OUT0接8259的IRQ7,定時完成申 請中斷,進入中斷服務(wù)程序。發(fā)光二極管顯示模塊由8255輸出來控制發(fā)光二極管的亮滅。8255輸出為低電平時,對應(yīng)的發(fā)光二極管就點亮,否則就熄滅。交通燈的對應(yīng)關(guān)系如下:(1,3代表東,西;2, 4代表南、北)L7L6L5L2L1L013紅燈13黃燈13綠燈24紅燈24黃燈24綠燈實驗平臺上提供一組六個LED數(shù)碼管。本設(shè)計用2個數(shù)碼管來倒計時。中斷模塊是由單脈沖發(fā)生單元和8259中斷控制器,單脈沖發(fā)生單元主要用來請求中斷,然后做出情況處理。5、軟件設(shè)計思路:

9、設(shè)計數(shù)器0的計數(shù)初值為3000,由于CLK0接脈沖信號,頻率為1.288MHZ,所以每1s中斷一次。利用TIME對不同 的狀態(tài)時間計數(shù),用來實現(xiàn)計數(shù)器0對20秒鐘,5秒鐘的定時。中斷子程序分為數(shù)碼顯示刷新部分和紅綠黃燈各種狀 態(tài)切換部分。每進入中斷即刷新LED顯示。交通燈按正常狀態(tài)切換工作,8253開始計數(shù)后每1s發(fā)出一個中斷申請信號,在中斷子程序中先刷新數(shù)碼管,然后判斷圖4、定時中斷服務(wù)子程序定時中斷子程序是本設(shè)計的重點,負責(zé)完成數(shù)碼管輸出數(shù)據(jù)刷新和各個狀態(tài)的處理切換。中斷子程序包括數(shù)碼管輸出 數(shù)據(jù)刷新程序和各狀態(tài)處理程序。數(shù)碼管輸出數(shù)據(jù)刷新子程序是實現(xiàn)倒計時20s,用LED OUT表示輸出

10、的數(shù)據(jù),TIME 用來軟件計時1s,就是計數(shù)10個100ms。LED輸出是要將輸出的數(shù)據(jù)轉(zhuǎn)化為段選碼。根據(jù)當前的狀態(tài)跳轉(zhuǎn)到相應(yīng)的處 理程序,在處理程序中完成定時和狀態(tài)的切換。狀態(tài)0、1、2、3、4、5的流程是一樣的,先點亮對應(yīng)的交通燈,再判 斷定時到了就可以切換了。狀態(tài)0用于實現(xiàn)東西紅、南北綠;狀態(tài)1用來實現(xiàn)東西黃、南北綠;狀態(tài)2用于實現(xiàn)東西 綠、南北黃;狀態(tài)3用于實現(xiàn)東西綠、南北紅;狀態(tài)4用于實現(xiàn)東西黃、南北紅;狀態(tài)5用于實現(xiàn)東西紅、南北黃, 間隔點亮和熄滅就可以了。狀態(tài)0處理程序的流程圖如圖所示。圖5狀態(tài)0處理程序6、源程序清單:1.本次設(shè)計中,選用8235的計數(shù)器0定時向?qū)嶒炏到y(tǒng)主片82

11、59A的IRQ7請求中斷。設(shè)置8253的計數(shù)器0每1s請求 一次中斷,工作于模式3; 8255初始化程序:的A端口控制交通燈;數(shù)碼管驅(qū)動程序采用指導(dǎo)老師提供的程序。SEGMENTSUME CS:CODE中砌瞟LED DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H;存放七段代碼表DB 7FH,6FHTIME DB 19D2 EQU 200H; 8255A 端口 AEA EQU 200H; 8255 端 口地址EE EQU 203HCONTROL EQU 20BH ; 8253 端 口地址COUNT0 EQU 208HCOUNT1 EQU 209HCOUNT2 EQU 20A

12、HDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,0MOV DS,AXMOV AX,OFFSET IRQ7 ;填中斷矢量表ADD AX,2000HMOV SI,0FH*4MOV SI,AXMOV AX,0MOV SI+2,AXCLIMOV BX,0109H;BH表示要顯示數(shù)的十位,BL表示要顯示數(shù)的個位MOV CX,0MOV DX,0000HDATA SEGMENTMOV AL,80H;初始化8255MOV AL,03H;選通用來顯示個位的數(shù)碼顯示管OUT EE,ALOUT EE,ALMOV AL,00;對PC0 口置0MOV A

13、L,BX+SI;把十進制數(shù)所表示的個位數(shù)轉(zhuǎn)換OUT EE,AL成對應(yīng)的段碼MOV AL,02;對PC1 口置0OUT 201H,ALOUT EE,ALMOV AL,DHMOV DX,218H;8259初始化MOV SI,AXMOV AL,00010010bMOV AL,01H;選通用來顯示十位的數(shù)碼顯示管OUT DX,ALOUT EE,ALMOV AL,0FHMOV AL,02HMOV DX,219HOUT EE,ALOUT DX,ALMOV AH,BX+SI;把十進制數(shù)所表示的十位數(shù)轉(zhuǎn)換MOV DX,200H ;交通燈初始狀態(tài)為全黃成對應(yīng)的段碼MOV AL,0BBHOUT 201H,AHOU

14、T DX,ALPOP SIMOV AL,00110110b ;初始化8253POP BXOUT CONTROL,ALPOP AXNEXT:CMP BL,00H;比較個位數(shù)是否為0MOV AX,3000;定時1秒JNZ L1MOV DX,COUNT0CMP BH,00H;比較十位數(shù)是否為0OUT DX,ALJZ COMPAREMOV AL,AHMOV BX,0009H:十位為0,各為變?yōu)?OUT COUNT0 ,ALJMP COMPAREJMP NEXTL1:DEC BXMOV AX,DATA;置DS用數(shù)據(jù)段首址COMPARE:MOV DS,AXCMP DL,0JZ STATE0中斷服務(wù)程序:C

15、MP DL 1A1: STIJZ STATE1HLTCMP DL,2JMP A1JZ STATE2IRQ7:CMP DL,3數(shù)碼管顯示程序JZ STATE3CMP CX,99CMP DL,4JZ DISPJZ STATE4INC CXCMP DL 5IRETJZ STATE5DISP:STATE0:MOV CX,0MOV AL,7DH;東西紅,南北綠PUSH AXOUT D2,ALPUSH BXJMPCHANG1PUSH SISTATE1:MOV DX,BXMOV AL,BDH;東西黃,南北綠MOV BX OFFSET LEDOUT D2,ALADD BX,2000HJMP CHANGE1MO

16、V AH,00STATE2:MOV AL,DLMOV AL,DBH;東西綠,南北黃MOV SI,AXOUT D2,ALMOV AL,00HJMP CHANGE1OUT EE,ALSTATE3:MOV AL,D7H;東西綠,南北紅JZ M0OUT D2 ,ALM0:JMP CHANGE1MOV BX,O109HSTATE4:MOV TIME,19MOV AL,B7H;東西黃,南北紅JMP EXITOUT D2,ALM1:JMP CHANGE1MOV BX,0004HSTATE5:MOV TIME,4MOV AL,7BH;東西紅,南北黃JMP EXITOUT D2,ALM2:CHANGE1:MOV

17、 BX,0004HCMP TIME,0MOV TIME,4JZ A2JMP EXITDEC TIMEM3:JMP EXITMOV BX,O109HA2:MOV TIME,19INC DXJMP EXITCMP DL,6M4:JNZ A3MOV BX,0004HMOV DL,0MOV TIME,4A3:JMP EXITCMP DL,5M5:JZ M5MOV BX,0004HCMP DL,4MOV TIME,4JZ M4JMP EXITCMP DL,3EXIT:JZ M3MOV AL,20HCMP DL,2OUT 218H,ALJZ M2IRETCMP DL,1CODE ENDSJZ M1CMP DL,07、程序運行結(jié)果:1.東西方向的紅燈和南北方向的綠燈同時點亮20秒鐘;END START2. 20秒鐘后,東西方向的黃燈閃爍5秒鐘。此時南北方向持續(xù)綠燈。3.東西方向的黃燈閃爍5秒鐘后,轉(zhuǎn)為東西方向的綠燈和南北方向的黃燈點亮5秒鐘;5秒鐘后,轉(zhuǎn)為南北方向的紅燈閃爍20秒鐘,此時東西方向仍維持綠燈。東西方向的黃燈,南北方向紅燈閃爍5秒鐘。東西方向為紅燈,南北方向為黃燈閃爍5秒鐘。7. 5秒鐘以后又轉(zhuǎn)為1,重復(fù)執(zhí)行1、模擬交通燈系統(tǒng)設(shè)計設(shè)計要求:8253定時1秒向8259A請求中斷,在中斷處理程序中:(1)對中斷處理程

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論