下面介紹8253引腳圖和內(nèi)部結(jié)構(gòu)及引腳定義等。
8253由以下幾個部分組成:
(1) 數(shù)據(jù)總線緩沖器(8位、三態(tài)、雙向);
(2) 讀/寫控制邏輯;
CS:片選信號,低電平有效;
RD:讀信號,低電平有效;
WR:寫信號,低電平有效
A1A0:端口選擇信號
(3) 三個通道( 0 ~ 2);
(4) 一個控制寄存器;
當(dāng)A1A0分別為00 01 10 11時分別選中三個通道和控制字寄存器在8088系統(tǒng)中,8088的A1A0分別與8253的A1A0相連在8086系統(tǒng)中,通常將8253的8位數(shù)據(jù)線與8086的低8位相連,即使用偶地址,所以8086的A2A1分別與8253的A1A0相連
Intel 8253是一片具有三個獨立的16位計數(shù)器通道的可編程定時器/計數(shù)器芯片。每個通道都可以編程設(shè)定6種工作方式之一種;
由于8253的讀/寫操作對系統(tǒng)時鐘沒有特殊的要求,因此它幾乎可以應(yīng)用與由任何一種微處理器組成的系統(tǒng)中,可作為可編程的方波頻率發(fā)生器、分頻器、實時時鐘、事件計數(shù)器和單脈沖發(fā)生器等。
表8-4 控制功能表
CS |
RD |
WR |
A1A0 |
功 能 |
0 |
1 |
0 |
0 0 |
寫計數(shù)器0 |
0 |
1 |
0 |
0 1 |
寫計數(shù)器1 |
0 |
1 |
0 |
1 0 |
寫計數(shù)器2 |
0 |
1 |
0 |
1 1 |
寫控制字寄存器 |
0 |
0 |
1 |
0 0 |
讀計數(shù)器0 |
0 |
0 |
1 |
0 1 |
讀計數(shù)器1 |
0 |
0 |
1 |
1 0 |
讀計數(shù)器2 |
0 |
0 |
1 |
1 1 |
無操作 |
1 |
X |
X |
X X |
禁止使用 |
0 |
1 |
1 |
X X |
無操作 |
每個通道: |
CLK |
計數(shù)脈沖或標(biāo)準(zhǔn)脈沖輸入端 | |
| |||
| |||
GATE |
允許端,當(dāng)GATE=1時允許計數(shù) |
OUT |
計數(shù)值為0時輸出一個脈沖 |
8253在 PC機中的應(yīng)用
例8.5.2: 設(shè)計一個程序,使揚聲器發(fā)出600Hz頻率的聲音,按下任意鍵聲音停止。PC機的發(fā)聲系統(tǒng)以計數(shù)器2為核心。CLK2的輸入頻率1.19MHz,改變計數(shù)器初值可以由OUT2得到不同頻率的方波輸出對于600Hz,計數(shù)初值1.19MHz/600Hz=1938,發(fā)聲系統(tǒng)受8255芯片B口的兩個輸出端線PB0、PB1的控制。PB0為1,使GATE2為1,計數(shù)器2能正常計數(shù)。PB1為1,打開輸出控制門。
CODE SEGMENT
ASSUME CS:CODE
START:IN AL, 61H //8253端口
OR AL, 03H
OUT 61H, AL
MOV AX, 1983
OUT 42H, AL
MOV AL, AH
OUT 42, AL
MOV AH, 01H
INT 21H
IN Al, 61H
AND AL, 0FCH
OUT 61H, AL
MOV AH, 4CH
INT 21H
CODE ENDS
END START
結(jié)束!