《计数器定时器 》PPT课件.ppt
《《计数器定时器 》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《计数器定时器 》PPT课件.ppt(36页珍藏版)》请在三一办公上搜索。
1、第8章 计数器/定时器,计数器与定时器概述可编程计数器/定时器8253 定时器/计数器8253内部结构 8253的引脚功能 8253的控制字 8253的工作方式 8253编程举例 8253应用举例,8.1 计数器与定时器概述,1.计数功能对事件的个数进行计数。正计数:关心记录事件的次数。倒计数:关心预先设定事件次数发生完的时刻。可由硬件计数器实现,事件作为计数器的时钟,此时事件的出现频率不一定一成不变。,2.定时功能,取得给定的时间间隔。延时:某事件发生后间隔一定时间的时刻。时标:给定时间间隔的连续脉冲。可由硬件计数器来实现,一定频率的信号作为计数器的时钟,如果只计数到就终止,即为延时。如果连
2、续不断的计数即可输出时标。,3.计数器/定时器的用途,计数功能作为计数个数到中断信号。记录外部特定事件发生的个数。定时功能作为周期性定时中断信号。用于分时性操作系统。用作系统时钟基准。作为一个可编程波特率发生器。用于异步串行通讯。作为I/O设备输出定时信号。实现外设与CPU的同步。节约CPU的时间延时。作为音源。,8.2 可编程计数器/定时器8253,可编程计数器/定时器工作原理1、计数功能设置计数初值,按减1或加1计数,减到0或加到溢出时输出一个信号,标志预置的计数值到。此时输入的计数脉冲的间隔不一定是固定的。计数功能关心的是计数脉冲的个数,而非脉冲的时间间隔。2、定时功能设定时常数(计数初
3、值),对输入的周期性脉冲进行减1或加1计数,计数为0时输出定时到脉冲,若连续计数便可按定时常数输出时钟周期整数倍的定时间隔信号。定时功能关心的是计数初值的写入时间与脉冲输出的时间间隔,要求输入的脉冲具有固定的频率。,定时器/计数器8253内部结构,Intel 8253是具有三个通道的16位定时器/计数器,可由软件设定6种工作方式。8253内部有三个独立的计数器通道:计数器0、1、2,结构完全相同。每个通道有6种工作方式,由控制寄存器选择。控制寄存器为8位,计数初值计数器CR16位,计数执行部件CE16位,计数输出锁存器OL16位。计数执行部件为16位的减法计数器,但16位寄存器都可用于8位,便
4、于与8位数据总线相连。每个通道可对外部输入CLK进行二进制或十进制减1计数。计数由引脚GATE控制。计数器归0时由OUT引脚输出信号。,8253的内部结构,8253内部每个计数器通道的结构图,8253的引脚功能,8253具有24个引脚,各引脚功能如下:D7D0 数据总线,双向三态,可直接与计算机系统数据总线相连。RD 读信号,输入,低电平有效,若有效则CPU从8253内部读取数据.WR 写信号,输入,低电平有效,若有效则CPU将数据写入8253内部寄存器。CS 片选信号,输入,低电平有效,与计算机连接时分配有效地址。A1 A0 内部计数器选择信号。8253内部有三个计数通道,使用4个端口地址。
5、,8253引脚功能,CLK0、CLK1、CLK2 通道0、通道1和通道2的计数时钟输入端,下降沿使通道减1。GATE0、GATE1、GATE2 门控制,输入,高电平有效或上升沿有效,有效时才允许计数器对输入时钟进行计数。OUT0、OUT1、OUT2 通道输出信号,当计数器计数到“0”时由此引脚输出一信号。,8.2.4 8253的控制字及工作方式,1.8253控制字控制字必须写入控制口,说明如下:SC1 SC0 计数器通道选择0 0 通道00 1 通道11 0 通道21 1 非法,8253控制字,RW1 RW0 计数器读写选择 0 0 计数器锁存0 1 只读写低8位1 0 只读写高8位1 1 先
6、低8位,再高8位M2 M1 M0 计数器工作方式选择0 0 0 方式00 0 1 方式1x 1 0 方式2x 1 1 方式31 0 0 方式41 0 1 方式5BCD 计数器计数模式选择 0 二进制计数器1 BCD码计数器,2.8253 编程命令,因各计数器有自己的端口地址,所以没有太多顺序要求,但必须遵守两条规定:设置计数初值前必须先写控制字设置计数初值时要与控制字中的D5 D4位规定的读写指示一致。命令字共4个:写控制字命令设置计数初值(时间常数)命令读出命令,读出当前计数值锁存命令,配合读出命令,先锁住,再读出。,3.8253工作方式,模式0 计数结束产生中断控制字写入后OUT即变为低电
7、平,当计数器为0时,输出OUT变为高电平,并停止现行操作。计数初值写入后在下一个CLK下降沿才送入计数器,因此OUT要在CPU写入计数初值后经N+1个CLK之后才变高。当GATE变为低电平时计数停止,再变为高电平时计数继续进行。若计数过程中重新送入初值,则按新值重新计数。,模式1 可重新触发单稳态触发器,写入控制字后OUT变为高电平,GATE上升沿后,下一个CLK的下降沿使得OUT为低电平并开始计数,回零时OUT变为高电平。GATE再来一次上升沿后会再次使OUT变为低电平,计数器以初值重新计数。再次给通道写入时间常数,不影响现行操作过程,GATE再次触发后才按新的时间常数操作。,模式2 分频器
8、,写入控制字后OUT为高电平,输入时间常数后,下一时钟开始计数,减到1时输出变为低电平,经过一个CLK输出变为高电平,计数重新开始。GATE=1计数进行,GATE=0计数停止,且下一个CLK下降沿计数器重新赋初值,GATE变为高电平,计数重新开始。计数期间送入新值,GATE若维持高电平,本周期继续进行,下一个周期按新值计数操作。在计数计到1之前,若写入新值,而GATE又出现上升沿,则在下一个CLK下降沿,以新值重新计数。,模式3 方波发生器,写入控制字后OUT为高电平,输入时间常数后,下一时钟开始计数,计到一半时输出变为低电平,计到终值时变为高电平,并开始下一次计数过程。若N为偶数,高低电平持
9、续时间相等;若为奇数,则高电平持续时间为(N+1)/2,低电平持续时间为(N-1)/2。GATE=1计数进行,GATE=0计数停止,OUT立即为高,计数器重新赋初值,GATE变高,在下一个CLK下降沿计数重新开始。计数期间送入新值,本周期继续进行,下一个周期按新值计数。,模式4 软件触发选通信号发生器,计数器主要是靠写入初始值这个软件操作来触发计数器工作的,每次通过写入新的初始值使计数器重新开始工作。OUT平时为高电平,计数到0时,输出OUT 变低,一个时钟周期后又变高。即只有在计数到0时,才输出负脉冲作为选通信号。GATE=1允许计数,GATE=0禁止计数,GATE不影响OUT电平输出。计数
10、期间送入新的时间常数,则下一个时钟按新值重新计数。,模式5硬件触发选通信号发生器,写入控制字后OUT变为高电平,输入时间常数后由GATE上升沿启动计数。计数为0时输出一个时钟的负脉冲,并停止现行操作。计数过程中,若GATE又来一个上升沿,则下一个时钟计数器重新赋值计数。计数过程中写入时间常数,当前周期不受影响,只有下一个 GATE上升沿才启动新值计数。,8.2.5 8253编程举例,使用8253时,必须首先进行初始化编程,其步骤为:先向控制口写入控制字;再向每个通道端口地址写入计数初值:若规定只写低8位,则高8位自动置0;若规定只写高8位,则低8位自动置0;若规定写16位,则先写低8位,再写高
11、8位。最大计数初值0:二进制:216=65536BCD码:104=10000,例1:8253计数器工作于模式3,计数器初值15,时钟脉冲频率为2MHz,确定OUT端输出方波的特性。解:TCLK=1/2 s=500ns计数器初值15为奇数,输出分频波高电平宽度:TCLK(N+1)/2=4s输出分频波低电平宽度:TCLK(N-1)/2=3.5s,例2:设8253的口地址为40H 43H,如要求8253的通道1工作于方式3,按BCD码计数,计数值为十进制6000;通道2工作于方式2,按二进制计数,计数初值为390,试编程初始化8253。,MOVAL,67H;控制字01,10,011,1 通道1,只装
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计数器定时器 计数器定时器 PPT课件 计数器 定时器 PPT 课件
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-5604138.html