第九章可编程计数器定时器8253及其应用(精)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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输出周期