微机原理第十章-定时计数技术_第1页
微机原理第十章-定时计数技术_第2页
微机原理第十章-定时计数技术_第3页
微机原理第十章-定时计数技术_第4页
微机原理第十章-定时计数技术_第5页
已阅读5页,还剩52页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 信息工程学院信息工程学院 电子信息教研室电子信息教研室邮箱:邮箱:电话:电话第10章章 定时定时/计数技术计数技术10.1 基本概述(了解)基本概述(了解)10.2 定时定时/计数器芯片计数器芯片Intel 8253(重点重点)10.3 8253的初始化编程(的初始化编程(重点重点)10.4 8253的应用(自学)的应用(自学)10.1 基本概述基本概述 10.1.1 定时定时/计数计数u 定时定时 定时(计时)是最常见和最普遍的问题,一天定时(计时)是最常见和最普遍的问题,一天24小时的计时,小时的计时,称为日时钟。长时间的计时(日、月、年直至世纪的计时)称为称为

2、日时钟。长时间的计时(日、月、年直至世纪的计时)称为实时钟。实时钟。 u 计数计数 计数使用得更多。例如在生产线上对零件和产品的计数,对计数使用得更多。例如在生产线上对零件和产品的计数,对大桥和高速公路上车流量的统计等等。大桥和高速公路上车流量的统计等等。u 定时与计数的关系定时与计数的关系 计时的本质就是计数,只不过这里的计时的本质就是计数,只不过这里的“数数”的单位是时间单的单位是时间单位。如果把一小片一小片计时单位累加起来,就可获得一段时间。位。如果把一小片一小片计时单位累加起来,就可获得一段时间。10.1 基本概念基本概念 10.1.2 频率频率-声音声音-音乐音乐 从定时、计数问题还

3、可以引出或派生出一些其他的概念从定时、计数问题还可以引出或派生出一些其他的概念和术语和术语-频率的概念。频率的概念。 由频率可以引出声音,频率高,声音的音调高;频率低,由频率可以引出声音,频率高,声音的音调高;频率低,声音的音调低。声音的音调低。 如果不仅考虑发声频率的高低,还考虑发声所占时间的如果不仅考虑发声频率的高低,还考虑发声所占时间的长短,就会引出音乐的概念。把音调的高低和发声的长短巧长短,就会引出音乐的概念。把音调的高低和发声的长短巧妙地结合起来,便产生了美妙动听的音乐。妙地结合起来,便产生了美妙动听的音乐。10.1 基本概念基本概念 10.1.3 微机系统中的定时微机系统中的定时u

4、 内部定时内部定时 它是它是计算机本身运行的时间基准或时序关系计算机本身运行的时间基准或时序关系,计算机每个操,计算机每个操作都是按照严格的时间节拍执行的。作都是按照严格的时间节拍执行的。u 外部定时外部定时 它是它是外部设备外部设备实现某种功能时,本身所需要的一种时序关系,实现某种功能时,本身所需要的一种时序关系,如打印机接口标准如打印机接口标准Centronics就规定了打印机与就规定了打印机与CPU之间传送信之间传送信息应遵守的工作时序。息应遵守的工作时序。 10.1 基本概念基本概念 10.1.4 定时方法定时方法u 软件定时软件定时 它是利用它是利用CPU内部定时机构,运用内部定时机

5、构,运用软件编程软件编程,循环执行一段程循环执行一段程序而产生的等待延时序而产生的等待延时。这是常用的一种定时方法,主要用于短时延。这是常用的一种定时方法,主要用于短时延时。时。 优点优点是不需增加硬设备,只需编制相应的延时程序以备调用。是不需增加硬设备,只需编制相应的延时程序以备调用。 缺点缺点是是CPU执行延时等待时间增加了执行延时等待时间增加了CPU的时间开销,延时时的时间开销,延时时间越长,这种等待开销越大,降低了间越长,这种等待开销越大,降低了CPU的效率,浪费的效率,浪费CPU的资源。的资源。并且,软件延时的时间随主机频率不同而发生变化,即定时程序的并且,软件延时的时间随主机频率不

6、同而发生变化,即定时程序的通用性差。通用性差。10.1 基本概念基本概念 10.1.4 定时方法(续)定时方法(续)u 硬件定时硬件定时 它是采用它是采用可编程通用的定时可编程通用的定时/计数器计数器或单稳延时电路(属于不可编或单稳延时电路(属于不可编程的硬件定时)产生定时或延时。程的硬件定时)产生定时或延时。 优点优点是不占用是不占用CPU的时间,定时时间长,使用灵活。尤其是定时的时间,定时时间长,使用灵活。尤其是定时准确,定时时间不受主机频率影响,定时程序具有通用性,故得到广泛准确,定时时间不受主机频率影响,定时程序具有通用性,故得到广泛应用。应用。 通用的定时器通用的定时器/计数器蕊片种

7、类很多,如计数器蕊片种类很多,如MC6840-PTM、Intel 8253/8254等。等。IBM-PC/XT内定时内定时/计数系统的核心元件就采用计数系统的核心元件就采用8253,而,而PC/AT使用使用 8254。 8254是是8253的改进型,比的改进型,比8253具有更优良的性能。但两者的基本具有更优良的性能。但两者的基本功能相同,硬件组成、外部引脚和编程特性完全兼容。功能相同,硬件组成、外部引脚和编程特性完全兼容。 10.2 定时定时/计数器芯片计数器芯片Intel 8253 10.2.1 8253的芯片功能的芯片功能 Intel 8253是是8086微机系统常用的定时微机系统常用的

8、定时/计数器芯片,它具有计数器芯片,它具有定定时与计数时与计数两大功能。其主要功能特性有:两大功能。其主要功能特性有: 采用采用NMOS工艺,用单一的工艺,用单一的+5V电源供电。电源供电。 片内有片内有3个独立的个独立的16位减法计数器(或计数通道),每个计位减法计数器(或计数通道),每个计数器又可分为数器又可分为2个个8位的计数器。位的计数器。 计数频率为计数频率为05MHz。 两种计数方式,即两种计数方式,即2进制或进制或BCD方式计数。方式计数。 6种工作方式,既可对系统时钟脉冲计数实现定时,又可对种工作方式,既可对系统时钟脉冲计数实现定时,又可对外部事件进行计数。可由软件或硬件控制开

9、始计数或停止计数。外部事件进行计数。可由软件或硬件控制开始计数或停止计数。10.2 定时定时/计数器芯片计数器芯片Intel 8253 10.2.2 8253的内部结构的内部结构(1)数据总线缓冲器)数据总线缓冲器 8位双向三态的缓冲器,可直接挂在数据总线上,位双向三态的缓冲器,可直接挂在数据总线上,CPU通过它,一方面可以通过它,一方面可以向控制寄存器写入控制字,向计数器写入计数初值;另一方面向控制寄存器写入控制字,向计数器写入计数初值;另一方面CPU也可通过该缓也可通过该缓冲器读出计数器的当前计数值。冲器读出计数器的当前计数值。(2)读)读/写控制逻辑写控制逻辑 读读/写逻辑的功能是接收来

10、自写逻辑的功能是接收来自CPU的控制信号,包括读信号的控制信号,包括读信号RD#、写信号、写信号WR#、片选信号、片选信号CS#和芯片内部寄存器寻址信号和芯片内部寄存器寻址信号A0Al,完成对,完成对8253各计数器的各计数器的读读/写操作。片选信号接写操作。片选信号接I/O端口译码电路,端口译码电路,A0、A1接接CPU地址总线低地址总线低2位进行片位进行片内内3个计数通道和控制寄存器的端口的选择个计数通道和控制寄存器的端口的选择,读,读/写信号(写信号(RD#/WR#)接)接CPU的的IOR#/IOW#。(3) 控制寄存器控制寄存器 接收从接收从CPU来的控制字,并由控制字的来的控制字,并

11、由控制字的D7、D6位的编码决定控制字写入哪位的编码决定控制字写入哪个计数器的控制寄存器。个计数器的控制寄存器。此寄存器只能写入,不能读出。此寄存器只能写入,不能读出。(4)计数器)计数器 8253有有3个计数器通道:个计数器通道:计数器计数器0、计数器、计数器1和计数器和计数器2。每个计数器有。每个计数器有3根信根信号线;即号线;即2根输入信号,时钟信号根输入信号,时钟信号CLK和门控和门控GATE信号;信号;1根输出信号根输出信号OUT。 8253计数器的内部结构(见课本计数器的内部结构(见课本P287的图的图10-2) 首先预置首先预置计数初值寄存器计数初值寄存器,然后把计数,然后把计数

12、初值传送至减法计数初值传送至减法计数器器,计数脉冲经计数脉冲经CLK输入端对计数器进行减法计数输入端对计数器进行减法计数。计数器的当计数器的当前内容可以随时送入输出锁存器前内容可以随时送入输出锁存器,以供,以供CPU读取,这样不会干扰读取,这样不会干扰计数过程,还使得计数值不一定要立即输入到计数过程,还使得计数值不一定要立即输入到CPU。计数到零的。计数到零的状态指示可由状态指示可由OUT引脚和状态寄存器的某一位反映出来,以供查引脚和状态寄存器的某一位反映出来,以供查询式询式I/O或中断式或中断式I/O来检测零值状态。来检测零值状态。10.2 定时定时/计数器芯片计数器芯片Intel 8253

13、 10.2.3 8253的外部引脚的外部引脚D0D7:三态双向数据线三态双向数据线,和,和CPU数据总线相连,用于传递数据总线相连,用于传递CPU与与8253之间的数据信息、控制信息和状态信息。之间的数据信息、控制信息和状态信息。CS#:片选信号片选信号,输入,低电平有效,表示,输入,低电平有效,表示8253被选中,允许被选中,允许CPU对其进对其进行读、写操作。此脚连接译码电路输出端。行读、写操作。此脚连接译码电路输出端。 WR#:写信号写信号,输入,低电平有效。用于控制,输入,低电平有效。用于控制CPU对对8253的写操作。的写操作。RD#:读信号读信号,输入,低电平有效。用于控制,输入,

14、低电平有效。用于控制CPU对对8253的读操作。的读操作。A0,A1:地址输入线地址输入线,用来寻址,用来寻址8253内部的内部的4个端口,即个端口,即3个计数器和个计数器和1个个控制字寄存器。控制字寄存器。CLK0.1.2:时钟脉冲输入端时钟脉冲输入端,用于输入定时脉冲或计数脉冲信号。,用于输入定时脉冲或计数脉冲信号。CLK可以是系统时钟脉冲,也可以由系统时钟分频或者其他脉冲源提供。可以是系统时钟脉冲,也可以由系统时钟分频或者其他脉冲源提供。 当用于定时时,这个脉冲必须是均匀的、连续的、周期精确的;当用于定时时,这个脉冲必须是均匀的、连续的、周期精确的; 而用于计数时,这个脉冲可以是不均匀的

15、、断续的、周期不定的。而用于计数时,这个脉冲可以是不均匀的、断续的、周期不定的。GATE0.1.2:门控输入端门控输入端,用于外部控制计数器的启动计数和停止计数的,用于外部控制计数器的启动计数和停止计数的操作。可分成操作。可分成电平控制电平控制和和上升沿控制上升沿控制两种类型。两种类型。 OUT0.1.2:计数输出端计数输出端,当计数器从初值开始完成计数操作时,当计数器从初值开始完成计数操作时,OUT引引脚上输出相应的信号。(详见脚上输出相应的信号。(详见8253工作方式)工作方式) 表表10-1 8253的读的读/写操作写操作/CSA1A0/RD/WR操作功能操作功能PC/XT计算机计算机端

16、口端口00010写计数初值到写计数初值到T0计数器计数器40H00110写计数初值到写计数初值到T1计数器计数器41H01010写计数初值到写计数初值到T2计数器计数器42H01110写控制器字到控制寄存器写控制器字到控制寄存器43H00001读读T0计数器计数值计数器计数值40H00101读读T1计数器计数值计数器计数值41H01001读读T2计数器计数值计数器计数值42H10.2 定时定时/计数器芯片计数器芯片Intel 8253 10.2.4 8253的工作方式的工作方式 8253共有共有6种工作方式(方式种工作方式(方式0方式方式5),产生),产生6种波形种波形发生器。各方式下的工作状

17、态是不同的,输出的波形也不同。发生器。各方式下的工作状态是不同的,输出的波形也不同。u 方式方式0:计数结束中断(:计数结束中断(Out Signal on End of Count)-计数结束输出低到高翻转计数结束输出低到高翻转图图10-4 8253A方式方式0工作波形图工作波形图 方式方式0的特点的特点1、当控制字写入控制字寄存器后,输出、当控制字写入控制字寄存器后,输出OUT就变为低电平,装入就变为低电平,装入计数初值开始计数,在整个计数过程中,计数初值开始计数,在整个计数过程中,OUT保持为低电平,当计保持为低电平,当计数到数到0后,后,OUT变为高电平并保持,直到写入新的初值。变为高

18、电平并保持,直到写入新的初值。2、GATE的高低电平控制计数过程是否进行,当的高低电平控制计数过程是否进行,当GATE0时,暂时,暂停计数;当停计数;当GATE1时,继续计数。时,继续计数。3、计数结束时、计数结束时OUT信号的上升沿可作为中断请求信号。信号的上升沿可作为中断请求信号。4、计数由软件启动,每次写入计数初值只启动一次计数。、计数由软件启动,每次写入计数初值只启动一次计数。5、如果设置计数器初值为、如果设置计数器初值为N,则输出,则输出OUT在在N1个脉冲后才能变个脉冲后才能变高。高。 6、在计数过程中写入新的计数初值,则按新的初值重新开始计数。、在计数过程中写入新的计数初值,则按

19、新的初值重新开始计数。 u 方式方式1:可重触发的单稳态触发器:可重触发的单稳态触发器图图10-5 8253A方式方式1工作波形图工作波形图方式方式1的特点的特点1、当控制字写入控制字寄存器后,输出、当控制字写入控制字寄存器后,输出OUT就变为高电平,当计就变为高电平,当计数值写入计数器后,计数器并不是马上开始计数,直到数值写入计数器后,计数器并不是马上开始计数,直到GATE端来端来一个正脉冲(上升沿),经过一个一个正脉冲(上升沿),经过一个CLK脉冲后,脉冲后,OUT端变为低电端变为低电平,开始计数,在整个计数过程中,平,开始计数,在整个计数过程中,OUT保持为低电平,当计数到保持为低电平,

20、当计数到0后,后,OUT变为高电平,因此变为高电平,因此OUT输出为一个单稳脉冲。若外部输出为一个单稳脉冲。若外部GATE端再来一个触发脉冲,计数器又开始重新计数,则端再来一个触发脉冲,计数器又开始重新计数,则OUT端可端可再次产生一个单稳脉冲。再次产生一个单稳脉冲。 2、计数由、计数由GATE上升沿启动,只要上升沿启动,只要GATE端给触发脉冲,则会装入端给触发脉冲,则会装入计数值,并开始计数。计数值,并开始计数。OUT端输出一个同样宽度的单稳脉冲;在计端输出一个同样宽度的单稳脉冲;在计数过程中,当数过程中,当GATE端又来了触发脉冲时,则计数器从计数初值开端又来了触发脉冲时,则计数器从计数

21、初值开始重新计数,这将使始重新计数,这将使OUT端输出的单稳脉冲的宽度比原来加宽了。端输出的单稳脉冲的宽度比原来加宽了。在计数过程中写入新的计数初值,不会影响在计数过程中写入新的计数初值,不会影响OUT当前输出。只有当前输出。只有GATE端再次触发时,才按新的计数值计数。端再次触发时,才按新的计数值计数。 u 方式方式2:速率发声器:速率发声器图图10-6 8253A方式方式2工作波形图工作波形图方式方式2的特点的特点1、当控制字写入控制字寄存器后,输出、当控制字写入控制字寄存器后,输出OUT就变为高电平,装入就变为高电平,装入计数初值后,计数器开始计数,计数到计数初值后,计数器开始计数,计数

22、到1时,时,OUT变低,经过一个变低,经过一个CLK周期(计数到周期(计数到0时),时),OUT恢复到高电平,并且计数初值自动恢复到高电平,并且计数初值自动装入,计数器又重新开始计数过程。因为计数器能够连续工作,所装入,计数器又重新开始计数过程。因为计数器能够连续工作,所以以OUT端输出连续的负脉冲,频率为端输出连续的负脉冲,频率为CLK的的的的N分频,负脉冲宽度分频,负脉冲宽度为一个为一个CLK周期。周期。2、GATE可以控制计数过程,当可以控制计数过程,当GATE为低时暂停计数,恢复为高为低时暂停计数,恢复为高后重新从初值计数。在计数过程中若写入新的计数初值,不影响本后重新从初值计数。在计

23、数过程中若写入新的计数初值,不影响本次计数过程,下一个计数过程会按新的计数初值计数。次计数过程,下一个计数过程会按新的计数初值计数。 u 方式方式3:方波发生器:方波发生器 图图10-7 8253A方式方式3工作波形图工作波形图 方式方式3的特点的特点1、方式、方式3和方式和方式2的工作类似,唯一不同的是,计数器开始计数后,的工作类似,唯一不同的是,计数器开始计数后,当计数到初值的一半时,当计数到初值的一半时,OUT变为低电平,直至计到变为低电平,直至计到0,OUT又变又变为高电平,并重新开始计数,所以为高电平,并重新开始计数,所以OUT端输出为方波。端输出为方波。2、当计数初值、当计数初值N

24、为偶数时,前为偶数时,前N/2计数期间计数期间OUT输出高电平,后输出高电平,后N/2计数期间输出低电平,所以输出为对称方波。当计数初值计数期间输出低电平,所以输出为对称方波。当计数初值N为奇为奇数时,前(数时,前(N+1)/2计数期间计数期间OUT输出高电平,后(输出高电平,后(N-1)/2计数期计数期间输出低电平,所以输出波形不完全对称,近似方波。间输出低电平,所以输出波形不完全对称,近似方波。 u 方式方式4:软件触发选通:软件触发选通 图图10-8 8253A方式方式4工作波形图工作波形图 方式方式4的特点的特点1、当控制字写入控制字寄存器后,输出、当控制字写入控制字寄存器后,输出OU

25、T就变为高电平,装入就变为高电平,装入计数初值开始计数,在整个计数过程中,计数初值开始计数,在整个计数过程中,OUT保持为高电平,当计保持为高电平,当计数到数到0后,后,OUT变为低电平,经过一个变为低电平,经过一个CLK周期后,又变为高电平。周期后,又变为高电平。2、计数是一次性的(与方式、计数是一次性的(与方式0有相似之处),只有当写入新的计数有相似之处),只有当写入新的计数值后才开始下一次计数。值后才开始下一次计数。3、GATE的高低电平控制计数过程是否进行。当的高低电平控制计数过程是否进行。当GATE0时,暂时,暂停计数;当停计数;当GATE1时,继续计数。时,继续计数。4、计数由软件

26、启动,每次写入计数初值只启动一次计数。、计数由软件启动,每次写入计数初值只启动一次计数。5、当计数值为、当计数值为N时,则间隔时,则间隔N1个个CLK脉冲输出一个负脉冲(计脉冲输出一个负脉冲(计数一次有效)。数一次有效)。6、在计数过程中写入新的计数初值,则按新的初值重新开始计数。、在计数过程中写入新的计数初值,则按新的初值重新开始计数。u 方式方式5:硬件触发选通:硬件触发选通 图图10-9 8253A方式方式5工作波形图工作波形图 方式方式5的特点的特点1、当控制字写入控制字寄存器后,输出、当控制字写入控制字寄存器后,输出OUT就变为高电平,装入就变为高电平,装入计数初值后并不立即开始计数

27、,直到计数初值后并不立即开始计数,直到GATE端来一个正脉冲(上升端来一个正脉冲(上升沿),触发启动计数。在整个计数过程中,沿),触发启动计数。在整个计数过程中,OUT保持为高电平,当保持为高电平,当计数到计数到0后,后,OUT变为低电平,经过一个变为低电平,经过一个CLK周期后,又变为高电周期后,又变为高电平,停止计数。直到平,停止计数。直到GATE端再来触发脉冲,重新装入计数初值,端再来触发脉冲,重新装入计数初值,开始下一次计数。计数由开始下一次计数。计数由GATE上升沿启动,只要上升沿启动,只要GATE端给触发端给触发脉冲,则会装入计数值,并开始计数。脉冲,则会装入计数值,并开始计数。2

28、、在这种方式下,若设置的计数值是、在这种方式下,若设置的计数值是N,则在,则在GATE脉冲后,经过脉冲后,经过(N1)个)个CLK,OUT端才输出一个负脉冲。在计数过程中修改端才输出一个负脉冲。在计数过程中修改计数初值,不会影响本次计数,只有计数初值,不会影响本次计数,只有GATE端再次触发时,才按新端再次触发时,才按新的计数值计数。的计数值计数。8253的的6种工作方式比较如表种工作方式比较如表10-2所示(见课本所示(见课本P293)。)。 表表10-2 8253的的6种工作方式的比较种工作方式的比较方式方式0方式方式1方式方式2方式方式3方式方式4方式方式5OUT输出状态输出状态写入控制

29、后写入控制后变变0,计数结,计数结束变束变1,并维,并维持至重写控持至重写控制字或计数制字或计数初值初值写入控制后变写入控制后变1,GATE上升上升沿触发变沿触发变0,开,开始计数,计数结始计数,计数结束变束变1写入控制字后写入控制字后变变1,计数到,计数到1变变0,维持一个,维持一个Tclk变变1 写入控制字后变写入控制字后变0,装入计数初值且装入计数初值且GATE=1则则OUT变变1,计数到时,计数到时变变0,重装计数初值,重装计数初值维持计数,技术到时维持计数,技术到时则反向则反向写入控制字后写入控制字后变变1,计数结束,计数结束变变0,维持一个,维持一个写入控制字后写入控制字后变变1写

30、入控制字后变写入控制字后变1,GATE上升沿上升沿触发开始计数,计触发开始计数,计数结束输出一个宽数结束输出一个宽度为度为Tclk的负脉冲的负脉冲(单次)(单次)初值自动重装初值自动重装无无无无计数到计数到0重装重装根据计数初值的奇偶根据计数初值的奇偶分别重装分别重装无无无无计数过程中改计数过程中改变计数初值变计数初值立即有效立即有效GATE触发后有触发后有效效计数到计数到1或或 GATE触发后触发后有效有效计数结束或计数结束或 GATE触触发后有效发后有效立即有效立即有效GATE触发后有效触发后有效GATE信信号的作号的作用用0禁止计数禁止计数无影响无影响禁止计数禁止计数禁止计数禁止计数禁止

31、计数禁止计数无影响无影响下降下降暂停计数暂停计数无影响无影响停止计数停止计数停止计数停止计数停止计数停止计数无影响无影响上升上升继续计数继续计数从初值开始重新从初值开始重新计数计数从初值开始重从初值开始重新计数新计数从初值开始重新计数从初值开始重新计数从初值开始重从初值开始重新计数新计数从初值开始重新计从初值开始重新计数数1允许计数允许计数无影响无影响允许计数允许计数允许计数允许计数允许计数允许计数无影响无影响小结小结1小结小结1-8253的两个功能的两个功能u 计数器方式计数器方式 CPU给计数器装入计数初值后,当给计数器装入计数初值后,当GATE端变为高电平或者端变为高电平或者给一触发脉冲

32、时,可由外部事件作为给一触发脉冲时,可由外部事件作为CLK脉冲对计数值进行减脉冲对计数值进行减1计数,当计数器减至计数,当计数器减至 0时,在时,在 OUT端得到状态输出信号。端得到状态输出信号。CLK脉脉冲的时间间隔可以是均匀的,也可以是非周期的触发脉冲。冲的时间间隔可以是均匀的,也可以是非周期的触发脉冲。u 定时器方式定时器方式 当当CPU给计数器送入计数初值后,给计数器送入计数初值后,GATE端变为高电平时,端变为高电平时,由由CLK脉冲触发定时器开始工作,当计数器减至脉冲触发定时器开始工作,当计数器减至0(或定时时间到)时,在(或定时时间到)时,在 OUT端得到状态输出端得到状态输出信

33、号。信号。 小结小结2小结小结2-GATE引脚的应用引脚的应用u GATE=1(软启动)(软启动) 在该方式下在该方式下, CPU写入初值后,写入初值后,CLK的第一个脉冲将初值装的第一个脉冲将初值装入计数器,减法计数器在入计数器,减法计数器在CLK时钟作用下,从时钟作用下,从CLK的第二个脉冲的第二个脉冲开始每来一个脉冲计数器减开始每来一个脉冲计数器减1。u GATE=0(硬启动)(硬启动) 在在CPU写入初值,并在写入初值,并在GATE端得到启动正脉冲之后,端得到启动正脉冲之后,CLK的第一个脉冲将初值装入计数器,从的第一个脉冲将初值装入计数器,从CLK的第二个脉冲开始每的第二个脉冲开始每

34、来一个脉冲计数器减来一个脉冲计数器减1。小结小结3 先写控制字,再写计数初值,输出先复位,减先写控制字,再写计数初值,输出先复位,减1到到0再翻转。再翻转。门控信号有讲究,触发方式各不同:方式门控信号有讲究,触发方式各不同:方式0、4为电平触发;方为电平触发;方式式1、5为正沿触发;方式为正沿触发;方式2、3为电平、正沿触发均可用。每个为电平、正沿触发均可用。每个通道均可以通过编程选择通道均可以通过编程选择6种工作方式之一。种工作方式之一。小结小结3-六种工作方式的总规律六种工作方式的总规律小结小结4 控制字写入控制字写入8254控制寄存器时,所有的控制逻辑电路复位,控制寄存器时,所有的控制逻

35、辑电路复位,输出端输出端OUT进入初始状态(方式进入初始状态(方式0为低电平,其余为高电平)。为低电平,其余为高电平)。 初始值写入以后,要经过初始值写入以后,要经过CLK端一个时钟上升沿和一个下降端一个时钟上升沿和一个下降沿后,减沿后,减1计数器才能在计数器才能在CLK脉冲下沿作用下开始进行计数(在脉冲下沿作用下开始进行计数(在GATE1时)。时)。 在时钟脉冲在时钟脉冲CLK的上升沿时,门控信号的上升沿时,门控信号GATE被采样。在方被采样。在方式式0、4中,中,GATE输入是电平起作用。在方式输入是电平起作用。在方式1、5中,中,GATE输输入是上升沿起作用,此时,入是上升沿起作用,此时

36、,GATE信号的上升沿使信号的上升沿使8254内的一个边沿触发器置位,它由下一个内的一个边沿触发器置位,它由下一个CLK脉冲的上升沿采样,采样之后该触发器复位。而脉冲的上升沿采样,采样之后该触发器复位。而在方式在方式2、3中,中,GATE输入是电平或上升沿都起输入是电平或上升沿都起作用。作用。小结小结4-六种工作方式的共同特点六种工作方式的共同特点小结小结5 启动计数器工作的方式不同;启动计数器工作的方式不同; OUT输出波形不同;输出波形不同; GATE信号的作用不同;信号的作用不同; 本次计数过程中,本次计数过程中,GATE信号的改变对计数的影响;信号的改变对计数的影响; 本次计数过程中,

37、写入计数初值对计数的影响。本次计数过程中,写入计数初值对计数的影响。小结小结5-六种工作方式的区别六种工作方式的区别方式方式 0方式方式 1方式方式 2方式方式 3方式方式 4方式方式 50N0N0N0/N110NN/2 N/2 0/N0N0 1N0 1N0 1小结小结6-六种工作方式的输出波形六种工作方式的输出波形小结小结610.3 8253的初始化编程的初始化编程 10.3.1 初始化编程顺序初始化编程顺序 对于每个计数通道进行初始化时,必须先对于每个计数通道进行初始化时,必须先写控写控制字制字,然后,然后写入计数初值写入计数初值。写入计数初值时,必须。写入计数初值时,必须按控制字的按控制

38、字的D5、D4两位编码规定的格式进行写入。两位编码规定的格式进行写入。10.3 8253的初始化编程的初始化编程 10.3.2 8253的控制字的控制字图图10-10 8255的控制字的控制字u 计数器初值(见课本计数器初值(见课本P288) 作计数器用时,要求计数的次数可直接作为计数初值预置作计数器用时,要求计数的次数可直接作为计数初值预置到减到减1计数器中。计数器中。 计数初值计数初值NC的计算公式:的计算公式:NC=fCLK/fOUT,其中,其中fCLK是输入时是输入时钟脉冲的频率;钟脉冲的频率;fOUT是输出波形的频率。是输出波形的频率。 作定时器用时,计数初值作定时器用时,计数初值N

39、t即定时系数应根据要求定时的时即定时系数应根据要求定时的时间间t和时钟脉冲周期和时钟脉冲周期TCLK进行如下换算得出:进行如下换算得出:Nt=要求定时的时间要求定时的时间/时钟脉冲周期时钟脉冲周期=t/TCLK=t*fCLK。其中,。其中,t为要求定时的时间,为要求定时的时间,fCLK为为时钟脉冲频率。时钟脉冲频率。u 计数器初值(续)计数器初值(续) 当控制字当控制字D00时,时, 即选用二进制计数,初值可在即选用二进制计数,初值可在0FFFFH之间选择;当之间选择;当 D0l时,则为十进制计数,其值可在时,则为十进制计数,其值可在09999十进制之间选择。但无论何种计数方式,当计数初值为十

40、进制之间选择。但无论何种计数方式,当计数初值为0000H时,计数器的计数值最大(可记录脉冲个数为时,计数器的计数值最大(可记录脉冲个数为65536)。)。即即二进制计数时,计数值最小为二进制计数时,计数值最小为1,最大为,最大为65536;十进制计数;十进制计数时,计数值最小为时,计数值最小为 1,最大为,最大为 10000。计数器初值要根据工作。计数器初值要根据工作方式、应用条件经换算后确定。方式、应用条件经换算后确定。10.3 8253的初始化编程的初始化编程 10.3.3 初始化编程示例初始化编程示例 【例【例10-1】 设设8253的端口地址为:的端口地址为:04H07H,要使计,要使

41、计数器数器1工作在方式工作在方式0,仅用,仅用8位二进制计数,计数值为位二进制计数,计数值为128,进,进行初始化编程。行初始化编程。初始化程序:初始化程序: MOV AL,50H OUT 07H,AL MOV AL,80H OUT 05H,AL 【例【例10-2】设】设8253的端口地址为的端口地址为F8HFBH,若,若用通道用通道0工作在方式工作在方式1,按二,按二-十进制计数,计数值为十进制计数,计数值为5080H,进行初始化编程。,进行初始化编程。初始化程序:初始化程序: MOV AL,33H OUT 0FBH,AL MOV AL,80H OUT 0F8H,AL MOV AL,50H

42、OUT 0F8H,AL10.3 8253的初始化编程的初始化编程 10.3.4 8253的读出操作的读出操作 在在8253的实际使用中,有时需要读出计数通道的当前计数的实际使用中,有时需要读出计数通道的当前计数值,以便进行实时显示、实时检测或对计数值进行处理等。值,以便进行实时显示、实时检测或对计数值进行处理等。 由由CPU访问每个通道的访问每个通道的输出锁存器输出锁存器OL,即可实现读出每个,即可实现读出每个通道计数值的操作。通道计数值的操作。读出时使用的端口地址与写入计数初值时读出时使用的端口地址与写入计数初值时使用的端口地址是同一个使用的端口地址是同一个。 如果是如果是8位计数,则只需读

43、一次;如果是位计数,则只需读一次;如果是16位计数,则对同位计数,则对同一端口地址要读两次,第一次读出的是计数值的低一端口地址要读两次,第一次读出的是计数值的低8位,第二次位,第二次读出的是计数值的高读出的是计数值的高8位。位。 读操作必须严格按控制字读操作必须严格按控制字D5D4两位规定的格式进行。两位规定的格式进行。u 读之前先暂停计数读之前先暂停计数 这种方法是在读之前利用这种方法是在读之前利用GATE信号使计数过程暂停,或信号使计数过程暂停,或由外部逻辑禁止所要读出计数由外部逻辑禁止所要读出计数l通道的通道的CLK脉冲输入,然后再脉冲输入,然后再进行读出。这就要求软件和硬件的配合,即先

44、使进行读出。这就要求软件和硬件的配合,即先使GATE信号为信号为低电平或禁止低电平或禁止CLK脉冲输入,使计数器暂停计数,然后再执行脉冲输入,使计数器暂停计数,然后再执行下面所给的程序段,即可实现指定的读出操作。设下面所给的程序段,即可实现指定的读出操作。设8253的端口的端口地址为地址为48H4BH,要读出通道,要读出通道0的的16位计数值。位计数值。 IN AL,48H ;读计数通道;读计数通道0的低的低8位位 MOV BL,AL ;存于;存于BL IN AL,48H ;读计数通道;读计数通道0的高的高8位位 MOV BH,AL ;存于;存于BHu 读之前先送计数值锁存命令读之前先送计数值

45、锁存命令 8253的每个计数通道都有一个的每个计数通道都有一个16位的输出锁存器位的输出锁存器OL,用于,用于锁存计数值的高锁存计数值的高8位和低位和低8位。当没有接到锁存命令之前,在计数位。当没有接到锁存命令之前,在计数器的计数过程中,输出锁存器的值随计数执行部件器的计数过程中,输出锁存器的值随计数执行部件CE计数值的变计数值的变化而变化;当接到锁存命令后,化而变化;当接到锁存命令后,OL中的计数值就被锁存住了,不中的计数值就被锁存住了,不再随再随CE计数值的变化而变化。计数值的变化而变化。OL中的数值一直保存到数据被读中的数值一直保存到数据被读出或对该计数通道重新编程为止。当出或对该计数通

46、道重新编程为止。当CPU读出读出OL中的数据或对该中的数据或对该计数通道重新编程后,计数通道重新编程后,OL解除锁存,又开始跟随解除锁存,又开始跟随CE计数值变化。计数值变化。在锁存和读出计数值的过程中,计数执行部件仍在不停地作减在锁存和读出计数值的过程中,计数执行部件仍在不停地作减1计计数。这样,数。这样,CPU就可以在任何时刻先送锁存命令再读计数值,而就可以在任何时刻先送锁存命令再读计数值,而对计数器现行计数过程没有任何影响。对计数器现行计数过程没有任何影响。 计数值锁存命令是计数值锁存命令是8253控制字的一种特殊形式,所以写入的端控制字的一种特殊形式,所以写入的端口地址应是控制寄存器的端口地址,再由锁存命令本身的口地址应是控制寄存器的端口地址,再由锁存命令本身的D7D6编编

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论