第八章 8254
CLK WR
n=4
下一周期影响计数
4
3
2
1
0 4 3 2 1
4 0
3
4
1
0 4
n=5 3 2 1
5 0
4
GATE OUT
5.方式4
6.方式5
①
停止计数
重复周期
重装计数值
②
③
正常计数过程
门控信号的 作用
改变计数初 值的影响
方式2的应用:
产生矩形波分频
方式3的基本功能:
1.方式0
2.方式1 3.方式2 4.方式3 5.方式4 6.方式5
写入计数值 GATEห้องสมุดไป่ตู้
计数开始 计数结束 CE=0
方式1的工作特点
GATE上升沿启动计数 可重触发在(在CE=0前且GANTE 上升沿)
N->CR
重装计数值
方式1的定时波形(硬件可重触发单稳) CR送CE,并计数
1.方式0 2.方式1 3.方式2 4.方式3 5.方式4
CLK WR GATE OUT
①允许的最高计数频率不同; ②8254中有状态寄存器和状态锁存器,而8253没有; ③8254有读回命令,而8253没有。
8.2.3 内部端口寻址与读写控制
CS 0 0 0 0 0 0 0
RD
1 1 1 1 0 0 0
WR
0 0 0 0 1 1 1
A1
0 0 1 1 0 0 1
A0 0 1 0 1 0 1 0
方式0 方式1 方式2 方式3 方式4 方式5
— — — — — —
计数结束中断方式 硬件可重触发单稳方式 速率波发生器方式 方波方式 软件触发选通方式 硬件触发选通方式
门控信号GATE的功能 输出信号OUT的波形 启动计数的条件和改变初值的影响
所有工作方式都应遵循以下规则:
① 控制字写入控制寄存器后,选择工作方式,同时使控制 逻辑电路复位,CR清零,输出信号OUT进入初始状态 (高电平或低电平)。 ②在时钟脉冲CLK的下降沿,计数器减“1”计数。 ③ 通常在时钟脉冲CLK的上升沿对门控信号GATE采样。 在不同工作方式下,对门控信号的触发方式有不同的要求。 ④计数初始值写入CR后,经过一个时钟周期,送入CE (方式0-4); ⑤对于二进制数 0000H值最大(65536).
方式3是方波方式。OUT输出的是方波或近似方 波信号:
GATE=1 OUT 写入计数值 nTCLK
方式3的工作特点:
若计数初值 n 为偶数, OUT 输出周期为 n 个 CLK周期的标准方波。
若n为奇数,OUT端得到的是近似方波。
GATE 变低电平时停止计数 ; 而当 GATE 由低 重新变高时,重新由初值开始计数。
第八章定时器/计数器电路
2011.10.26
8.1.1 实现定时延时的控制方法
在计算机应用中, MPU和I/O设备需要时钟 和定时脉冲 ,实现定时/延时。
实现定时/延时的方法:
软件定时;
不可以编程硬件定时 ;
可编程硬件定时。
定时 = 计数 !
8.1.2可编程定时器/计数器的典型结构和主要用途
……
8.2.可编程定时器/计数器芯片8254
8.2.1 基本功能
8254具有以下基本功能:
有3个独立的16位计数器通道 每个计数器可按二进制或十进制(BCD)计数 每个计数器可工作于6种不同工作方式 每个计数器允许的最高计数频率为10MHz (8253 为2MHz) 有读回命令(8253没有),可以读出当前计数单元的 内容和状态寄存器内容 每个计数器通道的逻辑功能完全相同,既可作 定时器用,又可作计数器用
③
GATE的影 响
初值为偶数的计数
初值为奇数的计数
方式3的应用:
产生方波分频
方式4的基本功能:
1.方式0 2.方式1 方式 4 是软件触发选通方式。它与方式 0 的功能 很相似,主要差别是计数结束时,在 OUT 端产生 的是一个宽度为1个CLK周期的负选通脉冲。
3.方式2
4.方式3 5.方式4 6.方式5
3
2
1
0
4.方式3
5.方式4 6.方式5
初始化后为 低电平
GATE
OUT
继续计数值 停止计数
①
INTR
②
门控信号的作用
③
INTR
正常计数过程
改变计数初值
注意:在时钟脉冲CLK的下降沿,计数器减“1”计数。 CPU写计数初值到CR后,CR内容并不立即装入CE。在下 一个CLK脉冲下降沿才将CR内容装入CE,该脉冲不计数。
式2可以连续自动工作,方式4由软件触发启动,方式5由硬件触发启动。
8.2.5 应用编程
与其他可编程芯片一样,为了使用8254,必 须通过读/写操作对它编程。包括:
初始化 编程
工作之前写入控制字,以确定每个 计数器通道的工作方式。 工作之前写入每个计数器通道的计 数初值。
数据 控制字寄存器 读 写 计数初值寄存器 控 计数器(计数工作单元) 制 逻 辑 片选 端口地址 状态锁存器 状态寄存器 输出锁存器 CLK
复位
准备就绪
GATE
OUT
可编程定时器/计数器的主要用途:
①以均匀分布的时间间隔中断分时操作系统,以便切换 程序; ②向I/O设备输出周期可控的定时信号; ③用作可编程波特率发生器; ④检测外部事件发生的频率或周期; ⑤统计外部某过程中某一事件发生的次数; ⑥作为向CPU的定时或定次数中断源;
在设置8254的工作方式时,需要注意上述六种工作方式的一些特点: 方式0, 1, 4的计数初始值无自动加载功能,当一次计数结束后,若要继续计 数,需要再次编程写入计数值; 方式2和方式3的计数初始值有自动加载功能,只要写入一次计数值,就可以 连续进行重复计数。 方式2, 4, 5的输出波形虽然相同,即都是宽度为一个时钟周期的负脉冲,但方
方式5的定时波形(硬件触发选题)
计数过程改变初 值不影响计数 硬件触发,以 新初值计数
1.方式0
2.方式1 3.方式2
CLK
WR
n=4 4 3 2 1 0 n=5 5 4 3 2 1 0
4
3
2
1
0
4.方式3
5.方式4 6.方式5
GATE
OUT
硬件触发 输出负脉冲 启动计数
正常计数
改变初值的影响
读/写操作说明
写计数通道0的CR 写计数通道1的CR 写计数通道2的CR 写控制寄存器 读通道0的OL或SL 读通道1的OL或SL 读通道2的OL或SL 无操作 禁止使用 无操作
0
1 0
0
× 1
1
×
1
× ×
1
× ×
1
8.2.4 六种工作方式
8254中各计数器通道均有6种工作方式可供选择:
RD WR A1 A0
CS
读写 控制 逻辑
计数 器通 道1
CLK1 GATE1
OUT1
控制字 寄存器
计数 器通 道2
CLK2 GATE2
OUT2
3通道共有! 内部结构图
脉冲间隔不一定相同,而定时脉冲要求周期一定。
每个计数器既可用作计数器,又可用作定时器,差别在于:计数
8
SL
SR
CR:计数初值寄存器 CE:计数工作单元 CPU不能直接读写。 OL:输出锁存器 读回命令控制。 SR:状态寄存器 工作方式、OUT状态、 CR内容已装入CE状态。 SL:状态锁存器 读回命令控制。
方式5的基本功能:
1.方式0
2.方式1 3.方式2 4.方式3 5.方式4 6.方式5
方式5是硬件触发选通方式。它与方式1很类似, 也是由硬件触发启动计数,差别在于OUT端产生的 是一个宽度为1个CLK周期的负选通脉冲。
方式5的工作特点:
硬件触发(GATE正跳变)启动计数。 当计数值计到0后,自动重新装入初值n,但 并不开始计数,而是待 GATE 端出现新的上 升沿后才重新作减1计数。
GATE=1 OU 写入计数值 T nTCLK
方式2的工作特点:
自动重复计数。
可由软件通过写计数初值启动,也可由GATE 上升沿启动。
GATE变低电平时停止计数;而当GATE由低 重新变高时,重新由初值开始计数。
方式2的定时波形:(n分频方式)
1.方式0 2.方式1 3.方式2 4.方式3
方式3的定时波形
1.方式0 2.方式1 3.方式2
CLK
CR→CE,并立即 做CE-1操作。其他 方式是下一个CLK 下降!
WR
GATE OUT
n=4 4 2 0 4 2 0
n=5 42 0
重装计数值
420 4 20 420 4 222
4.方式3
5.方式4 6.方式5
标准方波
①
近似方波
②
停止计数
注意:启动条件是GATE正跳变,高电平对启动平无效;
1.方式0 2.方式1 3.方式2
4.方式3
5.方式4 6.方式5
方式5输出波形与方式4相同。两种工作方式的区 别是: 方式4为软件启动计数,即GATE=1,写入 计数初始值时启动计数; 方式5为硬件启动计数,即先写入计数初始值, 由GATE的上升沿触发,启动计数。 方式1、5重触发条件都GATE正跳变区别: 方式1 要求是OUT变为高电平前,; 方式5 可以自动重新装入初值。
计数通道内部结构
基本工作原理:
写入控制字,设置工作方式,OUT处于工作方式对应初始状态,逻辑电 路复位, CR清零; 程序设置CR初值;CR内容送CE ; CLK对计数器CE减法计数;