8253的内部结构 编址部件0 DO 数据 CLK O 计数器 GATE O D7 总线缓 冲器 WR 内 计数器 CLK 1 读/写 AO GTE1编址部件1 Al 逻辑 总 OUT1 CS 控制 1计数器 CLK 2 GATE 寄存器 编址部件3 大x 编址部件2
11 8253的内部结构 WR A 0 A 1 CS 数 据 总线缓 冲 器 读/写 逻辑 控 制 寄存器 计数器 0 计数器 1 计数器 2 GATE 1 D 0 D 7 ~ RD CLK1 OUT1 CLK 2 GATE 2 OUT 2 CLK 0 GATE 0 OUT 0 片 内 总 线 编址部件0 编址部件1 编址部件2 编址部件3
编程结构一程序员的观点 计数器3个)一包括∫16位初值寄存器 16位计数寄存器 (减法计数器) ●控制寄存器—存放控制命令字(只写) ●占用4个地址一3个计数器,1个控制寄存器 大
12 编程结构—程序员的观点 ⚫ 计数器(3个)——包括 ⚫ 控制寄存器—— 存放控制命令字(只写) ⚫ 占用4个地址— 3个计数器,1个控制寄存器 16位初值寄存器 16位计数寄存器 (减法计数器)
定时/计数的工作过程 1.设置8253的工作方式 2.设置计数初值到初值寄存器 3.第一个CLK信号使初值寄存器的内容置入 计数寄存器 4.以后每来一个CLK信号,计数寄存器减1 5.减到0时,OUT端输出一特殊波形的信号 注:以上计数过程中还受到GATE信号的控制
13 定时/计数的工作过程 1. 设置8253的工作方式 2. 设置计数初值到初值寄存器 3. 第一个CLK信号使初值寄存器的内容置入 计数寄存器 4. 以后每来一个CLK信号,计数寄存器减1 5. 减到0时,OUT端输出一特殊波形的信号 注:以上计数过程中还受到GATE信号的控制
计数启动方式 程序指令启动—软件启动 外部电路信号启动——硬件启动 GATE端保持为高电平 软件启动过程写入让数初值后的第2个 CLK脉冲的下降沿开始计数 GATE端有一个上升沿 硬件启动过程 对应CLK脉冲的下降沿开始卉数千
14 二、计数启动方式 软件启动过程 硬件启动过程 GATE端保持为高电平 写入计数初值后的第2个 CLK脉冲的下降沿开始计数 GATE端有一个上升沿 对应CLK脉冲的下降沿开始计数 程序指令启动————软件启动 外部电路信号启动——硬件启动
三、工作方式 方式0—计数结束中断 方式1—可重复触发的单稳态触发器 方式2—频率发生器 方式3—方波发生器 方式4—软件触发选通 方式5—硬件触发选通
15 三、工作方式 ⚫ 方式0——计数结束中断 ⚫ 方式1——可重复触发的单稳态触发器 ⚫ 方式2——频率发生器 ⚫ 方式3——方波发生器 ⚫ 方式4——软件触发选通 ⚫ 方式5——硬件触发选通