计算机的定时和计数
计算机的定时和计数通常是一回事。 提供定时和计数能力的芯片是 8253/8254 三个计数器结构相同,相互独立 CLK 外部时钟信号 Gate 门控制信号 Out 对外输出信号 CPU 通过数据总线控制总线和 8253 挂接。 $A_1$ $A_0$ 功能 0 0 Counter0 0 1 Counter1 1 0 Counter2 1 1 控制端 对 8253/8254 编程 写入方式字 写入初值 $D_7$ $D_6$ $D_5$ $D_4$ $D_3$ $D_2$ $D_1$ $D_0$ 计数器 读写格式 工作方式 数制 读写格式 00 锁存当前值 01 写低8位,高8位置0 10 写高8位,低8位置0 11 先写低8位,再写高8位 数制: 0 二进制 1 BCD 当初值为类似 2000 时,使用 BCD 有效提高写入速度(低8位为0,高8位为 0010 0000) 计算初值 $$ \text{定时时间} T_{out} = \text{计数初值}n \times 计数时钟周期 T_{CLK} $$ $$ \text{计数初值} n = \frac{T_{out}}{T_{CLK}} = \frac{f_{CLK}}{f_{out}} $$ 写入端口 使用 IN 和 OUT 命令进行编程...