微机系统与接口教学资料第八章.ppt
《微机系统与接口教学资料第八章.ppt》由会员分享,可在线阅读,更多相关《微机系统与接口教学资料第八章.ppt(40页珍藏版)》请在三一办公上搜索。
1、第八章 定时与计数器,一、基本概念,二、定时/计数器 Intel 8253,三、IBM PC/XT 中的定时/计数器电路,四、应用举例,一、基本概念 1.定时信号的需求:在计算机系统中,经常要用到定时信号,比如:在许多个人计算机中,动态存储器的刷新定时;系统日历时钟的计时;喇叭的 声源;都是用定时信号来产生的。在计算机实时控制与处理系统中,计算机需要每隔一段时间采样一次,在对采 样的数据处理、控制,也要用到定时信号。2.定时信号的产生 定时信号的产生有两种方式:软件方法:延时子程序;硬件方法:用定时/计数器(简单的软件控制,产生准确的时间延迟)。,3.可编程定时/计数器的工作原理,CPU对计数
2、器设定工作方式,装入初值,在GATE(门控信号)的启动下,计数器开始工作,在输入脉冲CLK的作用下做减 1 计数(来一个脉冲计数值减 1),减至 0时,输出端 OUT 输出一个信号。,4.可编程定时/计数器的功能,计数 在设定好计数初值后,做减 1 计数,减为 0 时,输出一个信号。,定时 在设定好计数初值后,做减 1 计数,并按定时常数不断输出为时 钟周期整数倍的定时间隔。,二、可编程定时/计数器 Intel 8253,原理,主要功能 芯片上有三个独立的16位计数器通道;每个计数器可以按照二进制或二十进制计数;每个计数器的计数速率可达 2MHZ;每个通道有 6 种工作方式,可有程序设置和改变
3、;所有的输入输出都与 TTL 兼容。,(2)结构,管脚信号,D7D0 数据总线(双向)RD 读输入WR 写输入A0,A1 选择内部寄存器地址CS 片选CLK 输入脉冲(计数器即 对此脉冲计数)GATE 门控信号输入(控制 计数器工作的外部信 号,为低时,禁止计 数器工作)OUT 输出引脚(计数到0 时,OUT上必有输出,输出信号的波形由 工作方式决定),端口选择,控制字 在8253的初始化编程时,由CPU向8253的控制字寄存器 写入一个控制字,它规定了8253的工作方式。,2.工作方式 8253共有六种工作方式,(1)方式0 计数结束中断,(2)方式1 可编程的单拍脉冲,(3)方式2 频率发
4、生器,(4)方式3 方播频率发生器,(5)方式4 软件触发选通,(6)方式5 硬件触发选通,3.8253编程,(1)方式0 计数结束中断,当控制字写入控制字寄存器时,即使OUT输出端变低,在写入计数初值后,计数器开始计数(此时GATE信号必须为高),计数结束后OUT输出端变高。,特点:1.计数器只计一遍。当计数到 0 时,并不恢复计数初值,不开始重新 计数,且输出一直保持为高。只有在写入下一个计数值时,OUT 变低,开始新的计数。,特点:3.在计数过程中,可改变计数值。在写入新的计数之后,计数器按新 的值重新开始计数。,特点:2.在计数过程中,可由门控信号GATE控制暂停。GATE=0,计数暂
5、停,GATE变高后,接着计数。,特点:4.8253内部没有中断控制电路,也没有专用的中断请求引线,因此,若要用于中断,则可用OUT 信号作为中断请求信号,但需要有外接 的中断优先权排队电路与中断向量产生电路。在PC机中,用 8259A 作中断优先权排队电路与中断向量产生电路。,Watchdog timer的概念,(2)方式1 可编程的单拍脉冲,当控制字写入控制字寄存器后,OUT输出保持为高,当CPU写完计数值后,计数器并不开始计数,直到 GATE 信号启动之后的下一个输入CLK脉冲的下降沿开始计数),OUT输出端变低。在整个计数过程中,OUT 都维持为低,直到计数为 0 时,输出变为高,输出一
6、个单脉冲。,特点:1.若设置的计数值为N,则输出的单脉冲宽度即为N个输入脉冲间隔。2.当计数到 0 后,可再次由外部触发启动,输出一个同样宽度的 单拍脉冲,而不用再次送计数值。,特点:3.在计数过程中,外部可发门控信号进行再触发,在触发脉冲上升沿 后的下一个CLK脉冲的下降沿,计数器将重新开始工作。,特点:4.在计数过程中,CPU可改变计数初值,这时计数过程不受影响,计 数到 0 后输出为高。若再次触发启动,则计数器将按新的计数值计数。所以改变计数值是下次有效的。,(3)方式2 频率发生器,当控制字写入控制字寄存器后,OUT输出为高。在写入计数值后,计数器将立即自动对输入脉冲 CLK 计数。在
7、计数过程中,OUT一直保持为高,直到计数器减到 1 时,OUT变低,经过一个CLK后,OUT恢复为高,计数器重新开始工作。,特点:1.不用重新设置计数值,计数器能够连续工作,输出固定频率的脉冲。,特点:2.计数过程可由门控信号GATE控制。当GATE变低时,暂停计数;在 GATE变高后的下一个CLK脉冲使计数器恢复初值,重新开始计数。,特点:3.在计数过程中可以改变计数值,这对正在进行的计数过程没有影响,但在计数到 1 输出变低后,下一个计数周期,计数器将按新的计数 值计数。所以改变计数值是下次有效的。,(4)方式3 方波频率发生器,同频率发生器,区别在于,方波频率发生器在计数过程中输出一半时
8、间为高,一半时间为低。即其输出是N(N为计数值)个CLK脉冲的方波。,特点:1.若计数值为偶数,在装入计数值后,每个CLK脉冲使计数值减2,当计数 到 0 时,一方面输出改变状态,一方面重新装入计数值开始新的计数。若计数值为奇数,装入计数值后,第一个CLK脉冲使计数器减1,以后每 个CLK使计数器减2。所以,若计数值N为奇数,则(N+1)/2个CLK脉冲为高电平,(N-1)/2 个CLK脉冲为低电平。,特点:2.GATE信号能使计数过程重新开始。GATE=0,计数停止,当GATE=1后,计数器将重新装入计数初值,重新开始计数。,特点:3.若在计数期间写入新的计数值,并不影响现行计数过程。但若此
9、时收到 GATE信号,则计数器将在下一个CLK脉冲时装入新的计数值并开始计数。,(5)方式4 软件触发选通,在这种方式下,当写入控制字后,输出为高,当写入计数值后立即开始计数。计数到 0 后,输出变低,经过一个CLK周期,输出又变高,计数器停止计数。这种计数方式是一次性的,当输入新的计数值后,才能开始新的计数。,特点:1.CPU写入计数值的下一个CLK脉冲,将计数值装入计数器,再下一个 CLK脉冲开始计数,即在装入计数值后的第 N+1 个脉冲后,才输出一个 负脉冲。,特点:3.若在计数期间写入新的计数值,则按新的计数值重新开始计数。,特点:2.GATE=0,禁止计数,GATE=1,允许计数。因
10、此要做到软件触发,GATE必须保持为高。但GATE不影响输出。,(6)方式5 硬件触发选通,在这种方式下,当写入控制字后,输出为高,当写入计数值后,计数器并不立即开始计数,而是由门控信号的上升沿触发启动。计数到 0 后,输出变低,经过一个CLK周期,输出又变高,计数器停止计数。等到下一次门控信号的触发才能开始新的计数。,特点:1.CPU写入计数值的下一个CLK脉冲,将计数值装入计数器,再下一个 CLK脉冲开始计数,即在装入计数值后的第 N+1 个脉冲后,才输出一个 负脉冲。,特点:2.若在计数过程中使用GATE信号,则使计数器重新开始计数。但GATE不 影响输出。,特点:3.若在计数期间改变计
11、数值,只要没有门控信号的触发,不影响计数过程,计数到0后,若有门控信号触发,则按新的计数值开始计数;若未计数到 0,即有门控信号触发,则立即按新的计数值重新开始计数。,3.8253编程,要使用 8253 必须首先对其进行初始化编程。初始化编程的步骤是:(1)写入通道控制字,规定通道的工作方式;(2)写入计数值 若规定只写低8位,则写入的为计数值的低8位,高8位自动置0;若规定只写高8位,则写入的为计数值的高8位,低8位自动置0;若是16位计数值,则分两次写入,先写入低8位,在写入高8位。,4.8253 编程举例,(1)初始化编程:使用通道0,工作在方式 1 下,按二十进制计数,计数值为5080
12、。,0 0 1 1 0 0 1 1 通道0 先写低8位 方式1 BCD计数 再写高8位,通道控制字,计数值的低8位为80,高8位为50。MOV AL,33H OUT 07H,AL MOV AL,80 OUT 04H,AL MOV AL,50 OUT 04H,AL,;假设8253的地址为 04H 07H;0 0 0 0,0 1 0 0 0 0 0 0,0 1 1 1,CPU 读取计数器的计数值。因为计数值在不断地变化,故读取计数值时,必须将当前计数值锁存。通常的做法是:向8253送一个控制字,令通道中的锁存器将计数值锁存,然后由CPU读取。例:读取通道1 中的计数值。通道控制字 MOV AL,4
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 系统 接口 教学 资料 第八
链接地址:https://www.31ppt.com/p-5975813.html