本文主要是介绍8253的结构及其各引脚功能,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录
- 1. 数据总线缓冲器
- (1) 结构
- (2) 引脚
- 2. 读写控制逻辑
- (1) 结构
- (2) 引脚
- 3. 计数器
- (1) 结构
- (2) 引脚
- 4. 控制字寄存器
- (1) 结构
- (2) 引脚
1. 数据总线缓冲器
外设与CPU总线交换数据的通道。
(1) 结构
- 一个8位双向三态缓冲器
(2) 引脚
- D 7 ∼ D 0 D_7 \sim D_0 D7∼D0:CPU向8253写入数据的通道。直接与CPU的数据总线相连。
2. 读写控制逻辑
CPU通过总线控制8253的功能的部件
(1) 结构
(2) 引脚
-
C S ‾ \overline{CS} CS:片选信号。由地址总线经I/O端口译码电路产生。
-
R D ‾ \overline{RD} RD:有效时,CPU读取所选定的计数器通道中的内容。
-
W R ‾ \overline{WR} WR:有效时,CPU正在将计数初值写入所选中的计数通道中或者将控制字写入控制字的寄存器种。
-
A 1 A 0 A_1A_0 A1A0:地址总线的后两位。
A 1 A 0 A_1A_0 A1A0 | 选中 |
---|---|
00 | 通道0 |
01 | 通道1 |
10 | 通道2 |
11 | 控制字寄存器端口 |
引脚直接与CPU相连
3. 计数器
8253真正发挥功能的部件
(1) 结构
每个计时器都含由
- 一个8位控制字寄存器。接收来自控制字寄存器的数据,规定该计时器的工作方式。没有地址
- 一个16位计数初值寄存器。接收来自数据总线的数据,作为计数的初始值。有地址。
- 一个计数器执行部件
- 一个输出锁存器
端口地址就是三个计数初值寄存器的地址。
(2) 引脚
C L K 0 ∼ C L K 2 CLK_0 \sim CLK_2 CLK0∼CLK2:时钟脉冲输入端
O U T 0 ∼ O U T 2 OUT_0 \sim OUT_2 OUT0∼OUT2:时钟脉冲输出端
G A T E 0 ∼ G A T E 2 GATE_0 \sim GATE_2 GATE0∼GATE2:门控脉冲输入端
4. 控制字寄存器
决定8253工作方式
(1) 结构
- 一个8位的寄存器。存放来自数据总线的控制字,然后根据 D 7 D 6 D_7D_6 D7D6,把该控制字送到相应计数器的控制字寄存器。
(2) 引脚
通常采用的是二进制计数
方式2和3的未知位统统用0
A 1 A 0 A_1A_0 A1A0 和 D 7 D 6 D_7D_6 D7D6的区别:
- A 1 A 0 A_1A_0 A1A0在CPU通过地址总线选择端口时有用。
- D 7 D 6 D_7D_6 D7D6在控制字寄存器决定将已有的控制字给谁时有用。
这篇关于8253的结构及其各引脚功能的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!