《微机原理课件第十章.ppt》由会员分享,可在线阅读,更多相关《微机原理课件第十章.ppt(29页珍藏版)》请在三一办公上搜索。
1、2023/10/1,1,第10章 计数器/定时器接口芯片8253实现定时计数功能的常用方法可归纳为以下三种:(1)软件定时(2)纯硬件定时(3)可编程定时器,2023/10/1,2,10.1 可编程计数器定时器的基本工作原理10.1.1 基本功能以8253芯片为例来说明其基本功能,大致可概括为以下五点:1)3个计数器:每个8253芯片上有3个独立的16位计数通道。2)210MHz的计数频率:每个计数器的计数频率范围为0 2MHz,其改进型82542的计数频率范围为010MHz。3)2种数制计数:每个计数器都可以按照二进制或十进制计 数。4)6种工作方式:每个计数通道都有6种工作方式,可由程序
2、设置或改变。5)与TTL兼容:所有输入/输出引脚都与TTL兼容。,2023/10/1,3,基本工作原理,图10.1计数器定时器的基本原理图,2023/10/1,4,1、控制寄存器 控制寄存器是从数据总线缓冲器中接收控制字,以确定计数器的操作方式。2、初始值寄存器用来存放计数器所需要的初始值。3、计数输出寄存器用来存放计数器中的内容,可由CPU读出。4、状态寄存器提供计数器定时器当前所处的状态,这些状态有利于了解计数器定时器某时刻的内部情况。5、计数器计数器实际是一个具有减“1”功能的减法器。,2023/10/1,5,计数器对外有三个重要信号,现说明如下:(1)OUT信号(2)CLK信号 CLK
3、是一个输入信号,它决定了计数速率。定时器所能实现的定时时间取决于计数脉冲的频率和计数器的初值,即:定时时间时钟脉冲周期*预置的计数初值(3)GATE信号 GATE是一个门控输入信号。,2023/10/1,6,10.2 8253的内部结构及引脚,图10.2 8253的内部结构及引脚图,2023/10/1,7,(1)数据总线缓冲器(2)读/写逻辑电路各控制信号及作用如下:A1和A0:端口选择信号。RD:读信号,低电平有效。WR:写信号,低电平有效。CS:片选信号,低电平有效。,2023/10/1,8,表10-1 8253输入信号与各功能的对应关系,2023/10/1,9,(3)计数器(4)控制寄存
4、器,图10.38253计数器结构图,2023/10/1,10,10.3 8253的控制字,图10.4 8253的控制字,2023/10/1,11,1、计数方式的设定8253有两种计数方式:二进制计数和BCD码计数。选择数制采用控 制字的D0位来设定。2、工作方式的设定8253有6种工作方式:方式0方式5。3、读写格式的设定 8253有4种写入计数初值格式或读计数值格式的设定,选择读写格式采用控制字的D5、D4位来设定。4、计数器通道的选择,2023/10/1,12,10.4 8253的工作方式10.4.1 8253的6种工作方式1、方式0计数结束中断方式计数结束中断方式必须注意以下几点:,图1
5、0.5 方式0波形图,2023/10/1,13,(1)OUT信号 控制字写入后,OUT变低电平,直到计数器减到0时才变为高电平。OUT输出可以作为计数结束的中断信号。(2)GATE信号 计数器受GATE信号控制,当GATE0时,停止计数器的计数操作;当GATE1时,计数器继续计数。(3)初始值 一是每次装入初始值后计数器只计数一遍。二是计数过程中可重新装入计数初值。另外,若设置初值为N,则输出信号OUT是在N+1个CLK脉冲之后才变高的。,2023/10/1,14,2、方式1可编程单稳触发器可编程单稳触发器方式必须注意以下几点:,图10.6 方式1波形图,2023/10/1,15,(1)OUT
6、信号 控制字写入后,OUT变高电平,CPU写入计数初始值后,计数器并不计数,直到GATE信号后OUT变为低电平。直到计数器减到0时,OUT输出才变为高电平。(2)GATE信号 GATE信号在方式1中起触发信号作用。CPU写入计数值后,计数器必须由GATE信号触发才开始计数。允许GATE信号多次触发,计数过程中,外部可发GATE脉冲进行再触发。(3)初始值 计数过程中,CPU可改写初始值,但计数过程不受影响,计数将按原来的初始值减到0,在GATE信号再次触发后,才会按新的初始值重新开始计数。,2023/10/1,16,3、方式2分频器分频器方式必须注意以下几点:,图10.7 方式2波形图,202
7、3/10/1,17,(1)OUT信号 OUT信号是输入时钟按照计数值N次分频后的一个连续脉冲。此方式可以作为一个脉冲速率发生器或用于产生实时时钟中断。(2)GATE信号 计数器的初始值写入后,只有当GATE引脚为高电平时,计数器才开始递减计数。GATE端每一次由低到高的跳变触发,都将引起一次重新从CR向 CE的装入操作。(3)初始值 计数过程中,CPU可改写初始值,但当前计数过程不受影响,计数将按原来的初始值减到0,OUT输出一个负脉冲,计数器装入新的初始值后重新开始计数。,2023/10/1,18,4、方式3方波发生器方波发生器方式必须注意以下几点:,图10.8 方式3波形图,2023/10
8、/1,19,(1)OUT信号 方式3的OUT信号与方式2的工作类似,输出均为周期性的,但方式3的输出为方波。(2)GATE信号方式3的GATE信号与方式2的作用相同。(3)初始值 当初始值为偶数时,输出方波的占空比一定为50(N2)。当初始值为奇数时,输出方波的高电平占(N1)2个输入时钟周期,低电平占(N1)2个输入时钟周期。计数过程中,CPU可改写初始值,但当前计数周期不受影响,在下一个计数周期就按新的初始值重新开始计数。,2023/10/1,20,5、方式4软件触发选通软件触发选通方式必须注意以下几点:,图10.9 方式4波形图,2023/10/1,21,(1)OUT信号 控制字写入后,
9、OUT变高电平。CPU写入计数初始值后,当GATE信号为高电平时开始计数,直到计数器减到0时,OUT输出一个输入时钟宽度的低电平,然后OUT恢复高电平。(2)GATE信号 当GATE1时,计数器正常工作,当GATE0时,计数器停止减1操作。(3)初始值 计数过程中,CPU可以更改计数初始值,并立即从新初始值开始计数。,2023/10/1,22,6、方式5硬件触发选通硬件触发选通方式必须注意以下几点:,图10.10 方式5波形图,2023/10/1,23,(1)OUT信号 控制字写入后,OUT变高电平,CPU写入计数初始值后,计数器并不立即开始计数,必须由GATE的上升沿触发启动计数。当计数到0
10、时,输出OUT变低电平,经过一个CLK脉冲后,OUT恢复为高,并停止计数。(2)GATE信号 计数过程是由GATE的上升沿“触发”启动计数的。在计数过程中又有GATE上升沿时,则计数器重新从初始值开始计数,但对于输出OUT的状态没有影响。(3)初始值 计数过程中,CPU可以更改计数初始值,在没有GATE信号触发的情况下,不影响计数过程。当计数减到0后,若此时有新的GATE信号触发,则按新的计数值重新开始计数。,2023/10/1,24,10.4.2 8253各工作方式之间的异同点1、各工作方式的共同点(1)当控制字写入计数器时,所有的控制逻辑电路立即复位,输 出端OUT进入初始状态:高电平或者
11、低电平。(2)初始值写入后,要经过一个时钟上升沿和一个下降沿,计数执行部件才开始工作。(3)在时钟脉冲CLK的上升沿时,门控信号GATE才被采样。2、各工作方式的不同点(1)软件触发启动计数(2)硬件触发启动计数(3)自动装入计数初值(4)门控信号GATE的控制作用,2023/10/1,25,表10-2 GATE信号功能表,2023/10/1,26,10.5 8253的应用举例设要求A/D转换器的采样周期为250ms,采样信号持续时间为1s。试用8253连接硬件电路,并编程实现此功能。,2023/10/1,27,硬件连接图,图10.11 8253作为定时器,2023/10/1,28,具体的程序设计:,设置1:定时器02:定时器13:定时器2,2023/10/1,29,MOV AL,14H;定时器0方式2,2进制 OUT 43H,AL MOV AL,0FAH;定时器0初值250 OUT 40H,AL MOV AL,73H;t1,方式1,16位写10进制 OUT 43H,AL MOV AX,05H;5 OUT 41H,AL MOV AL,AH OUT 41H,AL;0 MOV AL,96H OUT 43H,AL MOV AL,0C8H;200 OUT 42H,AL,