8253的基本功能和结构
, V2 \* h8 a9 S9 \$ G6 X- g+ a: W1.8253的基本功能
7 B6 B4 V+ V6 D5 f7 T" L5 S 8253的基本功能如下:
+ i. x2 c) h) Y+ j J" a2 ]9 C ①含有3个独立的16位计数器,能够进行3个16位的独立计数。
1 V- T; V2 d' }0 g
②每一个计数器具有六种工作方式;
: S2 x6 E. g$ L8 U! {/ j ③能进行二进制/十进制计数(减法计数);
( M5 l2 N3 U$ h& t ④计数频率为0~2 MHz;
) l) W$ W0 l2 c ⑤可作计数器或定时器。
1 u8 ?* g: v) ^' k 对第③点需要做些说明。8253支持二进制计数或十进制计数。二进制计数很容易理解,每来一个计数脉冲计数器的值减l。所谓十进制计数,是指BCD码计数,每个计数器可表示4位十进制数的BCD码,每来一个计数脉冲时,按照十进制数减1规律进行计数。例如,当前的计数值为1000 0lOl 0000 0000(8500),来一个计数脉冲后,变为1000 0100 1001 1001(8499)。
# B& u! j: Y4 h3 a
2.8253的引脚信号与内部结构
. b$ X6 m ^. B2 Q0 ` 8253为24脚,双列直插封装。其引脚排列与内部结构如图6.18所示。和8255A一样,其内部有一个三态数据缓冲器,以保证未选中时内部数据线和系统数据总线是“脱开”的。三个计数器在使用时是独立的。每一个计数器对外有三个引脚:CLK为计数脉冲输入,GATE为门控信号(允许/禁止计数),OUT为输出信号。每一个计数器占用一个I/O端口地址,加上控制字口,一片8253共占用4个I/O端口地址。和8255A一样,8253也设置了两个用于端口寻址的引脚A1和A0。这两个信号与片选信号、CPu读/写信号相配合,实现对8253内部端口的操作,见表6.7。
4 [: V+ Q( O6 p) W' v, `$ U
3 k5 u! O5 d8 q& K' k2 ]" H/ i
5 R5 `1 g6 N+ W$ ^8 @# j# y( t
% a& Z& S8 @1 B2 P/ O) H' G: Q! b
9 Y$ [2 R( a9 W
7 c, S0 U8 R I
1 g6 r! K# Q, V7 E
$ M! C: T% \$ I @* W
# ?2 C; I5 _' ` @
8 K" P$ ]4 G# b r% `6 x 8253引脚A1、A0和系统地址线的接法与8255A一样。当A1、A0接地址总线的Al、A0时,计数器0、计数器l、计数器2和控制字口的地址分别为基址、基址 1、基址 2和基址 3。在8086系统中,若Al、A0接地址总线的A2、Al,则计数器0、计数器1、计数器2和控制字口的地址分别为基址、基址 2、基址 4和基址 6。