8253是在單片機系統常用的定時/計數器接口芯片,他能擴展幾個定時/計數器,而不占用單片機的cpu時間,而且在pc機的應用很很廣。
下面介紹8253引腳圖和內部結構及引腳定義等。
8253由以下幾個部分組成:
(1) 數據總線緩沖器(8位、三態、雙向);
(2) 讀/寫控制邏輯;
CS:片選信號,低電平有效;
RD:讀信號,低電平有效;
WR:寫信號,低電平有效
A1A0:端口選擇信號
(3) 三個通道( 0 ~ 2);
(4) 一個控制寄存器;
8253引腳圖
當A1A0分別為00 01 10 11時分別選中三個通道和控制字寄存器在8088系統中,8088的A1A0分別與8253的A1A0相連在8086系統中,通常將8253的8位數據線與8086的低8位相連,即使用偶地址,所以8086的A2A1分別與8253的A1A0相連
Intel 8253是一片具有三個獨立的16位計數器通道的可編程定時器/計數器芯片。每個通道都可以編程設定6種工作方式之一種;
由于8253的讀/寫操作對系統時鐘沒有特殊的要求,因此它幾乎可以應用與由任何一種微處理器組成的系統中,可作為可編程的方波頻率發生器、分頻器、實時時鐘、事件計數器和單脈沖發生器等。
表8-4 控制功能表
CS | RD | WR | A1A0 | 功 能 |
0 | 1 | 0 | 0 0 | 寫計數器0 |
0 | 1 | 0 | 0 1 | 寫計數器1 |
0 | 1 | 0 | 1 0 | 寫計數器2 |
0 | 1 | 0 | 1 1 | 寫控制字寄存器 |
0 | 0 | 1 | 0 0 | 讀計數器0 |
0 | 0 | 1 | 0 1 | 讀計數器1 |
0 | 0 | 1 | 1 0 | 讀計數器2 |
0 | 0 | 1 | 1 1 | 無操作 |
1 | X | X | X X | 禁止使用 |
0 | 1 | 1 | X X | 無操作 |
計數器(0 ~ 2)即三個計數器/定時器通道。每個通道包括:8位控制字寄存器、16位計數初值寄存器、減一計數器和輸出鎖存器。作定時器用:其CLK端上的輸入脈沖應是標準的、精確的;作計數器用:對其CLK端上的脈沖計數,脈沖寬度可以不等。采用減一計數器,為0時,從OUT端上輸出一個脈沖定時時間 = 時鐘脈沖周期X預置的計數初值
每個通道: | CLK | 計數脈沖或標準脈沖輸入端 |
OUT | 計數值為0時輸出一個脈沖 | |
GATE |
允許端,當GATE=1時允許計數
|
例8.5.2: 設計一個程序,使揚聲器發出600Hz頻率的聲音,按下任意鍵聲音停止。PC機的發聲系統以計數器2為核心。CLK2的輸入頻率1.19MHz,改變計數器初值可以由OUT2得到不同頻率的方波輸出對于600Hz,計數初值1.19MHz/600Hz=1938,發聲系統受8255芯片B口的兩個輸出端線PB0、PB1的控制。PB0為1,使GATE2為1,計數器2能正常計數。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
-
芯片
+關注
關注
456文章
50936瀏覽量
424681 -
單片機
+關注
關注
6039文章
44575瀏覽量
636394 -
計數器
+關注
關注
32文章
2256瀏覽量
94701 -
定時器
+關注
關注
23文章
3251瀏覽量
115003
發布評論請先 登錄
相關推薦
評論