8253共有6种工作方式,下面分别说明每一种方式的要点。
1.方式0——计数到终点输出变为高电平
当将某计数器设置成方式0后,其输出OUT变低电平,装入初值后,仍保持低电平。门控为高电平开始计数。每来一个计数脉冲CLK,计数器的值减1,当计数到达终点即计数器的值变成0时,OUT变为高电平。在计数期间可用门控信号暂停计数(即门控为低电平时,计数暂停)。
输出端OUT由低变高可以用来作为中断请求信号(正是由于这种作用,许多教材中称方式0为完成计数时中断),也可作为查询信号,也可直接去控制某个操作,如让某个开关动作。
2.方式1——可编程单稳
所谓单稳,是指这样的电路,它有两种状态,但只能稳定在一种状态。在一定的外界作用下,它能从这一种状态进入到另一种状态,但经过一定时间后,又自动恢复到原来的状态。
这个时间参数一般是由外加电阻、电容的值决定的。8253的方式1就是模拟单稳电路,其处于非稳定状态的时间可通过程序进行设置。
一旦8253的某计数器被设置成方式1后,其OUT变高电平,装入初值后,仍保持高电平,等待门控上升沿到来。门控为电平高后的第一个CLK下降沿时0UT变低电平,初值又被重新装入一次,并开始计数,每来一个计数脉冲,计数器的值减1。当减到0时OUT变高电平。此后门控的上升沿可再次启动此过程。图6.21方式1的波形如图6.21所示。
从图中可看出,门控上升沿的到来使得OUT开始输出负脉冲(这种现象叫触发),其宽度为CLK的周期乘以预置值。如果在负脉冲期间,即计数未到达终点,GATE再来一个上升沿,则再次赋初值,重新开始计数。这样做可加宽负脉冲的宽度,如图6.22所示。这种现象叫单稳的再触发。74系列TTL集成电路中就有这样的可再触发单稳,如74LSl23。8253的方式1比硬件电路用起来更灵活、更方便。
3.方式2——分频脉冲发生器(分频器)
方式2用来对输入脉冲(即计数脉冲CLK)N分频(N为预置的初值),在输出信号周期中低电平的时间为一个CLK周期。
设置此方式后,OUT变高电平,装入初值后便自动开始计数,减到1时OUT变低电平。
经过一个CLK周期,OUT恢复高电平,且计数器又自动装入初值,重新开始计数。如此循环下去。如图6.23所示是工作在方式2的示意图。在上述过程中GATE应一直保持高电平。
若GATE变低电平将禁止计数,并使输出为高电平。在GATE再次变高电平时,计数器将重新装入预置的初值,并开始计数。
4.方式3——方波发生器
方式3类似于方式2,输出是周期性的。不同的是方式3输出方波。如果预置的初值N为偶数,则输出周期中高电平和低电平的宽度相等;如果N为奇数,则输出周期中高电平比低电平多一个CLK周期的时间,当N相当大时,也可认为是方波。当然,一般采用方式3时,置初值为偶数。
设置成方式3后,OUT变高电平,装入初值后便自动开始计数。如初值为偶数,每个CLK使计数器减2,计到终点改变电平。如初值为奇数,则输出为高电平时第一个CLK使计数器减1,随后每个CLK使计数器减2;输出为低电平时第一个CLK使计数器减3,随后每个CLK使计数器减2。每当计数到终点都会改变电平,初值又被重新装入,并开始计数。如此循环下去,如图6.24所示。和方式2一样,GATE变低可暂停计数。
5.方式4——软件触发选通
设置成方式4后,OUT变高电平,写入计数值后自动开始计数(所以称之为软件触发),计数到终点输出一个CLK周期的低电平脉冲。GATE变低可暂停计数,用GATE的上升沿可重新赋初值,并开始计数。
6.方式5——硬件触发选通
设置成该方式后,OUT变高电平,写入计数值后需等待GATE上升沿的到来才开始计数(所以称之为硬件触发)。计数到终点也输出一个CLK周期的低电平脉冲。计数过程中不受GATE电平的影响。此后,用GATE的上升沿可重新赋初值,并开始计数。
7.工作方式小结
8253有六种工作方式,每一种方式都有自己的特点。下面简单做一比较,找出它们的共性和个性。
①在六种工作方式中,只有方式0在写入控制字后OuT变为低电平,其他5种方式都在写入控制字后OUT输出高电平。
②预置值N与输出波形的关系见表6.8。表中有几处“N+l”,这里加1是考虑到预置的初值需要一个计数脉冲才能装入。当然,对其他方式初值的装入也都需要一个CLK脉冲,只是这一个CLK在输出中不必加以考虑,因为方式1要考虑的是单稳负脉冲的宽度,而方式2,3初值的装人只影响第一个周期。