實(shí)驗(yàn)?zāi)康?br />
掌握通過 8255A 并口傳輸數(shù)據(jù)的方法,以控制發(fā)光二極管的亮與滅。
實(shí)驗(yàn)原理
利用 Proteus 仿真 8255A 控制交通燈,用 8255A 做輸出口,控制十二個(gè) LED 亮滅,模擬交通燈管理
實(shí)驗(yàn)內(nèi)容
(1)設(shè)計(jì) 8255A 連接 LED 方案。 通過 8255A 控制發(fā)光二極管,PB4-PB7 對應(yīng)黃燈,PC0-PC3 對應(yīng)紅燈,PC4-PC7 對應(yīng)綠燈, 以模擬交通路燈的管理。
(2)交通路燈的亮滅規(guī)律 設(shè)有一個(gè)十字路口 l、3 為南北方向,2、4 為東西方向,初始狀態(tài)為四個(gè)路口的紅燈全亮,之后 1、3 方向的綠燈亮,2、4 方向的紅燈亮,1、3 方向通車。延時(shí)一段時(shí)間后, l、3 方向的綠燈熄滅,而 l、3 方向的黃燈開始閃爍,閃爍8次以后,l、3 方向紅燈亮, 而同時(shí) 2、4 方向的綠燈亮,2、4 方向通車,延時(shí)一段時(shí)間后,2、4 方向的綠燈熄滅, 而黃燈開始閃爍,閃爍8次以后,四個(gè)方向紅燈齊亮,再切換到 l、3 方向通行,之后重復(fù)上述過程。
1. 硬件:微型計(jì)算機(jī)1臺
2. 軟件:MASM50、DosBox0.74。
實(shí)驗(yàn)線路的仿真和接口芯片的編碼   

實(shí)驗(yàn)結(jié)果截圖: 初始狀態(tài),全部紅燈亮 
1、3方向綠燈亮,2、4方向紅燈亮 
1、3方向黃燈閃爍 

1、3方向紅燈亮,2、4方向綠燈亮 
2、4方向黃燈閃爍 

- CODE SEGMENT ;8255A 控制交通燈程序
- ASSUME CS:CODE
- IOCONPT EQU 86H;8255 控制口
- IOAPT EQU 80H ;PA 口
- IOBPT EQU 82H;PB 口
- IOCPT EQU 84H;PC 口
- START:MOV AL,82H ;PB 輸入,PA,PC 輸出
- MOV DX,IOCONPT
- OUT DX,AL ;寫命令字
- MOV DX,IOBPT ;讀 PB 口
- IN AL,DX
- MOV BYTE PTR DS:[0601H],AL ;保存 PB 口數(shù)據(jù)
- MOV DX,IOCONPT ;8255 控制口
- MOV AL,80H
- OUT DX,AL ;寫命令字, PA,PB,PC 輸出
- MOV DX,IOBPT ;
- MOV AL,DS:[0601H]
- OR AL, 0F0H
- OUT DX,AL
- MOV DX,IOCPT
- MOV AL,0F0H
- OUT DX,AL ;四路口紅燈全亮
- CALL DELAY1 ;延時(shí)
- IOLED0: MOV AL, 10100101B
- MOV DX,IOCPT
- OUT DX,AL ;南北綠燈亮,東西紅燈亮
- CALL DELAY1 ;延時(shí)
- CALL DELAY1 ;延時(shí)
- OR AL,0F0H
- OUT DX,AL ;南北綠燈滅
- MOV CX,20H
- IOLED1: MOV DX,IOBPT
- MOV AL,DS:[0601H]
- AND AL,10100000B
- OUT DX,AL ;南北黃燈亮
- CALL DELAY2 ;延時(shí)
- OR AL,01010000B
- OUT DX,AL ;南北黃燈滅
- CALL DELAY2 ;延時(shí)
- LOOP IOLED1 ;南北黃燈閃爍 8 次
- MOV DX,IOCPT
- MOV AL,0F0H
- OUT DX,AL ;四路口紅燈全亮
- CALL DELAY2 ;延時(shí)
- MOV AL, 01011010B
- OUT DX,AL ;東西綠燈亮
- CALL DELAY1 ;延時(shí)
- CALL DELAY1
- OR AL,0F0H
- OUT DX,AL ;東西綠燈滅
- MOV CX,20H
- IOLED2: MOV DX,IOBPT
- MOV AL,DS:[0601H]
- AND AL, 01010000B
- OUT DX,AL ;東西黃燈亮
- CALL DELAY2 ;延時(shí)
- OR AL,10100000B
- OUT DX,AL ;東西黃燈滅
- CALL DELAY2 ;延時(shí)
- LOOP IOLED2 ;東西黃燈閃爍 8 次
- MOV DX,IOCPT
- MOV AL,0F0H
- OUT DX,AL ;四路口紅燈全亮
- CALL DELAY2
- JMP IOLED0 ;循環(huán)繼續(xù)
- DELAY1: PUSH AX
- PUSH CX
- MOV CX,0030H
- DELY2: CALL DELAY2
- LOOP DELY2
- POP CX
- POP AX
- RET
- DELAY2: PUSH CX
- MOV CX,1500H
- DELA1: LOOP DELA1
- POP CX
- RET
- CODE ENDS
- END START
-
復(fù)制代碼 本次實(shí)驗(yàn)熟悉了8255A芯片的硬件連接方法、內(nèi)部結(jié)構(gòu)、工作原理和工作方式,實(shí)驗(yàn)中需要注意的是交通燈的接線不能接反了,否則會(huì)出現(xiàn)錯(cuò)誤,同時(shí)也在實(shí)驗(yàn)中回顧了知識,尤其看到交通燈亮起來的時(shí)候非常的高興。
以上圖文的Word格式文檔下載(由于word原因 文件內(nèi)的圖片也比較模糊,如介意請勿下載,為防止有人照抄,仿真文件不提供):
僅供參考,大家可以學(xué)習(xí)下作者的思路,自行設(shè)計(jì),切勿照搬:
交通燈.docx
(1.35 MB, 下載次數(shù): 7)
2023-1-4 10:28 上傳
點(diǎn)擊文件名下載附件
|