第九章可编程计数器定时器8253及其应用(精)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、计数/定时的工作原理

CLK是计数输入信号,计数器对CLK端出现的脉冲个数 进行计数 •CLK端可以输入外部事件 •CLK端可以接入固定频率的时钟信号,从而实现 计时 OUT信号在计数结束时发生变化 •可将OUT作为外部设备的控制信号 •可将OUT作为向CPU申请中断的信号
CPU可以从计数输出寄存器读出当前计数值。 读前,应向控制寄存器发送锁存命令
边界

写入初值


三、8253的编程命令
•初始化
1)写入控制字 2)按控制字要求写入计数初值
计数器初值计算:N=fCLK/fOUT
例:设三个计数器的CR/OL端口地址为70H、71H、72H,控制 寄存器端口地址73H。计数器0,工作模式2,CR/OL仅使用低8 位,初值为100,计数值使用二进制 MOV AL, 14H OUT 73H, AL MOV AL, 64H OUT 70H, AL
例如输入脉冲频率为2MHz,那么计数2106
计时1秒
因此,使用同一个芯片,既能计数,又能计时——计时器/计数器
一、计数/定时的工作原理
组成:
控制寄存器——决定工作模式 状态寄存器——反应工作状态 初值寄存器——计数的初值 计数输出寄存器——CPU从中 读当前计数值 计数器——执行计数操作, CPU不能访问

定时和计数器

对不同信号的计数 定时器

对时钟信号进行计数 周期性 对外部脉冲进行计数 周期性、非周期性

计数器

8253计数/定时器


可编程(工作方式/计数值) 三个独立的计数器通道 对初值进行减一计数 二进制/BCD计数初值 计数对象的最高频率为2MHz
8253计数/定时器——原理
8253计数/定时器——编程

初始化操作——例

8253基址:3F0H、通道0、方式3、BCD初 值1234H 方式字:00110111→3F6H 初值:34H→3F0H、12H→3F0H

编程

8253计数/定时器——编程

GATE的控制作用
8253计数/定时器——工作方式

方式0——计数结束中断方式
三、8253的编程命令
例:设三个计数器的CR/OL端口地址为70H、71H、72H,控制 寄存器端口地址73H。计数器1,工作模式1,CR/OL使用16位, 初值为1234,计数值使用BCD MOV AL, 73H OUT 73H, AL MOV AX, 1234H OUT 71H, AL MOV AL, AH OUT 71H, AL
第九章 可编程计数器/定时器 8253及其应用
本章内容

定时处理方法 8253工作原理 8253应用
定时处理方法

定时

软件定时方式


CPU干预 指令执行时间作间隔 方式固定 硬件设定参数 程序设定、程序控制 中断

不可编程的硬件定时方式


可编程的硬件定时方式

定时处理方法
三、8253的编程命令
•读出命令
1)发出锁存命令,使当前计数值锁存在OL中 2)读OL,获得当前计数值
例:设三个计数器的CR/OL端口地址为70H、71H、72H,控制 寄存器端口地址73H。读出计数器0的当前计数值,放在BX中 MOV AL, 0H OUT 73H, AL IN AL, 70H MOV BL, AL IN AL, 70H MOV BH, AL

8253CLK输入脉冲的最大频率

2MHz
8253计数/定时器——编程

控制字寄存器
8253计数/定时器——编程

初始化操作(三个通道单独初始化)

写入控制字




选择计数通道 设置工作方式 初值的访问方式 确定初值的数制(二进制/BCD) 计数器清零、OUT初始化 根据控制字的规定顺序
8253计数/定时器——原理

8088/8086的连接方式
8253计数/定时器——原理
一、计数/定时的工作原理
计数/定时的功能 •对外部事件发生次数进行计数 •计算机系统经常用到定时信号,如DRAM刷新定时 计数和计时本质上是相同的,它们都是对一个输入脉冲进行 计数,如果输入脉冲的频率一定,那么记录脉冲的个数与所 需的时间是一一对应的关系。
8253计数/定时器——原理

计数器的结构

16(8×2)位初值寄存器 16 (8×2)位计数器执行部件

减一计数

16 (8×2)位输出锁存器 GATE CLK OUT

计数器的控制


8253计数/定时器——原理

定时/计数器初值的计算
定时时间 = 时钟脉冲周期×预置的计数初值 定时频率 = 时钟脉冲频率÷预置的计数初值
8253计数/定时器——工作方式

方式0——计数结束中断方式

写入0方式工作字

OUT变低


写入初值后,CLK经历上升、下降后,才将 初值送入计数器执行部件 GATE必须为高 GATE中途为低,暂时停止计数(维持) 一次性,不重载 装入初值,即启动计数
8253计数/定时器——工作方式
8253计数/定时器——工作方式

方式2——比率发生器
8253计数/定时器——工作方式

方式2——比率发生器

写入工作方式字

OUT变高



GATE必须为高 OUT在最后一个CLK周期出现与CLK等宽 的负脉冲 计数到零,重载初值 GATE的上升沿,导致初值重载
8253计数/定时器——工作方式
控制寄存器 初始值寄存器
CLK
GATE
计数器
计数输出寄存器 OUT
状态寄存器
一、计数/定时的工作原理
工作原理:对CLK信号进行减1计数 首先,CPU把控制字写入控制寄存器,计数初始值写入 初值寄存器 计数从初值开始,每当CLK信号出现一次,计数值减1 当计数值减到0,从OUT端输出规定的信号 CLK信号出现时,计数器是否减1,由门控信号GATE控 制


方式1——可编程单稳态输出方式
8253计数/定时器——工作方式

方式1——可编程单稳态输出方式

写入工作方式字

OUT变高



GATE的上升沿才触使初值装入并启动计数, 并使OUT变低 若计数未满,再出现GATE的上升沿,重载 初值,延长计数时间 单稳——在规定的时长内(初值),多个 GATE信号,只被识别一次——多个GATE 信号→一个OUT输出周期
相关文档
最新文档