七章定时器计数器电路精品PPT课件
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1
1
×××
1 ××
无操作 禁止使用 无操作
10
7.2.3 8254的工作方式
各计数器通道均有6种工作方式可供选择:
方式0——计数结束中断方式 方式1——硬件可重触发单稳方式 方式2——速率波发生器方式 方式3——方波方式 方式4——软件触发选通方式 方式5——硬件触发选通方式
工作于任一方式,都必须先初始化: ❖写控制字至控制寄存器(端口3):选择所
需方式,CR清零,OUT置于规定状态。 ❖写计数初值至CR。
11
7.2.3 8254的工作方式
1.方式0:计数结束中断方式
基本功能:
写入控制字后,OUT信号变为低电平,并 维持低电平至CE的内容到达零时,此后OUT 信号变为高电平,并维持高电平至再次写入新 的计数值或重新写入控制字。
GATE用于开放(“1”)或禁止(“0”)计 数。
❖写入控制字使计数器进入工作方式2后,OUT 输出高电平,这时若装入计数初值n,则从其 后的下个CLK下降沿起立即开始计数,OUT保 持高电平不变;待计数值减到1时,OUT输出宽 度为一个CLK周期的负脉冲,至计数值为0时 , 自动重新装入计数初值n,实现循环计数。
❖可由软件通过写计数初值启动(GATE恒为高电平), 也可由GATE上升沿启动(已装入计数初值)。
i8254是i8253的改进型,两者的功能基本 相同,硬件组成、外部引脚和编程特性完全 兼容。差别只在三点:
①允许的最高计数频率不同; ②8254中有状态寄存器和状态锁存器,而8253没有; ③8254有读回命令,而8253没有。
4
7.2.1 8254的基本功能
有3个独立的16位计数器通道; 每个计数器可按二进制或十进制(BCD)计数; 每个计数器可工作于6种不同工作方式;
❖GATE变低电平时停止计数;而当GATE由低重新变 高时,重新由初值开始计数。
19
7.2.3 8254的工作方式
方式2定时波形:
20
7.2.3 8254的工作方式
4.方式3:方波方式 基本功能:
OUT输出的是方波(计数初值为偶数 时)或近似方波(计数初值为奇数时)信号。 其典型用法是作波特率发生器。
8 数据总
线缓冲 D7~D0 器
计数 器通 道0
CLK G0ATE0
OUT0
RD WR
○ ○
读写 控制
A1 逻辑
A0
○
CS
内
计数
CLK1
部
器通
GATE1
总 线
道1
OUT1
控制字 寄存器
计数 器通 道2
CLK G2ATE2
OUT2
结构图
D7 1 24 +5V
D6
WR
D5
RD
D4
CS
D3
A1
D2 6 19 A0
6.方式5:硬件触发选通方式 基本功能:
通过由GATE端引入的硬件触发信号, 在OUT端产生一个宽度为1个CLK周期的 负选通脉冲。
29
工作特点:
❖当写入控制字使之进入方式5后,OUT输出高电平; 装入计数初值后,待GATE端出现触发信号(上升沿 ),才开始减1计数,计至0时,OUT端输出一个宽 度为1个CLK周期的负脉冲。
❖当计数值计到0后,自动重新装入初值n,但并不开 始计数,而是待GATE端出现新的上升沿后才重新 作减1计数。
30
工作特点(续):
❖CPU可在任何时候用输出指令装入新的计数 初值n,但并不影响正在进行的操作过程, 要到下一个计数操作周期才按新的初值操 作。不过写入新初值后,若计数值到达0之 前GATE端加了触发信号(上升沿),则下一个 CLK脉冲将使新初值装入CE,并从它开始新 的计数。
❖计数过程中,如果GATE=0则暂停计数,直到 GATE=1后再接着计数。
❖计数过程中写入新的计数初值,从写入后下一 个时钟脉冲开始,以新的初值计数。
13
7.2.3 8254的工作方式
方式0定时波形:
0
14
7.2.3 8254的工作方式
2.方式1:硬件可重触发单稳方式 基本功能:
计数器相当于一个可编程的单稳态触发电 路,触发输入为GATE信号(上升沿),单脉 冲输出为OUT信号。
22
7.2.3 8254的工作方式
工作特点(续):
❖若n为奇数,在OUT变高时,初值减1成为偶数,
再对CLK作减2计数,减至0时延迟一个CLK脉冲
后OUT变低;此时初值再次减1后作减2计数,
至0时OUT变高。如此周而复始,OUT端得到的
是占空比为
n 1
,2 n 1 2
周期为n个CLK周期的近似方波。
方式5(硬件触发选通) 无意义 硬件触发信号
无意义
33
7.2.4 8254的编程
下列情况需要对8254编程:
❖工作之前写入控制字,以确定每个计数器通 道的工作方式(写端口3)
❖工作之前写入每个计数器通道计数初值(写 端口0,1,2)
❖工作过程中改变某通道的计数初值
❖写入命令字(包括计数器锁存命令字和读 回命令字,即写端口3),为读某计数通道 的当前CE内容和状态寄存器内容做准备
OUT输出的计数结束信号可作为中断请求 信号。
12
工作特点:
❖计数由软件启动,每次写入计数初值,只启 动一次计数。
❖CPU写计数初值到CR后,CR内容并不立即装入 CE,而是在其后的下一个CLK脉冲下降沿才CR 内容装入CE,对该CLK脉冲不计数。所以,若 计数初值为n,则必须在出现n+1个CLK脉冲后, OUT才变高。
16
7.2.3 8254的工作方式
方式1定时波形:
17
7.2.3 8254的工作方式
3.方式2:速率波发生器方式(n分频方式) 基本功能:
OUT 端 输 出 一 周 期 性 负 脉 冲 序 列 , 其 负 脉冲宽度为一个CLK脉冲周期,负脉冲频率 为CLK信号频率的1/n(n为CR初值)。
18
工作特点:
改变其计数初值和计数脉冲频率即可改变定时长短。
1
7.1 概述
可编程定时器/计数器典型结构:
数据
读 写 复位 准备就绪
片选 端口地址
控制字寄存器
计数初值寄存器
控
计数器(计数工作单元)
制
逻
辑 输出锁存器
状态锁存器
状态寄存器
CLK GATE OUT
2
7.1 概述
可编程定时器/计数器的主要用途:
①以均匀分布的时间间隔中断分时操作系统,以便切换 程序;
❖读状态字(读端口0,1,2)
❖读当前CE内容(读端口0,1,2)
34
7.2.4 8254的编程
1.控制字 8254/8253工作前,必须由CPU向它的控制寄
存器(端口3)写入方式选择控制字。
15
工作特点:
❖从GATE上升沿起下一个CLK脉冲使OUT由高变低, 直到CE计为0,OUT才恢复为高,形成一个宽度 为n倍CLK周期的输出负脉冲。
❖此方式允许多次触发(即具有可重触发性), 一旦控制字设置为方式1,并向CR置了初值,在 没有新的初值置入前,此初值在CR中保持不变。
❖在OUT未恢复高电平前,若GATE端又出现新的触 发信号上升沿,则CE又从初值开始重新计数, 其结果将延长OUT输出的负脉冲宽度。
(2)状态寄存器(SR)也不能直接读,只能 通
过读状态锁存器(SL)实现(先写读回命 令,再读SL)。 (3)CE、CR和OL都是16位,对CR写入和对OL 读出 必须分两次进行。若初始化时只写CR一个字 节,则另一字节保持为0。
9
7.2.2 8254内部结构与引脚信号
❖读/写控制逻辑:接收系统总线来的地址和读写 信号,并变换为内部控制信号。
8254各端口读/写控制作用
CS RD
0
1
0
1
0
1
0
1
0
0
0
0
0
0
0
0
1×
0
1
WR
A1 A0
读/写操作说明
0
0
0
写计数通道0的CR
0
0
1
写计数通道1的CR
0
1
0
写计数通道2的CR
0
1
1
写控制寄存器
1
0
0 读通道0的OL或状态锁存器
10ຫໍສະໝຸດ 1 读通道1的OL或状态锁存器
1
1
0 读通道2的OL或状态锁存器
1
23
工作特点(续):
❖计数过程中出现GATE变低时,CE暂停对CLK计 数,直到GATE再次由低变高时,重新启动计数 过程, 从初值n开始计数。 ❖要改变输出方波的速率,可在任何时候向CR重 新写入新的计数初值n,并从下一个CLK脉冲开 始起作用。
24
7.2.3 8254的工作方式
方式3定时波形:
②向I/O设备输出周期可控的定时信号;
③用作可编程波特率发生器;
④检测外部事件发生的频率或周期;
⑤统计外部某过程中某一事件发生的次数;
⑥作为向CPU的定时或定次数中断源;
…… PC系列微机中普遍采用的可编程定时器 /计数器是i8253/8254芯片。
3
7.1 概述
7.2 可编程定时器/计数器芯片i8254/8253
GATE=1
方式0(计数结束中断) 停止计数
无意义
允许计数
方式1(可重触发单稳) 无意义 从初值开始重新计数 无意义
方式2(速率波发生器) 停止计数 从初值开始重新计数 允许计数
方式3(方波发生器) 停止计数 从初值开始重新计数 允许计数
方式4(软件触发选通) 停止计数 从初值开始重新计数 允许计数
——控制字寄存器为3个计数器通道所共用。 ——写入控制字时,将同时清除计数初值寄存器 内容。
7
7.2.2 8254内部结构与引脚信号
❖计数器通道(3个):彼此独立,但结构和内容 完全相同。 任一通道作计数器或定时器用时,其内部操 作完全相同,区别仅在于:
➢作计数器用时,对CLKi端输入的计数脉冲(间 隔不一定相同)作减1计数,要求计数的次数 可直接作为计数初值预置计数器通道;当减 到0时,OUTi端将输出一信号。
❖计数过程中若GATE变低,则停止计数,直到GATE 恢复到高时,重新从初值开始减1计数。
❖计数过程中若改变(重写)计数初值,将从改变 之后的下个CLK脉冲起,按新初值重新开始计数。
❖软件装入的计数初值只一次有效。
27
7.2.3 8254的工作方式
方式4定时波形:
28
7.2.3 8254的工作方式
31
7.2.3 8254的工作方式
方式5定时波形:
32
7.2.3 8254的工作方式
综上所述,对于不同的工作方式,门控信号 GATE端所起的作用各不相同,8254/8253应用中 必须正确使用它,才能保证计数通道的正常工作。
GATE在各种工作方式中的功能
工作方式
GATE=0 及下降沿
GATE上升沿
7.1 概 述
在各种计算机系统中,经常要用到定时/延 时和计数控制。 实现定时/延时的基本方法:
❖软件定时:执行循环程序。CPU利用率低。 ❖不可编程硬件定时:采用中小规模集成电路器
件实现。
单稳/555定时器--外加阻容器件 加/减计数器--通过改变初值可改变定时长短
电路连接好后,定时值不便控制和改变。 ❖可编程硬件定时:用可编程计数器实现。通过编程
➢作定时器用时,对周期一定的时钟脉冲作减1 计数,计数初值(定时系数)用下式计算 得到: 要求定时的时间 定时系数 = 时钟脉冲周期
8
7.2.2 8254内部结构与引脚信号
注意:
(1)计数工作单元(CE)不能直接读/写。只能 通过写计数初值寄存器(CR)实现对CE初 值的修改,通过读输出锁存器(OL)实现 对CE内容的读取(先写读回命令,再读OL)。
25
7.2.3 8254的工作方式
5.方式4:软件触发选通方式 基本功能:
由软件通过写计数初值触发(启动), 在OUT端产生一个宽度为1个CLK周期的 负选通脉冲。
26
工作特点:
❖当写入控制字使之进入方式4后,OUT变高;此 后从装入计数初值的下个CLK下降沿开始作减 1计数,计至0时,OUT端输出一个宽度为1个 CLK周期的负脉冲。
D1 8254 CLK2
D0
OUT2
CLK0 OUT0 GATE0 GND 12 13
GATE2 CLK1 OUT1
GATE1
引脚图
6
7.2.2 8254内部结构与引脚信号
8254各主要组成部分:
❖数据总线缓冲器
❖控制字寄存器
——8位只写寄存器,用于存放CPU写入芯片的 方式选择控制字或命令字,由它来控制各计数器通 道的工作方式。
21
工作特点:
❖当写入控制字使之进入该方式后,OUT输出低 电平;在装入计数初值后的下个CLK下降沿, OUT由低变 高,开始减法计数。
❖若计数初值n为偶数,作减2计数,计至0时OUT 变低;然后再自动从初值开始作减2计数,计 至0时OUT又变高。如此周而复始,OUT输出的 是占空比为1/2、周期为n个CLK周期的方波。
每个计数器允许的最高计数频率为10MHz(8253为2M 有读回命令(8253没有),可以读出当前计数单元的内
容和状态寄存器内容。 每个计数器通道的逻辑功能完全相同,既可作定时器用, 又可作计数器用。无论用作定时器还是计数器,计数初值 寄存器内容都可由CPU预置或修改。
5
7.2.2 8254内部结构与引脚信号