第7章串并行接口技术

上传人:平*** 文档编号:28011965 上传时间:2018-01-14 格式:PPT 页数:149 大小:3.49MB
返回 下载 相关 举报
第7章串并行接口技术_第1页
第1页 / 共149页
第7章串并行接口技术_第2页
第2页 / 共149页
第7章串并行接口技术_第3页
第3页 / 共149页
第7章串并行接口技术_第4页
第4页 / 共149页
第7章串并行接口技术_第5页
第5页 / 共149页
点击查看更多>>
资源描述

《第7章串并行接口技术》由会员分享,可在线阅读,更多相关《第7章串并行接口技术(149页珍藏版)》请在金锄头文库上搜索。

1、7.1 定时、计数技术,一、概述二、可编程计数器/定时器8253/8254三、Intel 8253/8254的应用,一、概 述,1、定时与计数 控制系统与计算机中,常常需要有定时信号,以实现定时或延时控制。如定时中断,动态存储器的定时刷新等。此外,还需要有计数功能,以实现对外部事件的计数,当外部事件发生的次数达到规定值后,向计算机发出中断请求,进而实现相应的控制或处理。 定时的本质就是计数,当计数信号是周期信号时,计数就可以用于定时。如以秒为单位计数,则计数60次就是1分,计满60分就是1小时,计满24小时就是1天,2、实现定时和计数的三种方法软件方法:采用软件定时,让计算机执行一个专门的指令

2、序列,由执行指令序列中每条指令所花费的时间构成一个固定的时间间隔,从而达到定时或延时的目的。不可编程的硬件定时:采用电子器件构成定时或延时电路,通过调整电路中定时元件的数值,可实现调整定时或延时的数值和范围。可编程的硬件定时:在微机系统中采用软硬件结合的方法,即采用可编程定时的电路器件实现定时。如:Intel 8253/8254,Zilog CTC,MC6840等。8253-5(5MHz)和8254-2(10MHz)的引脚和功能都是兼容的。,二、可编程计数器/定时器8253-PIT,1、8253-PIT的主要功能 Intel 8253-PIT是具有3个16位计数器通道的可编程计数器/定时器芯片

3、,主要功能如下:(1) 具有3个独立的16位计数通道;(2) 每个计数通道都可按2进制或BCD进制计数;(3) 8253-PIT每个计数通道的计数速率最高可达2MHz, 8253-5(5MHz), 8254-2(10MHz);(4) 每个通道有6种工作方式,可由程序设置改变;(5) 全部输入输出都与TTL电平兼容。,2、8253的结构框图,如图7.1所示8253由与CPU接口、内部控制电路以及三个计数器通道组成。,图7.1 Intel 8253结构框图,1)数据总线缓冲器:CPU用输入输出指令对8253进行读写操作时的所有信息都通过该缓冲器传送。2)读/写逻辑:这是8253内部操作的控制电路,

4、它 从系统控制总线上接收输入信号,然后转换成8253内部操作的各种控制信号。3)控制字寄存器:通过该寄存器CPU可以设置三个 计数器通道的工作方式。4)计数器0,1,2:这是3个独立的计数/定时通道,是16位的可设置计数初值的减法计数器。如图7.2所示,是每个计数通道的结构。内有计数初值寄存器CR,计数执行部件CE和输出锁存器OL及控制字寄存器。其中CE作减法计数。,计数器1,计数器2,计数器0,3、8253的引脚,8253与CPU接口的引脚,除了没有复位信号RESET引脚外,其他与8255相同。如图7.3所示,(a)是引脚图,(b)是8253的功能结构。,1)CLK CLK为时钟输入引脚,用

5、以输入计数执行部件CE(减法计数器)的计数脉冲信号。2)OUT 它是通道输出信号引脚,从功能上来说也可称为“计数到零/定时时间到”输出引脚。8253的基本功能就是对外部输入到CLK引脚的脉冲进行减法计数。3)GATE 它是门控输入信号引脚,当GATE为低电平时禁止计数器工作,通常GATE为高电平或有上升沿跳变时计数器才能工作。,4、8253的工作方式,8253有6种工作方式,每个通道均可以通过编程选择工作方式。计数启动方式: 软件启动:GATE端为高电平,置入计数初值后的第2个CLK脉冲的 下降沿就开始计数 硬件启动:GATE端要求有一个上升沿跳变,对应CLK脉冲的下降 沿开始计数工作方式:方

6、式0:计数到零产生中断请求。软件启动。 方式1:硬件可重复触发的单稳态触发器。硬件启动。(3)方式2:分频器。软、硬件启动。(4)方式3:方波发生器(用得最多的方式)。软、硬件启动。(5)方式4:软件触发选通。软件启动。(6)方式5:硬件触发选通。硬件启动。,(1)方式0 计数到零产生中断请求,如图7.4所示,CPU写入控制字CW,在WR的上升沿,OUT输出变低或保持低。,初值由CR到CE, CPU将计数初值N写入计数初值寄存器CR(图中初值为4),在WR上升沿之后的第一个CLK脉冲的下降沿将CR的内容送入计数执行部件CE。 当GATE=1时,在CR内容送入CE后的每一个CLK脉冲下降沿使CE

7、减1计数,在计数过程中OUT一直保持低直到计数为零。 计数器减到0时,OUT由低跳到高电平,此输出信号可作为中断请求。在方式0中,当GATA=0时,技术暂停,当GATA变高后就接着计数。如图7.5所示。在计数过程中也可改变计数初值。在写入新的计数初值后,计数器将立即按新的计数值重新开始计数,即改变计数初值是立即有效的,参见图7.6,(2)方式1 硬件可重复触发的单稳态触发器, 若设置初值为N,则输出为N个CLK周期宽度的负脉冲。 计数到零时,可再次由GATE上升沿触发,输出同样宽度的负脉冲,而不必重新写入初值,即可重复触发如图7.7所示。, 在计数过程中(输出负脉冲期间),可由GATE上升沿再

8、触发,如图7.8所示。 在计数过程中,CPU可改变初值,这时计数过程不受影响,计数到0后输出变高。当再次触发时,计数器才开始按新的计数初值计数。即改变计数初值是下次有效的。,(3)方式2 分频器, 不用重新设置计数初值,通道能连续工作。如果初值为N,则每输入N个CLK脉冲,输出一个负脉冲,负脉冲的宽度为1个CLK周期,重复周期为N倍的CLK周期。 计数过程中可由GATE信号控制,当GATE信号变低时,立即暂停现行计数;当GATE信号变高后,从计数初值开始重新计数,如图7.9所示。 如果在计数过程中,CPU重新写入计数初值,则对于正在进行的计数无影响,而是从下一个计数操作周期开始按新的计数值改变

9、输出脉冲的频率,如图7.10。,图7.9 方式2中门控信号GATA的作用,图7.10 方式2计数过程中改变初值,(4)方式3 方波发生器, 注意初值N为偶数或奇数时,输出信号的差别。N为偶数时,输出对称方波,周期为N个CLK宽度;N为奇数时,输出有N+1/2个CLK周期的高电平和N-1/2个CLK周期的低电平。,图7.11 方式3时序图, 在计数过程中,GATE信号变低则暂停现行计数过程,直到GATE变高,将从计数初值开始重新计数。 如果要求改变输出方波的频率,则CPU可在任何时候重新写入初值,并从下一个计数操作周期开始改变输出方波频率,(5)方式4 软件触发选通, 若初值为N ,则写入初值后

10、的N+1个CLK脉冲才输出一个负脉冲,负脉冲的宽度为一个CLK周期,如图7.12。 当GATE=1时,允许计数;GATE=0时,禁止计数。 在计数过程中改变初值,则按新的初值重新计数,即改变初值是立即有效的。,图7.12 方式4时序图,(6)方式5 硬件触发选通方式, 初值为N,则在门控GATE上升沿触发后。经过N+1个CLK脉冲,才输出一个CLK周期的负脉冲,如图7.13。,图7.13 方式5时序图, 若在计数过程中再次出现门控GATE触发信号。则将从初值开始重新计数,但OUT输出的高电平不受影响,如图7.14。 若在计数过程中改变初值,只要在计数到0之前不出现新的门控触发信号,则原计数过程

11、不受影响;等计数到0并出现新的门控触发信号后,再按新的计数初值计数。若在写入了新的计数初值后,在未计数到0之前有门控触发信号出现,则立即按新的计数初值重新开始计数。,图7.14 方式5中门控信号GATA的作用,(7) 六种工作方式总结, 时钟周期和输出周期的区别 输出波形在时钟下降沿产生电平变化,计数值N与输出波形的关系,门控信号GATE的作用, 方式2(分频器)、方式4(软件触发选通)和方式5( 硬件触发选通),它们的输出波形相同,都是宽度为 1个CLK周期的负脉冲。区别是:方式2是自动重复工作的,而方式4需要由软件(设置计数初值)触发启动,方式5需要由硬件(门控GATE信号)触发启动。 方

12、式5(硬件触发选通)与方式1(硬件触发单稳),触发信号相同,但输出波形不同:方式1输出为宽度是N个CLK周期的负脉冲(计数过程中输出为低) ,而方式5输出为宽度是1个CLK周期的负脉冲(计数过程中输出为高)。, 6种工作方式中,只有方式0,写入控制字后输出为低;其余5种方式,都是写入控制字后输出为高。 6种工作方式中的任何一种方式,只有在写入计数值后才能开始计数。方式0、2、3、4都是写入计数初值后,计数过程就开始了。而方式1和方式5在写入计数初值后,需由外部GATE信号的触发启动,才能开始计数过程。 6种工作方式中,只有方式2(分频器)和方式3(方波发生器)为自动重复工作方式,其他4种方式都

13、是一次 性计数,要继续工作需要重新启动。 图7.15是8253六种工作方式下的输出波形图。,图7.15 8253六种工作方式下的输出波形图,5、8253的初始化编程,(1)内部寄存器寻址 一片8253占用四个连续的端口地址,分别对应于三个计数初值寄存器端口和一个控制寄存器端口。3个通道共用一个控制端口,用控制字的D7和D6两位来表示作用于哪个通道。8253内部寄存器的寻址如下表所示:,表7-1:8253内部寄存器的寻址,(2)8253的控制字:如图7.16所示,图7.16 8253/8254方式控制字格式,(3)初始化编程顺序 对于每个计数通道进行初始化时,必须先写入控制字,然后写入计数初值。

14、这是因为计数初值的写入格式是由控制字的D5和D4两位编码决定的。写入计数初值时,必须按控制字规定的格式写入。例1:若用8253的计数通道1,工作在方式0,按8位二进制计数,初值为128,试编写初始化程序,设口地址为48H- 4BH。解:控制字为01010000=50H, 8位计数初值为80H moval,50H;设置通道1控制字 out4BH, al moval, 80H;写通道1计数初值,只写低 out49H, al ;8位,例2:若用8253通道1,工作在方式1,按二-十进制计数,计数初值为2010,口地址同上,试编写初始化程序。解:通道控制字为01110011=73H 计数初值高8位为2

15、0,低8位为10(注意:实际编程时要写20 H和10H)moval, 73H;写通道1控制字out4BH, almoval, 10H;写通道1计数初值低8位out49H, almoval, 20H;写通道1计数初值高8位out49H, al 当执行完上述程序后,8253通道1工作于方式1。经GATE上升沿触发后,输出产生一宽度为2010个CLK周期的负脉冲。,6、计数值和状态的读回,(1) 8253的计数值的读回 由CPU访问每个通道的输出锁存器OL,即可实现读出每个通道的计数值。如果是8位计数只需读一次;如果是16位计数,则要读两次,先读低8位,后读高8位。 由于通道计数器在不停的计数过程中,而锁存器的值是跟随计数器的值变化的,为使读得的数正确,有下面两种方法:,1)读之前先暂停计数 此法是利用GATE信号使计数器暂停计数,或由外部逻辑暂时封锁CLK的输入,然后进行读出。这要求硬件和软件配合。设8253口地址为48H-4BH,要读通道0的计数值,可编程如下: moval, 30H;写控制字00110000 out4BH,al inal, 48H;读计数通道0的低8位 movbl, al;存于寄存器BL inal, 48H;读计数通道0的高8位 movbh, al;存于寄存器BH注意在读之前,应先写控制字,其中控制字的D5D4=11,

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

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

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