资源预览内容
第1页 / 共149页
第2页 / 共149页
第3页 / 共149页
第4页 / 共149页
第5页 / 共149页
第6页 / 共149页
第7页 / 共149页
第8页 / 共149页
第9页 / 共149页
第10页 / 共149页
亲,该文档总共149页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
7.1 定时、计数技术7.1 定时、计数技术 7.1 定时、计数技术一、概述 二、可编程计数器/定时器8253/8254 三、Intel 8253/8254的应用7.1 定时、计数技术 一、概 述1、定时与计数控制系统与计算机中,常常需要有定时信号,以实现定时或 延时控制。如定时中断,动态存储器的定时刷新等。此外, 还需要有计数功能,以实现对外部事件的计数,当外部事件 发生的次数达到规定值后,向计算机发出中断请求,进而实 现相应的控制或处理。定时的本质就是计数,当计数信号是周期信号时,计数就可 以用于定时。如以秒为单位计数,则计数60次就是1分,计满 60分就是1小时,计满24小时就是1天7.1 定时、计数技术2、实现定时和计数的三种方法 软件方法:采用软件定时,让计算机执行一个专门的指 令序列,由执行指令序列中每条指令所花费的时间构成 一个固定的时间间隔,从而达到定时或延时的目的。 不可编程的硬件定时:采用电子器件构成定时或延时电 路,通过调整电路中定时元件的数值,可实现调整定时 或延时的数值和范围。 可编程的硬件定时:在微机系统中采用软硬件结合的方 法,即采用可编程定时的电路器件实现定时。如: Intel 8253/8254,Zilog CTC,MC6840等。8253-5( 5MHz)和8254-2(10MHz)的引脚和功能都是兼容的。7.1 定时、计数技术二、可编程计数器/定时器8253-PIT1、8253-PIT的主要功能Intel 8253-PIT是具有3个16位计数器通道的可编程 计数器/定时器芯片,主要功能如下: (1) 具有3个独立的16位计数通道; (2) 每个计数通道都可按2进制或BCD进制计数; (3) 8253-PIT每个计数通道的计数速率最高可达2MHz,8253-5(5MHz), 8254-2(10MHz); (4) 每个通道有6种工作方式,可由程序设置改变; (5) 全部输入输出都与TTL电平兼容。7.1 定时、计数技术2、8253的结构框图如图7.1所示 8253由与CPU 接口、内部控 制电路以及三 个计数器通道 组成。图7.1 Intel 8253结构框图7.1 定时、计数技术1)数据总线缓冲器:CPU用输入输出指令对8253进行读写 操作时的所有信息都通过该缓冲器传送。 2)读/写逻辑:这是8253内部操作的控制电路,它 从 系统控制总线上接收输入信号,然后转换成8253内部 操作的各种控制信号。 3)控制字寄存器:通过该寄存器CPU可以设置三个 计 数器通道的工作方式。 4)计数器0,1,2:这是3个独立的计数/定时通道,是16 位的可设置计数初值的减法计数器。如图7.2所示,是 每个计数通道的结构。内有计数初值寄存器CR,计数 执行部件CE和输出锁存器OL及控制字寄存器。其中CE 作减法计数。7.1 定时、计数技术计数器1计数器2计数器07.1 定时、计数技术3、8253的引脚8253与CPU接口 的引脚,除了没有 复位信号RESET引 脚外,其他与8255 相同。如图7.3所 示,(a)是引脚图, (b)是8253的功能 结构。7.1 定时、计数技术1)CLKCLK为时钟输入引脚,用以输入计数执行部件CE(减法 计数器)的计数脉冲信号。 2)OUT它是通道输出信号引脚,从功能上来说也可称为“计 数到零/定时时间到”输出引脚。8253的基本功能就是 对外部输入到CLK引脚的脉冲进行减法计数。 3)GATE它是门控输入信号引脚,当GATE为低电平时禁止计数 器工作,通常GATE为高电平或有上升沿跳变时计数器才 能工作。7.1 定时、计数技术 4、8253的工作方式 8253有6种工作方式,每个通道均可以通过编程选择工作方式。 计数启动方式:软件启动:GATE端为高电平,置入计数初值后的第2个CLK脉冲的下降沿就开始计数硬件启动:GATE端要求有一个上升沿跳变,对应CLK脉冲的下降沿开始计数 工作方式: 方式0:计数到零产生中断请求。软件启动。 方式1:硬件可重复触发的单稳态触发器。硬件启动。(3)方式2:分频器。软、硬件启动。(4)方式3:方波发生器(用得最多的方式)。软、硬件启动。(5)方式4:软件触发选通。软件启动。(6)方式5:硬件触发选通。硬件启动。7.1 定时、计数技术(1)方式0 计数到零产生中断请求如图7.4所示,CPU写入控制字CW,在WR的上升沿,OUT 输出变低或保持低。初值由CR到CE7.1 定时、计数技术 CPU将计数初值N写入计数初值寄存器CR(图中初值为4),在 WR上升沿之后的第一个CLK脉冲的下降沿将CR的内容送入计数执 行部件CE。 当GATE=1时,在CR内容送入CE后的每一个CLK脉冲下降沿使CE减 1计数,在计数过程中OUT一直保持低直到计数为零。 计数器减到0时,OUT由低跳到高电平,此输出信号可作为中断 请求。 在方式0中,当GATA=0时,技术暂停,当GATA变高后就接着计数 。如图7.5所示。 在计数过程中也可改变计数初值。在写入新的计数初值后,计数 器将立即按新的计数值重新开始计数,即改变计数初值是立即 有效的,参见图7.67.1 定时、计数技术7.1 定时、计数技术(2)方式1 硬件可重复触发的单稳态触发器 若设置初值为N,则输出为N个CLK周期宽度的负脉冲。 计数到零时,可再次由GATE上升沿触发,输出同样宽度的 负脉冲,而不必重新写入初值,即可重复触发如图7.7所示。7.1 定时、计数技术 在计数过程中(输出负脉冲期间),可由GATE上升沿再触发 ,如图7.8所示。 在计数过程中,CPU可改变初值,这时计数过程不受影响, 计数到0后输出变高。当再次触发时,计数器才开始按新的 计数初值计数。即改变计数初值是下次有效的。7.1 定时、计数技术(3)方式2 分频器 不用重新设置计数初值,通道能连续工作。如果初 值为N,则每输入N个CLK脉冲,输出一个负脉冲,负脉 冲的宽度为1个CLK周期,重复周期为N倍的CLK周期。 计数过程中可由GATE信号控制,当GATE信号变低时 ,立即暂停现行计数;当GATE信号变高后,从计数初值 开始重新计数,如图7.9所示。 如果在计数过程中,CPU重新写入计数初值,则对于 正在进行的计数无影响,而是从下一个计数操作周期开 始按新的计数值改变输出脉冲的频率,如图7.10。7.1 定时、计数技术图7.9 方式2中门控信号GATA的作用图7.10 方式2计数过程中改变初值7.1 定时、计数技术 (4)方式3 方波发生器 注意初值N为偶数或奇数时,输出信号的差别。N为偶数时,输 出对称方波,周期为N个CLK宽度;N为奇数时,输出有N+1/2个 CLK周期的高电平和N-1/2个CLK周期的低电平。图7.11 方式3时序图7.1 定时、计数技术 在计数过程中,GATE信号变低则暂停现行计数过程, 直到GATE变高,将从计数初值开始重新计数。 如果要求改变输出方波的频率,则CPU可在任何时候 重新写入初值,并从下一个计数操作周期开始改变输 出方波频率7.1 定时、计数技术(5)方式4 软件触发选通 若初值为N ,则写入初值后的N+1个CLK脉冲才输出一个负 脉冲,负脉冲的宽度为一个CLK周期,如图7.12。 当GATE=1时,允许计数;GATE=0时,禁止计数。 在计数过程中改变初值,则按新的初值重新计数,即改变 初值是立即有效的。图7.12 方式4时序图7.1 定时、计数技术(6)方式5 硬件触发选通方式 初值为N,则在门控GATE上升沿触发后。经过N+1个CLK 脉冲,才输出一个CLK周期的负脉冲,如图7.13。图7.13 方式5时序图7.1 定时、计数技术 若在计数过程中再次出现门控GATE触发信号。则将从初 值开始重新计数,但OUT输出的高电平不受影响,如图 7.14。 若在计数过程中改变初值,只要在计数到0之前不出现新 的门控触发信号,则原计数过程不受影响;等计数到0并 出现新的门控触发信号后,再按新的计数初值计数。若在 写入了新的计数初值后,在未计数到0之前有门控触发信 号出现,则立即按新的计数初值重新开始计数。图7.14 方式5中门控信号GATA的作用7.1 定时、计数技术(7) 六种工作方式总结 时钟周期和输出周期的区别 输出波形在时钟下降沿产生电平变化方式N与输出波形关系改变计数值0写入计数值N后,经N1个CLK脉冲,输出变高下一个CLK周期立即 有效 1单稳脉冲的宽度为N个CLK外部触发以后有效2每N个CLK脉冲输出一个CLK周期的脉冲计数到1以后有效3前一半为高电平、后一半为低电平的方波外部触发有效 / 计 数到1有效 4写入N后经过N1个CLK,输出宽度为1个CLK的 脉冲计数到0有效5门控触发后过N1个CLK,输出宽度为1个CLK的 脉冲外部触发有效计数值N与输出波形的关系 7.1 定时、计数技术门控信号GATE的作用方式GATE低电平或变低电平 上升沿高电平0禁止计数允许计数 1启动计数,下一个CLK脉冲 使输出为低2禁止计数,立即使 输出为高重新装入计数值,启动计 数允许计数3禁止计数,立即使 输出为高重新装入计数值,启动计 数允许计数4禁止计数允许计数 5启动计数7.1 定时、计数技术 方式2(分频器)、方式4(软件触发选通)和方式5( 硬 件触发选通),它们的输出波形相同,都是宽度为 1个CLK 周期的负脉冲。区别是:方式2是自动重复工作的,而方式 4需要由软件(设置计数初值)触发启动,方式5需要由硬 件(门控GATE信号)触发启动。 方式5(硬件触发选通)与方式1(硬件触发单稳),触发 信号相同,但输出波形不同:方式1输出为宽度是N个CLK周 期的负脉冲(计数过程中输出为低) ,而方式5输出为宽 度是1个CLK周期的负脉冲(计数过程中输出为高)。7.1 定时、计数技术 6种工作方式中,只有方式0,写入控制字后输出为低 ;其余5种方式,都是写入控制字后输出为高。 6种工作方式中的任何一种方式,只有在写入计数值 后才能开始计数。方式0、2、3、4都是写入计数初值 后,计数过程就开始了。而方式1和方式5在写入计数 初值后,需由外部GATE信号的触发启动,才能开始计 数过程。 6种工作方式中,只有方式2(分频器)和方式3(方 波发生器)为自动重复工作方式,其他4种方式都是 一次 性计数,要继续工作需要重新启动。图7.15是8253六种工作方式下的输出波形图。7.1 定时、计数技术图7.15 8253六种工作方式下的输出波形图7.1 定时、计数技术5、8253的初始化编程(1)内部寄存器寻址一片8253占用四个连续的端口地址,分别对应于三 个计数初值寄存器端口和一个控制寄存器端口。3个 通道共用一个控制端口,用控制字的D7和D6两位来表 示作用于哪个通道。8253内部寄存器的寻址如下表所 示:7.1 定时、计数技术表7-1:8253内部寄存器的寻址CSRDWRA1 A0寄存器选择和操作01000写通道0计数初值寄存器 CR0 01001写通道1计数初值寄存器 CR1 01010写通道2计数初值寄存器 CR2 01011写控制字寄存器 00100读通道0输出锁存器OL0 00101读通道1输出锁存器OL1 00110读通道2输出锁存器OL27.1 定时、计数技术(2)8253的控制字:如图7.16所示计数器选择: 00计数器0 01计数器1 10计数器2 11无意义D7 D6 D5 D4 D3 D2 D1 D0工作方式选择: 000方式0 001方式1 10方式2 11方式3 100方式4 101方式5读写格式: 00计数值进行锁存 01只读/写低8位 10只读/写高8位 11先读/写低8位,后高8位数制选择: 0二进制格式 1BCD格式(十进 制)图7.
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号