分享
分享赚钱 收藏 举报 版权申诉 / 60

类型微机原理课件 10_定时计数器.ppt

  • 上传人:gnk289057
  • 文档编号:8292804
  • 上传时间:2019-06-18
  • 格式:PPT
  • 页数:60
  • 大小:1,017.50KB
  • 配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    微机原理课件 10_定时计数器.ppt
    资源描述:

    1、定时与计数技术及应用,定时/计数器 8253,了解定时/计数技术的应用情况,掌握8253的连接与编程,熟悉8253的工作方式,10.1 定时与计数,定时器和计数器都由数字电路中的计数电路构成。前者记录高精度晶振脉冲信号,因此可以输出准确的时间间隔,称为定时器,而当记录外设提供的具有一定随机性的脉冲信号时,它主要反映脉冲的个数,称为计数器。,定时的方法有3种:(1)软件定时(2)不可编程的硬件定时(3)可编程的定时。,1. 软件定时,根据CPU执行每条指令需要一定的时间,重复执行一些指令就会占用一段固定的时间,通过适当地选取指令和循环次数便很容易实现定时功能,这种方法不需要增加硬件,可通过编程来

    2、控制和改变定时时间,灵活方便,节省费用。缺点是CPU重复执行的这段程序的本身并没有什么具体目的,仅为延时,从而降低了CPU利用率。,2.不可编程的硬件定时,3.可编程的定时,10.2 Intel 8253可编程定时器/计数器,一、8253的基本功能和内部结构,(1)3个独立的16位计数器,最大计数范围为065535; (2)每个计数器均可以按二进制或BCD码计数; (3)计数器速率可达2MHz; (4)可编程6种不同的工作方式; (5)所有输入和输出都与TTL兼容。 8253具有较好的通用性和使用灵活性,几乎适合于任何一种微处理器组成的系统。,1. 8253 的基本功能,2. 8253的内部结

    3、构,8253的内部结构如图10.1所示,由数据总线缓冲器、控制寄存器、读/写控制逻辑和计数器等部分组成。,图10.1 8253的内部结构示意图,图10.2 计数器内部逻辑图,(1)数据总线缓冲器,该缓冲器为8位双向三态的缓冲器,可直接挂在数据总线上。CPU通过8位数据总线D0D7传送如下信息:,(2)读/写控制逻辑,决定三个计数器和控制字寄存器中哪一个能进行工作,并控制内部总线上数据传送的方向。,(3)控制寄存器,接收从CPU来的控制字,并由控制字的D7、D6位的编码决定该控制字写入哪个计数器的控制寄存器,控制寄存器只能写入,不能读出。,(4)计数器,当8253用作计数器时,加在CLK引脚上脉

    4、冲的间隔可以是不相等的;当它用作定时器时,则在CLK引脚应输入精确的时钟脉冲,8253所能实现的定时时间,取决于计数脉冲的频率和计数器的初值,即:定时时间=时钟脉冲周期Tc预置的计数初值n。 对8253来讲,外部输入到CLK引脚上的时钟脉冲频率不能大于2MHZ,否则需分频后才能送到CLK端。,二、8253的引脚信号,8253是一片具有3个独立通道的16位计数器/定时器芯片,使用单一+5V电源,24引脚双列直插式封装,如图10.3所示,1. 与CPU的接口信号,表10.1 8253读/写操作逻辑表,2. 与外部设备的接口信号,(1)CLK0(CLK1,CLK2)时钟脉冲输入端,用于输入定时脉冲或

    5、计数脉冲信号。CLK可以是系统时钟脉冲,也可以是由其他脉冲源提供。8253规定加在CLK引脚的输入时钟周期不得小于380ns; (2)GATE0(GATE1,GATE2)门控输入端,用于外部控制计数器的启动或停止计数的操作。当GATE为高电平时,允许计数器工作,当GATE为低电平时,禁止计数器工作; (3)OUT0(OUT1,OUT2)计数输出端。在不同工作方式中,当计数器计数到0时,OUT引脚上必输出相应的信号。,三、8253的工作方式,8253是一种面向微机系统的专用接口芯片,它的每一个计数器都可以按照控制字的规定有6种不同的工作方式, 每种工作方式中都有以下三种情况: * 正常计数的波形

    6、图; * 正在计数过程中改变门控信号GATE后对整个计 数工作的影响; * 正计数的过程中改变计数初值对整个计数工作的 影响。,方式0计数结束中断方式 (Interrupt on Terminal Count),图10.4(a) 方式0 正常计数,图10.4(b) 方式0时GATE 信号的作用,GATE为低电平,暂停计数; 当GATE重新为高电平时又恢复计数。,图10.4(c) 方式0时计数过程中改变计数值,新的初值立即有效,2. 方式1 可编程的单稳态触发器 (Programmable One Short),图10.5(a) 方式1 正常计数,这种方式由外部门控信号GATE上升沿触发,使输出

    7、端变为低电平,产生一单拍负脉冲信号,脉冲宽度由计数值决定。,图10.5(b) 方式1时GATE 信号的作用,终止原来的计数过程,开始新一轮计数,图10.5(c) 方式1时计数过程中改变计数值,新的初值下轮计数有效,3. 方式2 比率发生器、分频器 (Rate Generator),方式2用门控信号达到同步计数的目的,波形图如图10.6(a)、(b)、(c)、(d)所示。,图10.6(a) 方式2 正常计数,减到1时,输出端OUT变为低电平, 减到0时,输出OUT又变成高电平,从初值开始新的计数过程,图10.6(b) 方式2时GATE信号的作用,GATE信号为低电平终止计数,而恢复为高电平后的第

    8、一个时钟下降沿重新从初值计数。由此可见,GATE一直维持高电平时,计数器方能作为一个N分频器。,图10.6(c) 方式2时计数过程中改变计数值,新的初值下次有效,4. 方式3 方波发生器 (Square Wave Generator),方式3的工作过程同方式2,只是输出的脉宽不同,波形如图10.7(a)、(b)、(c)、(d)所示。,图10.7(a) 方式3 计数值为偶数时的波形,计数器减到N/2时,输出端OUT变为低电平;减到0时,OUT又变成高电平,并重新从初值开始新的计数过程。此时,OUT输出完全对称的方波,图10.7(b) 方式3 计数值为奇数时的波形,计数减到(N+1)/2以后,输出

    9、端OUT变为低电平 近似方波,图10.7(c) 方式3 GATE信号的作用,计数器重新装入初值并重新开始计数,图10.7(d) 方式3 计数过程中改变计数值,若GATE一直维持高电平,在计数结束后的下一计数周期开始新的计数 ; 若写入新的初值后,遇到门控信号的上升沿,则终止现行计数过程,从下一个时钟下降沿开始按新的初值进行计数。,5. 方式4 软件触发选通方式 (Software Triggered Strobe),用方式4工作时,GATE门控信号只是用来允许或不允许定时操作的,定时的执行由程序装入的初值决定,波形图如图10.8(a)、(b)、(c)所示。,图10.8(a) 方式4 正常计数,

    10、图10.8(b) 方式4 GATE 信号的作用,GATE=1,允许计数;GATE信号变低,禁止计数,输出维持当时的电平,直到GATE变成高电平后继续计数,从OUT端输出一个负脉冲。,图10.8(c) 方式4 计数过程中改变计数值,新值是立即有效的,6. 方式5 硬件触发选通方式 (Hardware Triggered Strobe),方式5为硬件触发选通方式,完全由GATE端引入的触发信号控制定时和计数,波形图如图10.9(a)、(b)、(c)所示。,图10.9(a) 方式5 正常计数,图10.9(b) 方式5时GATE 信号的作用,门控信号上升沿任何时候到来都会立即触发一个计数过程,图10.

    11、9(c) 方式5时计数过程中改变计数值,新的计数初值在下一个门控信号上升沿触发后有效。,四、8253的控制字与初始化编程,1. 8253的控制字,8253的控制字有4个主要功能: * 选择计数器; * 确定计数器数据的读写格式; * 确定计数器的工作方式; * 确定计数器计数的数制。,控制字的格式如图10.10所示,图10.10 8253控制字格式,注:图中可以是0,也可以是1,一般取0,2. 8253的初始化编程,刚接通电源时,8253芯片通道都处于未定义状态,在使用之前,必须用程序把它们初始化为所需的特定模式,这个过程称为初始化编程。,(1) 写入控制字,用输出指令向控制字寄存器写入一个控

    12、制字,以选定计数器通道,规定该计数器的工作方式和计数格式。,(2) 写入计数初值,用输出指令向选中的计数器端口地址中写入一个计数初值,初值设置时要符合控制字中有关格式的规定。若是8位数,只要用一条输出指令就可完成初值的设置。如果是16位数,则必须用两条输出指令来完成,而且规定先送低8位数据,后送高8位数据。 注意:计数初值为0时,也要分成两次写入,因为在二进制计数时它表示65536,在BCD计数时它表示10000。,8253工作过程中,CPU可用输入指令读取任一通道的计数值。CPU读到的是执行输入指令瞬间计数器的当前值。但8253的计数器是16位,所以要分2次读至CPU。因此,若不锁存的话,在

    13、前后两次执行输入指令的过程中,计数值可能已经变化了。锁存当前计数值有下面两种方法:,利用GATE信号使计数过程暂停。 向8253写入一个方式控制字, 令8253通道的锁存器锁存。,例如,在某微机系统中,8253的3个计数器的端口地址分别为3F0H、3F2H和3F4H,控制字寄存器的端口地址为3F6H,要求8253的通道0工作于方式3,BCD计数,并已知对它写入的计数初值n=1234(十进制数),则初始化程序为:,五、应用举例,1. 8253定时功能的应用,在计算机应用中,经常会遇到隔一定时间重复某一个动作的应用。,设某应用系统中,系统提供一个频率为10kHz的时钟信号,要求每隔100ms采集一

    14、次数据。 在系统中,采用8253定时器的通道0来实现这一要求。将8253芯片的CLK0接到系统的10kHz时钟上,OUT0输出接到CPU的中断请求线上,8253的端口地址为10H13H,如图10.11所示。,图10.11 8253用于定时中断,(1) 选择工作方式(分频),(2) 确定计数初值,已知 fCLK0=10kHz,则TCLK0=0.1ms,所以,计数初值 N=TOUT0/TCLK0=100ms/0.1ms=1000=03E8H,(3) 初始化编程,根据以上要求,可确定8253通道0的方式控制字为00110100B,即34H。,初始化程序段如下:,2. 8253计数功能的应用,通过PC

    15、机系统总线在外部扩展一个8253,利用其通道0记录外部事件的发生次数,每输入一个高脉冲表示事件发生1次。当事件发生100次后就向CPU提出中断请求(边沿触发),假设8253片选信号的I/O地址范围为200H203H,如图10.12。,图10.12 8253用于外部事件的计数,根据要求,可以选择方式0来实现,计数初值N=100。8253初始化程序段如下:,3. 8253计数通道的级联应用,已知某8253占用I/O空间地址为320H323H,如图10.13所示,输入其CKL1端的脉冲频率为1MHz,要求用8253连续产生10秒的定时信号。,分析:8253的一个通道的最大计数范围为65536,本例中要求输出10秒定时信号,则计数初值N=10/10-6=107,超过了8253一个通道的最大计数值,此时可以使用2个8253通道级连方式来实现。若级连前2个通道的初值为N1和N2,则级连后作为一个整体的计数值为N=N1N2。,图10.13 8253通道的级联,设计数器初值N1=500=1F4H,N2=20000=4E20H,使用方式2,二进制计数,则通道1、2的初始化程序如下:,

    展开阅读全文
    提示  道客多多所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:微机原理课件 10_定时计数器.ppt
    链接地址:https://www.docduoduo.com/p-8292804.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    道客多多用户QQ群:832276834  微博官方号:道客多多官方   知乎号:道客多多

    Copyright© 2025 道客多多 docduoduo.com 网站版权所有世界地图

    经营许可证编号:粤ICP备2021046453号    营业执照商标

    1.png 2.png 3.png 4.png 5.png 6.png 7.png 8.png 9.png 10.png



    收起
    展开