微型计算机原理与接口技术 教学课件 ppt 作者 吕林涛 主编 梁莉 宋继红 副主编 第七章

上传人:E**** 文档编号:89246512 上传时间:2019-05-22 格式:PPT 页数:46 大小:506.51KB
返回 下载 相关 举报
微型计算机原理与接口技术 教学课件 ppt 作者 吕林涛 主编 梁莉 宋继红 副主编 第七章_第1页
第1页 / 共46页
微型计算机原理与接口技术 教学课件 ppt 作者 吕林涛 主编 梁莉 宋继红 副主编 第七章_第2页
第2页 / 共46页
微型计算机原理与接口技术 教学课件 ppt 作者 吕林涛 主编 梁莉 宋继红 副主编 第七章_第3页
第3页 / 共46页
微型计算机原理与接口技术 教学课件 ppt 作者 吕林涛 主编 梁莉 宋继红 副主编 第七章_第4页
第4页 / 共46页
微型计算机原理与接口技术 教学课件 ppt 作者 吕林涛 主编 梁莉 宋继红 副主编 第七章_第5页
第5页 / 共46页
点击查看更多>>
资源描述

《微型计算机原理与接口技术 教学课件 ppt 作者 吕林涛 主编 梁莉 宋继红 副主编 第七章》由会员分享,可在线阅读,更多相关《微型计算机原理与接口技术 教学课件 ppt 作者 吕林涛 主编 梁莉 宋继红 副主编 第七章(46页珍藏版)》请在金锄头文库上搜索。

1、本章内容提要: 8253定时/计数器 定时计数器在微机系统中的应用,在微机系统中,常常需要为CPU和外部设备提供时间基准以实现定时或延时控制,如定时中断、定时检测、定时扫描等,或对外部事件进行计数并将计数结果提供给CPU。显然,定时/计数器在计算机系统中是个关键部件。 实现定时或延时控制的方法一般有以下3种: 1) 软件定时。编制一段程序,用软件来实现计数和定时要求。这种方法通用性和灵活性都好,但要占用CPU的时间。 2) 设计数字逻辑电路来实现定时和计数要求。即由硬件电路实现的定时器/计数器,这种电路,若要改变定时/计数的要求,必须改变电路参数。通用性和灵活性都差。 3) 采用可编程的定时/

2、计数器,其定时与计数功能可由程序灵活地设定,设定后与CPU并行工作,不占用CPU的时间。本章介绍的8253就是可编程的定时/计数器芯片。,7.1 8253定时/计数器,8253是Intel公司生产的可编程的定时/计数器芯片。8253的操作对所在系统没有特殊要求,其通用性强,适用于各种微处理器组成的系统。它有3个独立的16位减1计数器,每个计数器有6种工作方式,能进行二进制或二十进制计数或定时操作,8253最大时钟频率为2.6MHz,所有的输入/输出都与TTL电平兼容。,7.1.1 8253的内部结构,8253结构图如图所示。它由数据总线缓冲器、读/写逻辑、控制字寄存器以及3个计数器(0、1、2

3、)组成。各部分功能如下。,1.数据总线缓冲器 数据总线缓冲器是8253与CPU之间的数据接口,采用8位、双向、三态的缓冲器。CPU用输入/输出指令对8253进行读写操作的所有信息都是通过这8位总线传送的。传送的信息包括以下3个方面: 1)CPU在初始化编程时写入8253的控制字。 2)CPU向8253计数器写入的计数初值。 3)CPU从8253计数器读取的计数值。 2.读/写逻辑 读/写逻辑电路从系统总线接收输入信号,经过译码,产生对8253各部分的控制。当片选信号(CS)有效时,读/写逻辑才能工作。该控制逻辑根据读/写命令及送来的地址信息,决定3个计数器和控制字寄存器中哪一个能够工作,并控制

4、内部总线上数据传送的方向。 3.控制字寄存器 控制字寄存器接收CPU送来的控制字,决定每个计数器的工作方式和所执行的操作。当A1A0=11时,用来接收CPU输出的控制字。此寄存器只能写入而不能读出。,4.计数器0、计数器1和计数器2 计数器0、计数器1和计数器2是3个16位减1计数器,它们互相独立,内部结构和功能相同。每个计数器有3根信号线:时钟输入CLK、门控信号输入GATE和输出OUT。每个计数器有4个寄存器:控制寄存器初始化时,将控制字寄存器中的内容写入该寄存器;计数初值寄存器初始化时写入该计数器初始值;减法计数寄存器计数初值由计数初值寄存器送入减法计数寄存器,当计数输入端输入一个计数脉

5、冲时,减法计数寄存器内容减1,当减到0时,输出端输出相应信号表示计数结束;当前计数值锁存器用于锁存减1计数器的内容,以供读出和查询。由于减法计数寄存器的内容随输入时钟脉冲在不断变化,为了读取当前计数值,只有先把它送到当前计数值锁存器,并加以锁存才能读出。计数通道内部逻辑框图如图所示。,7.1.2 8253的引脚,8253采用24引脚双列直插式封装,如图所示,下面分别说明其功能。,D0D7为双向三态的数据总线,用于传送数据(计数器的计数值)和控制字。 CS为片选信号(输入),当CS为低电平时,该芯片被选中。 RD为读信号(输入),用于对8253寄存器进行读操作。 WR为写信号(输入),用于对82

6、53寄存器进行写操作。 A1、A0为地址线 (输入), 用于选择8253内部寄存器,以便对它们进行读写操作。 CS、RD、WR、A1和A0组合起来所产生的选择与操作功能如表所示。 CLK02是各计数器的时钟输入端。计数器就是对该引脚的输入脉冲进行计数。8253规定CLK的输入脉冲周期不能小于380ns。 GATE02为门控信号,是计数器的输入控制信号,用来控制计数器的工作。当GATE为低电平时,禁止计数器工作。只有当GATE为高电平时,才允许计数器工作。GATE信号不仅在计数开始而且在计数过程中起作用。 OUT02为计数器输出信号,用来产生不同工作方式时的输出波形。当计数器计数到零时,在OUT

7、引脚上输出一个信号,该信号的波形取决于工作方式。 GND为接地线。,7.1.3 8253的控制字和工作方式,1.8253的控制字 通过对8253内部的控制寄存器编程实现对3个计数器工作方式的控制,控制字格式如图所示。,SC1、SC0计数器选择位,这两位表示这个控制字对哪一个计数器设置的,其说明如图所示。 RW1、RW0数据读/写格式选择位。CPU对计数器写入初值和读取它们的当前值时,有几种不同的格式,由这两位来决定,其说明如图所示。 M2、M1、M0计数器工作方式选择位。8253的每个计数通道有6种不同的工作方式,由这3位决定,其说明如图所示。 BCD数制选择位。8253的每个计数器有两种进制

8、:二进制和二十进制,由这一位决定选择哪一种。 BCD0表示采用二进制计数,写入的初值范围为0000HFFFFH,其中0000H是最大值,代表65536。 BCD1表示采用二十进制计数,写入的初值范围为00009999,其中0000是最大值,代表10000。由于计数器为减1操作,故当初始值为0的计数值最大。,2.8253的工作方式 可编程定时/计数器8253有两个基本功能,即定时和计数。除此之外,还可以作为频率发生器、分频器、实时时钟、单脉冲发生器等。这些功能是通过对8253编程,写入方式控制字来完成的,8253为每个计数通道提供6种工作方式。下面对其工作方式进行说明。 (1)方式0计数结束时产

9、生中断当写入方式0控制字CW后,计数器输出端OUT立即变成低电平。当写入计数器初值N后,若GATE为高电平,计数器开始计数。在计数过程中,OUT端一直维持低电平,直到计数到0(结束)时,OUT端变高电平,向CPU发出中断请求。8253工作方式0的时序图如图所示。,8253用作计数时,一般都工作在方式0。方式0有如下特点: 1) 计数器只计一遍数。当计数到0时,并不恢复计数初值,不开始重新计数,输出端OUT由低变高且一直保持为高。只有当写入一个新的计数初值后,OUT才变低,开始新的计数。 2) 在计数过程中可改变计数值。如果计数器为8位(RW1RW001),在写入新的8位计数值后,计数器将按新的

10、计数值重新开始计数。如果计数器为16位(RW1RW011),在写入第一个字节后,计数器停止计数,在写入第二个字节后,计数器按照新的数值开始计数。 3) 在计数过程中,可由门控信号GATE控制暂停。当GATE为0时,计数器暂停计数;当GATE变为1后,就接着计数。 4) 方式0的OUT信号在计数到0时由低变高,可作为中断请求信号。,(2)方式1可程控的单脉冲 在设定工作方式1和写入计数初值后,OUT输出高电平,此时并不开始计数。当门控信号GATE变为高电平时,启动计数,OUT输出变低电平。在整个计数过程中,OUT都维持为低电平,直到计数到0时,输出变为高电平。因此,输出为一单脉冲,其低电平的维持

11、时间由装入的计数初值来决定。图所示为8253工作方式1的时序图。,方式1有如下特点: 1) 当计数到0后,计数器可再次由外部启动,按原计数初值重新开始计数,输出单脉冲,而不需要再次送一个计数初值。 2) 在计数过程中,外部可发出门控脉冲,进行再触发。这时不管原来计数到何值,计数器将重新开始计数,输出端仍保持低电平。 3) 在计数过程中改变计数初值不影响本次计数过程。若门控信号再次被触发,则计数才按新的计数值计数。,(3)方式2分频器 在这种方式下,CPU输出控制后,计数器输出端为高电平。当写入计数初值后,计数器立即对CLK端的输入脉冲计数。在计数过程中输出端始终保持为高电平,直到计数器减为1时

12、,输出变低电平。经过一个CLK周期,输出恢复为高电平,同时按照原计数初值重新开始计数。如果计数值为N,则在CLK端每输入N个脉冲后,就输出一个脉冲。因此,这种方式可以作为分频器或用于产生实时时钟中断。图所示为8253工作方式2的时序图。,方式2有如下特点: 1) 不用重新设置计数初值,计数器能够连续工作,输出固定频率的脉冲。 2) 计数过程可由门控信号GATE控制。当GATE为0时,暂停计数。当GATE变为1后,下一个CLK脉冲使计数器恢复初值,重新开始计数。 3) 在计数过程中可以改变计数初值,这对正在进行的计数过程没有影响。但当计数到1时输出变低,过一个CLK周期输出变高,计数器将按新的计

13、数值计数。所以对方式2改变计数初值时,在下一次计数有效。,(4)方式3方波发生器 在这种方式下,当CPU设置控制字后,输出为高电平。在写入计数初值后就开始计数,输出保持为高电平。当计数到一半计数初值时,输出变为低电平,直至计数到0,输出又变为高电平,重新开始计数。若计数值为N,则方式3的输出为周期(NCLK周期)的方波。图所示为8253工作方式3的时序图。,方式3有如下特点: 当计数初值N为偶数时,输出端的高低电平持续时间相等,各为N/2个CLK脉冲周期,当计数初值N为奇数时,输出端的高电平持续时间比低电平持续时间多一个脉冲周期,即高电平持续(N1)/2个脉冲周期,低电平持续(N1)/2个脉冲

14、周期。例如N5,则输出高电平持续3个脉冲周期,低电平持续2个脉冲周期。 2) GATE1,允许计数;GATE0,停止计数。如果在OUT为低期间GATE0,OUT将立即变高。当GATE变高以后,在下一个CLK脉冲来到时,计数器将重新装入初始值,开始计数。这种情况是通过门控信号使计数器实现同步,称为硬件同步。 3) 如果GATE信号一直为高电平,在写入控制字和计数初值后,将在下一个CLK脉冲到来时装入计数初值并开始计数,这种情况称为软件同步。 4) 在计数期间写入一个新的计数初值,如果在输出信号半周结束之前没有收到GATE脉冲,则要到现行输出半周结束后才按新的计数初值开始计数。如果在写入新计数初值

15、之后在现行输出半周结束之前收到GATE脉冲,计数器将在下一个CLK脉冲来到时立即装入新的计数初值并开始计数。,(5)方式4软件触发的选通信号发生器 在这种方式下,当写入控制字后,输出端OUT变为高电平,以此作为初始电平。当写入计数初值后开始计数,这称为软件触发。当计数到0后,输出变低电平,经过一个CLK周期,输出又变高电平,计数器停止计数。这种方式计数也是一次性的,只有在输入新的计数值后,才能开始新的计数过程。若设置的计数初值为N,则是在写入了计数初值后经过(N+1)个CLK脉冲,才输出一个负脉冲。一般将此负脉冲作为选通信号。图所示为8253工作方式4的时序图。,方式4有如下特点: 当GATE

16、1时,允许计数;当GATE0时,禁止计数。所以,要做到软件触发,GATE应保持为1。 2) 在计数过程中,若改变计数初值,则按新的计数初值开始计数。这称为软件再触发。,6)方式5硬件触发的选通信号发生器 在这种方式下,当写入控制字后,输出端出现高电平作为初始电平。在写入计数初值后,计数器并不立即开始计数,而是要由门控脉冲的上升沿来启动计数,这称为硬件触发。当计数到0时,输出变低电平,又经过一个CLK脉冲,输出恢复为高电平,这样在输出端得到一个负脉冲选通信号。计数器停止计数后要等到下次门控脉冲的触发,才能再进行计数。8253工作方式5的时序如图所示。,方式5的特点是: 1) 若设置计数初值为N,则在门控脉冲触发后,经过(N1)个CLK脉冲,才能输出一个脉冲。 2) 在计数过程中,若GATE端又出现一个脉冲进行触发,则使计数器重新开始计数,但对输出状态没有影响。 3)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号