一、實驗目的
- 練習定時計數器8254的使用。尤其是方式2、方式3分頻器的使用。
- 練習分頻係數比較大時的處理方法。
二、實驗內容
要求:使用8254產生頻率爲1HZ的信號,驅動發光二極管亮滅閃爍。
已知:8254控制寄存器地址:283H 計數器通道0地址:280H;計數器通道1地址:281H。
分析: CLK0連接時鐘1MHZ,要使輸出信號爲1HZ,需要1000000分頻,而計數寄存器最多爲16位的值,也就是最多65536分頻,做不到106分頻這麼多。所以使用兩個計數通道來接續分頻。
首先:通道0,方式2,初值可以取1000,產生1Khz的方波信號。然後將1Khz的輸出接入通道1的CLK1端,再使用初值1000,產生分頻後的輸出就是1Hz。
硬件電路連接:
- 8254的CS--280H;
- CLK0—1MHZ; GATE0--+5V;OUT0—CLK1;
- GATE1--+5V;OUT1—L0
三、報告要求
- 寫出8253的幾個控制字及其意義。
- 介紹8253的方式2和方式3的使用原理。通過圖來表示,並加以說明。
- 寫出該實驗中分頻結果的計算步驟。
- 寫出程序並適當加註釋。
- 畫出實驗電路圖。
ASSUME CS:CODE
CODE SEGMENT
KZDK EQU 283H ;控制寄存器地址
JSQDK0 EQU 280H ;計數器通道0地址
JSQDK1 EQU 281H ;計數器通道1地址
START:
MOV DX, KZDK ;8254控制端口
MOV AL, 00110100B ;控制字
OUT DX, AL ;給8254控制端口寫入控制字
MOV DX, JSQDK0 ;計數器0地址
MOV AX, 1000 ;頻率
OUT DX, AL
MOV AL, AH
OUT DX, AL ;分兩次輸出頻率到計數器0端口
MOV DX, KZDK ;8254的控制端口
MOV AL, 01110110B ;控制字
OUT DX, AL ;給8254的控制端口寫入控制字
MOV DX, JSQDK1 ;計數器通道1地址
MOV AX, 1000
OUT DX, AL
MOV AL, AH
OUT DX, AL ;輸出頻率到計數器1端口
ENDS CODE
END START