6.7.1 8253的尋址及連接
1.尋址
8253占用4個(gè)接口地址,地址由A0、A1來(lái)確定。當(dāng)對(duì)8253的計(jì)數(shù)器進(jìn)行讀操作時(shí),可以讀出計(jì)數(shù)值,具體實(shí)現(xiàn)方法有如下兩種:
① 使計(jì)數(shù)器停止計(jì)數(shù)時(shí),先寫(xiě)入控制字,規(guī)定好RL1和RL0的狀態(tài)——也就是規(guī)定讀一個(gè)字節(jié)還是讀兩個(gè)字節(jié)。
② 在計(jì)數(shù)過(guò)程中讀計(jì)數(shù)值。這時(shí)讀出當(dāng)前的計(jì)數(shù)值并不影響計(jì)數(shù)器的工作。為做到這一點(diǎn),首先寫(xiě)入8253一個(gè)特定的控制字:SC1SC000××××。這是控制字的一種形式。

2.連接
為了用好8253,讀者必須能熟練地將它連接到系統(tǒng)總線(xiàn)上。圖6.35就是8253與8088系統(tǒng)總線(xiàn)連接的例子。
在圖6.35中,主要解決了8253與8088總線(xiàn)的連接。通過(guò)譯碼器,使8253占FF04H~FF07H四個(gè)接口地址。假如在連接中采用了部分地址譯碼方式,使A0不參加譯碼,則
8253的每一個(gè)計(jì)數(shù)器和控制寄存器分別占用兩個(gè)接口地址。

6.7.2 初始化及其應(yīng)用
②先寫(xiě)所有計(jì)數(shù)器的方式字,再裝入各計(jì)數(shù)器的計(jì)數(shù)值,其過(guò)程如圖6.38所示。


摘錄該段程序如下:
OUT 43H,AL ;寫(xiě)入控制寄存器
MOV AL, 54H ;計(jì)數(shù)器1,只寫(xiě)低字節(jié),方式2,二進(jìn)制計(jì)數(shù)
OUT 43H,AL ;寫(xiě)入控制寄存器
下面是對(duì)計(jì)數(shù)器2的初始化程序:
下面我們以圖6.35所示的連接圖為例,寫(xiě)出8253的初始化程序。請(qǐng)讀者分析此程序的初始化順序以及各計(jì)數(shù)器的工作方式。
SET8253: MOV DX,0FF07H
MOV AL,0A8H
OUT DX,AL
從以上的敘述中可以看到,8253在應(yīng)用上具有很高的靈活性。通過(guò)對(duì)外部輸入時(shí)鐘信號(hào)的計(jì)數(shù),可以達(dá)到計(jì)數(shù)和定時(shí)兩種應(yīng)用目的。
