交通燈控制器的設(shè)計(jì)
一、實(shí)驗(yàn)要求
通過(guò)采用并行口8255A和定時(shí)器/計(jì)數(shù)器8253編寫(xiě)一模仿交通燈程序,在微機(jī)原理實(shí)驗(yàn)儀上調(diào)試,運(yùn)行后可以看到LED燈在不停的紅綠交替亮。
二、實(shí)驗(yàn)?zāi)康模?/strong>
熟悉和掌握并行口8255A和定時(shí)器/計(jì)數(shù)器8253的初始化和綜合使用。
三、實(shí)驗(yàn)電路及連接圖:
根據(jù)實(shí)驗(yàn)要求設(shè)計(jì)實(shí)驗(yàn)原理圖,并標(biāo)明端口地址。
????????將8253和8255的A0、A1和實(shí)驗(yàn)平臺(tái)上地址總線(xiàn)的A0、A1連接上,8253的CS連接至地址端口的320H,8255的CS連接至地址端口的340H(8253的通道0、控制口地址為320H、323H;8255的A口、C口、控制口地址分別為340H、342H、343H)。將8253的OUT0連接到8255的PC0。將8255的PA0、PA1、PA4、PA5對(duì)應(yīng)連接到LED發(fā)光二極管的L3、L2、L7、L6。
????????計(jì)數(shù)次數(shù)問(wèn)題。8253每個(gè)記數(shù)通道的記數(shù)范圍為0~65536次。輸入脈沖頻率為5MHz=5×106Hz,則其周期為T(mén)=1÷5MHz = 2×10-7S。如果需要延時(shí)0.01S,則需要記數(shù)0.01÷(2×10-7)=50000次。因此,如果需要延時(shí)5秒,需要500個(gè)0.01秒,即延時(shí)子程序TIME中的循環(huán)次數(shù)為500次。
四、代碼
CODE SEGMENT
ASSUME CS: CODE
START: MOV AL, 10000001B ;8255的A口方式0,輸出,PC0-PC3輸入
MOV DX, 343H ; 將工作方式控制字送往8255的控口
OUT DX, AL
MOV AL, 01110110B ;使用8253的通道1,方式3,方波發(fā)生器
MOV DX, 323H ; 將控制字送往8253的控口
OUT DX, AL
MOV AX, 50000 ;將計(jì)數(shù)初值50000送到通道1,先低后高
MOV DX, 321H
OUT DX, AL
MOV AL, AH
OUT DX, AL
AGAIN: MOV BX, 0 ;置循環(huán)次數(shù)
MOV DX, 340H ; A口輸出紅綠燈信號(hào)
MOV AL, 11011110B ; 南北紅燈亮,東西綠燈亮
OUT DX, AL
CALL TIME ;調(diào)用延時(shí)程序,延時(shí)5s
MOV BX, 0
MOV DX, 340H ; A口輸出紅綠燈信號(hào)
MOV AL, 11101101B ;南北綠燈亮,東西紅燈亮
OUT DX, AL
CALL TIME ;調(diào)用延時(shí)程序,延時(shí)5s
JMP AGAIN
TIME PROC ;檢測(cè)一個(gè)方波計(jì)數(shù)周期(高電平-低電平)
MOV DX, 342H ;檢測(cè)PC0是否為1,直到為0結(jié)束
RE1: IN AL, DX
AND AL, 1
CMP AL, 1
JE RE1
RE2: IN AL, DX ;檢測(cè)PC0是否為0,直到為1結(jié)束
AND AL, 1
CMP AL, 0
JE RE2
INC BX ;循環(huán)次數(shù)加1
CMP BX, 500 ;循環(huán)共計(jì)500次,為5s
JL RE1
RET
TIME ENDP
CODE ENDS
END START
五、思考題
(1)如果要求綠燈熄滅之前閃爍兩次(即綠燈滅0.5秒、亮0.5秒、滅0.5秒、亮0.5秒,然后熄滅),應(yīng)該怎樣修改程序?文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-525932.html
(2)如果再添加黃燈(南北黃燈連接在PA2引腳,東西黃燈連接在PA6引腳):綠燈閃爍兩次后黃燈亮,黃燈亮2秒后紅燈亮。應(yīng)該怎樣修改程序??文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-525932.html
DATA SEGMENT
TTT DW ?
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:
MOV AL,10000001B
MOV DX,343H
OUT DX,AL
MOV AL,01110110B
MOV DX,323H
OUT DX,AL
MOV AX,50000
MOV DX,321H
OUT DX,AL
MOV AL,AH
OUT DX,AL
AGAIN:
;南北綠燈東西紅燈先一起亮5s
MOV BX,0
MOV DX,340H
MOV AL,11011110B
OUT DX,AL
MOV TTT,500
CALL TIME
;南北綠燈滅0.5s
MOV BX,0
MOV DX,340H
MOV AL,11111110B
OUT DX,AL
MOV TTT,50
CALL TIME
;綠燈亮0.5s
MOV BX,0
MOV DX,340H
MOV AL,11011110B
OUT DX,AL
MOV TTT,50
CALL TIME
;綠燈滅0.5s
MOV BX,0
MOV DX,340H
MOV AL,11111110B
OUT DX,AL
MOV TTT,50
CALL TIME
;綠燈亮0.5s
MOV BX,0
MOV DX,340H
MOV AL,11011110B
OUT DX,AL
MOV TTT,50
CALL TIME
;南北黃燈亮2s
MOV BX,0
MOV DX,340H
MOV AL,11111011B
OUT DX,AL
MOV TTT,200
CALL TIME
;東西綠燈南北紅燈先一起亮5s
MOV BX,0
MOV DX,340H
MOV AL,11101101B
OUT DX,AL
MOV TTT,500
CALL TIME
;東西綠燈滅0.5s
MOV BX,0
MOV DX,340H
MOV AL,11101111B
OUT DX,AL
MOV TTT,50
CALL TIME
;綠燈亮0.5s
MOV BX,0
MOV DX,340H
MOV AL,11101101B
OUT DX,AL
MOV TTT,50
CALL TIME
;綠燈滅0.5s
MOV BX,0
MOV DX,340H
MOV AL,11101111B
OUT DX,AL
MOV TTT,50
CALL TIME
;綠燈亮0.5s
MOV BX,0
MOV DX,340H
MOV AL,11101101B
OUT DX,AL
MOV TTT,50
CALL TIME
;東西黃燈亮2s
MOV BX,0
MOV DX,340H
MOV AL,10111111B
OUT DX,AL
MOV TTT,200
CALL TIME
JMP AGAIN
TIME PROC
MOV DX,342H
RE1:
IN AL,DX
TEST AL,00000001B
JNZ RE1
RE2:
IN AL,DX
TEST AL,00000001B
JZ RE2
INC BX
CMP BX,TTT
JL RE1
RET
TIME ENDP
CODE ENDS
END START
到了這里,關(guān)于微機(jī)原理與接口技術(shù) 8255和8253綜合應(yīng)用之交通燈控制器的設(shè)計(jì)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!