8253工作原理解析
(3)方式1:可编程的硬件触发单拍脉冲。
特点:写入控制字寄存器后,输出OUT就变高;GATE的上升 沿触发计数,同时OUT变低,直到计数到0 ;遇到GATE的上 升沿时,自动重新计数。
(4)方式2:速率发生器。
特点:写入控制字寄存器后,输出OUT就变高;GATE为高计 数;计数到1时, OUT变低,计数到0时, OUT变高,并自动 重新计数。 GATE为低时,禁止计数,直到GATE变高,重新 自动写入计数值计数。一般作为分频器使用。
2、8253的内部结构框图及引脚
8253的内部结构如下图所示,主要由数据总线缓冲器、读/写逻 辑、控制字寄存器及三个独立的、功能相同的计数器组成。
(1) 数据总线缓冲器:三态、双向的8位缓冲器,用于将 8253与系统数据总线连接。CPU执行I/O指令时,缓冲 器发送或接收数据,用以写入8253控制字、装入计数 初值或读出当前计数值。 (2) 读/写逻辑:读/写逻辑电路接受来自系统总线的信号, 然后产生控制整个芯片工作的控制信号。 (3) 控制字寄存器:当A1、A0全为1时,接收并存储来自 数据总线缓冲器的控制字。每个计数器对应1个控制寄 存器,只能写入,不能读出。 (4) 计数器0~2:三个计数器内部结构相同,每个计数器 有一个16位减法计数器,可对二进制数或BCD码进行 计数。某些方式下,一次计数结束可以自动取初值进 行下一次计数。每个计数器都有时钟输入CLK、门控 输入GATE和输出OUT引脚。计数过程、输出信号与 控制字中设定的内容有关。每个计数器的工作方式和 工作过程完全独立。
2.8253的外部引脚 8253芯片是具有24个引脚的双列直插式集成电路芯片,其 引脚分布如图7-2所示。
3.8253的控制字 8253有一个8位的控制字寄存器,其格式如图7-3所示。
4.8253的工作方式 8253共有6种工作方式,各方下的工作状态是不同的 ,输出的波形也不同,其中比较灵活的是门控信号的作 用。由此组成了8253丰富的工作方式、波形。
第8章 可编程接口芯片8253及应用
定时与计数 在微机系统或智能化仪器仪表的工作过程中,经常需要使系统 处于定时工作状态,或者对外部过程进行计数。定时或计数的工作 实质均体现为对脉冲信号的计数,如果计数的对象是标准的内部时 钟信号,由于其周期恒定,故计数值就恒定地对应于一定的时间, 这一过程即为定时,如果计数的对象是与外部过程相对应的脉冲信 号(周期可以不相等),则此时即为计数。 定时与计数的实现方法 (1)硬件法。设计一套电路用以实现定时与计数,特点是需要花 费一定的硬件设备,而且当电路制成之后,定时值及计数范围不能 改变。 (2)软件法。利用一段延时子程序来实现定时操作,特点是无需 太多的硬件设备,控制比较方便,但在定时期间,CPU不能从事其 他工作,降低了机器的利用率。 (3)软、硬件结合法。即设计一种专门的具有可编程特性的芯片 来控制定时和计数的操作,而这些芯片具有中断控制能力,定时、 计数到时能产生中断请求信号,因而定时期间不影响CPU的正常工 作。
(7)方式5:硬件触发的选通信号发生器。
特点:写入控制字寄存器后,输出OUT就变高;GATE的上升 沿触发计数;计数到0时, OUT为低,经过一个CLK周期 后 变为高。只有遇到GATE的上升沿时,自动重新计数。
(8)8253的工作方式小结。 1)方式2、4、5的输出波形是相同的,都是宽度为一个 CLK周期的负脉冲,但方式2连续工作,方式4由软件触发 启动,方式5由硬件触发启动。 2)方式5与方式1的工作过程相同,但输出波形不同,方 式1输出的是宽度为N个CLK脉冲的低电平有效的脉冲(计 数过程中输出为低),而方式5输出的是宽度为一个CLK 脉冲的负脉冲(计数过程中输出为高)。 3)输出端OUT的初始状态。方式0在写入方式字后输出为 低;其余方式,写入控制字后输出均变为高。 4)任一种方式,均是在写入计数初值之后才能开始计数 ,方式0、2、3、4都是在写入计数初值之后开始计数的, 而方式1和方式5需要外部触发启动才开始计数。
(1)几条基本原则。 1)控制字写入计数器时,所有的控制逻辑电路立即复位,输出端 OUT进入初始状态。初始状态对不同的模式来说不一定相同。 2)计数初始值写入之后,要经过一个时钟周期上升沿和一个下降 沿,计数执行部才可以开始进行计数操作,因为第一个下降沿将计 数寄存器的内容送减1计数器。 3)通常,在每个时钟脉冲CLK的上升沿,采样门控信号GATE。 不同的工作方式下,门控信号的触发方式是有具体规定的,即或者 是电平触发,或者是边沿触发,在有的模式中,两种触发方式都是 允许的。其中0、2、3、4是电平触发方式,1、2、3、5是上升沿触 发。 4)在时钟脉冲的下降沿,计数器作减1计数,0是计数器所能容纳 的最大初始值。二进制相当于216,用BCD码计数时,相当于104。
(5)方式3:方波速率发生器。
特点:与方式2类似,只是进行减2操作,直到0时, OUT变低 ,并自动重新写入计数值减2操作,直到0时, OUT变高。一 般作为方波发生器使用。
(6)方式4:软件触发的选通信号发生器。
特点:写入控制字寄存器后,输出OUT就变高;GATE为高计数,为低停止计 数;不自动重新计数,需要重新将计数值写入计数器后开始计数;计数到0时 ,OUT变为低,经过一个CLK周期 后变为高。不自动重新计数,只有重新软 件写入计数值,同时GATE为高时开始计数。
7.1 定时/计数器芯片Intel8253的工作原理 Intel8253是8086/8088微机系统常用的定时/计数器芯片,它具 有定时与计数两大功能,同类型的定时/计数器芯片还有Intel8254 等,8253是24脚双列直插芯片,用+5V电源供电。
1、8253的一般性能概述
(1)每个8253芯片有3个独立的16位计数器通道。 (2)每个计数器通道都可以按照二进制或二-十进制计数。 (3)每个计数器的计数速率可以高达2MHz。 (4)每个通道有6种工作方式,可以由程序设定和改变。 (5)所有的输入、输出电平都与TTL兼容。
(2)方式0:计数结束产生中断。方式0的波形如图7-4所示,当控制字 写入控制字寄存器后,输出OUT就变低,当计数值写入计数器后开始 计数,在整个计数过程中,OUT保持为低,当计数到0后,OUT变高。
特点:写入控制字寄存器后,输出OUT就变低,GATE为高计 数,为低停止计数;不自动重新计数,需要重新将计数值写 入计数器后开始计数;计数到0时,可利用OUT 产生中断信 号。