当前位置:
文档之家› 第7章 定时计数器82538254
第7章 定时计数器82538254
1.外部特性
8253-5/8254-2是24脚双列直插式芯片,+5v电源供电。
每个芯片内部有3个独立的计数器(计数通道),每个计数器 都有自己的时钟输入CLK,计数输出OUT和控制信号GATE。 通过编程设置工作方式,计数器可作计数用,也可作定时用, 故称定时/计数器,记作T/C。其引脚分配见图7.1。
图7.6 8253的2方式时序波形
4.3方式周期性方波输出
3方式与2工作方式基本相同,也具有自动装入时间常数 的能力,不同之处在于: ①工作在3方式,OUT引脚输出的不是一个时钟周期的 负脉冲,而是占空比为1:1或近似1:1的方波;当计数初
值为偶数时,输出在前一半的计数过程中为高电平,在后一
16位计数初值寄存器 装入/读出初值 LSB MSB 图7.3 计数通道的内部结构
计数初值寄存器(16位):用于存放计数初值(定时常
数、分频系数),其长度为16位,故最大计数值为65536 (64KB)。
计数初值寄存器的初值和减1计数器的初值在初始化时 同时一起装入的,计数初值寄存器的计数初值,在计数器计 数过程中保持不变,故计数初值寄存器的作用是在自动重装 操作中为减1计数器提供计数初值,以便重复计数。
CLK N=5 WR OUT N=5 WR GATE OUT
5 5 5 5 4 3 2 1 0 4 3 2 1 0 4 3 2 1 0
GATE=1
5 5 5 4 3 2 1 0 4 3 2 1 0 5 4 3 N=5 N=4 GATE=1 WR 4 4 4 OUT 5 4 3 2 1 0 3 2 1 0 3 2 1 0 3 2
器重新装入原计数初值并重新开始计数。
③若计数器工作期间对计数器写入新的计数值后,只要 门控信号再次出现上升沿,不管原来计数是否到0,则立即 按新写入的计数值重新开始计数。
CLK WR GATE OUT WR GATE OUT WR GATE OUT
N=5
N=5
5
4
3
2
1
0
5 N=3
4 3 N=4
的关系如表7.1所示。
表7.1 8253/8254的读写操作及端口地址
其次,介绍面向I/O设备的信号线。
(6)时钟信号CLK:CLK为输入信号。三个计数器各有一 独立的时钟输入信号,分别为CLK0、CLK1、CLK2。时钟 信号的作用是在8253进行定时或计数工作时,每输入一个 时钟信号CLK,便使计数值减1。它是计量的基本时钟。
减1计数器减1至0后,可以自动把计数初值寄存器的内容
再装入减1寄存器,重新开始计数。
减1计数器(16位):用于进行减1计数操作,每来一个
时钟脉冲,它就作减1运算,直至将计数值减为零。如果要 连续进行计数,则可重装计数初值寄存器的内容到减1计数
器。
当前计数值锁存器(16位):用于锁存减1计数器的内 容,以供读出和查询。由于减1计数器的内容是随输入时钟 脉冲在不断改变的,为了读取这些不断变化的当前计数值, 只有先把它送到当前计数值锁存器,并加以锁存才能读出。 因此,若要了解计数初值,则可从计数初值寄存器直接 读出。而如果要想知道计数过程中当前计数值,则必须将当 前值锁存后,从输出锁存器读出,不能直接从减1计数器中
读出当前值。为此,在8253的命令字中,设置了锁存命令。
7.2.2 工作方式及特点
8253-5/8254-2芯片的每个计数通道都有六种工作方式 可供选用。区分这六种工作方式的主要标志有四点:一是输 出波形不同;二是启动计数器的触发方式不同;三是计数过 程中门控信号GATE对计数操作的影响不同;四是在计数过
定时电路。例如较常见的定时器件有单稳触发器和555定时
器等,利用它们和外接电阻、电容的结合,可在一定时间范 围内实现定时。利用加法或减法计数器对周期一定的时钟脉
冲计数,也是一种常见的硬件定时思路,从给计数器预置一
定的初值开始计数到计数器最高位产生进位或借位信号,其 时间间隔是一定的,而且通过改变计数器初值可使定时长短 在一定范围内改变。
2.内部逻辑结构
8253/8254内部有6个模块,其内部结构框图如图7.2所示
图7.2 8253/8254的内部结构
(1)数据总线缓冲器:它是一个三态、双向8位寄存器, 用于将8253与系统数据总线D0~D7相连。CPU通过数据总 线缓冲器向8253写入数据、命令或从数据总线缓冲器读取 数据和状态信息。
各引脚的功能定义如下;
首先,介绍面向CPU的信号线。 (1)数据总线D0~D7:它们为三态输出输入线,用于将 8253与系统数据总线相连,是8253与CPU接口数据线,供 CPU向8253进行读写数据、传送命令和状态信息。
(2)片选线CS:为输入信号,低电平有效。当CS为低电
平时CPU选中8253,可以向8253进行读写; CS为高电平
5
4
3
2
1
0
3
2
1
0
4
3
2
1
0
图7.5 8253的1方式时序波形
3. 2方式周期性负脉冲输出
2方式是一种具有自动装入时间常数(计数初值)的N分频 器。其工作特点如下:
①计数器计数期间,输出OUT为高电平,待计数值减到 1时,输出一个时钟脉冲周期的负脉冲,至计数值为0时,自 动重新装入原计数初值,输出又恢复高电平并重新作减法计 数。
这种硬件定时方案不占用CPU时间,且电路也较简单,但电
路一经连接好后,定时值就不便控制和改变。
可编程硬件定时就是在上述不可编程硬件定时的基础上 加以改进,使其定时值和定时范围可方便地由软件来确定和 改变。可编程定时电路一般都是用可编程计数器来实现,因 此它既可计数又可定时,故称之为可编程定时器/计数器电 路。 目前,各种微型计算机和微机系统中都是采用可编程定
(7)门选通信号GATE:GATE信号为输入信号。三个通
道每一个都有自己的门选通信号,分别为GATE0、GATEl、 GATE2。
GATE信号的作用是用来禁止、允许或开始计数过程的。 对8253的6种不同工作方式,GATE信号的控制作用不同(参
见后面的表7.2)。
(8)计数器输出信号OUT:OUT是8253向外输出信号。
第七章 定时/计数器8253/8254
7.1概述 7.2 可编程定时/计数器8253-5/8254-2 7.3 8253/8254的应用举例 习题 7
7.1概述
在微型计算机系统尤其是实时计算机测控系统中,经常 需要为微处理器和I/O设备提供实时时钟,以实现定时中断、
定时检测、定时扫描、定时显示等定时或延时控制,或者对
中,一律假定已经写人了控制字,通道已经进入了相应的工 作方式,波形全部从写初值至计数初值寄存器(用n值表示) 开始画起。 1.0方式低电平输出(GATE信号上升沿继续计数)
0方式有如下三个特点: ①当向计数器写完计数值时,开始计数,计数一旦开始,
输出端0UT就变成低电平,并在计数过程中一直保持低电平,
入,不能读出,其内容将在后面讨论。
(4)计数器:8253有三个独立的计数器(计数通道),每 个通道的内部结构完全相同,如图7.3所示。该图表示计数 器由16位初值寄存器、减1计数器和当前计数值锁存器组成。
MSB LSB 锁存后读出当前值 16位当前计数值锁存器 CLK GATE & 16位减1计数器 OUT 减1为0时
程中改变计数初值的处理方式不同。
工作于任何一种方式,都必须先写控制字至控制字寄存 器,以选择所需方式,同时使所有逻辑电路复位、使计数初 值寄存器内容清零、使OUT变为规定状态,再向计数初值寄 存器写入计数初值。然后才能在GATE信号的控制下,在
CLK脉冲的作用下进行计数。
下面分别介绍各种工作方式。在说明各种方式的波形图
最高频率有所差异(前者为5MHz,后者为10MHz)。另外,
还有8253(2MHz)、8254(8MHz)和8254-5(5MHz)兼容芯片。 下面以8253-5和8254-2为例进行分析。本书中,以后出现 的8253和8254均分别指8253-5和8254-2。
7.2.1 外部特性与内部逻辑结构
三个独立通道,每一个都有自己的计数器输出信号,分别为 OUT0、0UTl、OUT2。
0UT信号的作用是,计数器工作时,每来1个时钟脉冲, 计数器减1,当计数器减为0,就在输出线上输出一个OUT
信号,以指示定时或计数已到。
这个信号可作为外部定时、计数控制信号引到I/O设备用 来启动某种操作(开/关或启/停),也可作为定时、计数已到 的状态信号供CPU检测,或作为中断请求信号使用。
半的计数过程中为低电平。
②当计数初值为奇数时,在前一半加1的计数过程中, 输出为高电平,后—半减1的计数过程中为低电平。例如, 若计数初值设为5,则在前3个时钟周期中,引脚OUT输出 高电平,而在后2个时钟周期中则输出低电平。8253的2方 式和3方式都是最为常用的工作方式,工作时序如图7.7所示。
为未选中。CS由CPU输出的地址码经译码产生。
(3)读信号RD:它为输入信号,低电平有效。它由CPU发 出,用于对8253寄存器读操作。
(4)写信号WR:它为输入信号,低电平有效。它由CPU
发出,用于对8253寄存器写操作。
(5)地址线AlA0:这两根线接到系统地址总线的A1A0上。 当CS=0,8253被选中时,A1A0用于选择8253内部寄存器, 以便对它们进行读写操作。8253内部寄存器与地址线AlA0
②门控信号GATE为高电平时允许计数。若在计数期间, 门控信号变为低电平,则计数器停止计数,待GATE恢复高电 平后,计数器将按原装入的计数值重新开始计数。 ③在计数器工作期间,如果向此计数器写入新的计数值, 则计数器仍按原计数值计数,直到计数器回零之后,才按新 写入的计数值计数,其工作时序如图7.6所示。