微机接口第七章6种工作方式
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
8253A定时计数器的每一个计数通道都有6种可编程选择的工作方式。每一种工作方式不仅与计数初值有关,而且受时钟输入信号CLK和门控GA TE信号的控制,CLK信号确定计数器减1计数的速率,GA TE信号允许/禁止计数器工作或决定计数器的启动。下面分别讨论这些工作方式,并结合波形图说明各种方式的操作过程
1. 方式0—计数结束产生中断方式
方式0被称为计数结束中断方式,工作波形图如图8.4所示。
(1) 计数过程
8253A工作在方式0时,当控制字写入控制字寄存器之后,输出端OUT立即变成低电平。当CPU写入计数初值后的第一个时钟脉冲CLK下降沿出现时,计数初值寄存器CR的值被送到计数执行单元CE中。随后的每一个时钟脉冲CLK下降沿都使计数执行单元CE 的内容减1。当计数执行单元的值减到0时,输出端OUT变成高电平,并一直保持高电平,直到写入新的计数值或重新设置新的工作方式为止。当输出端OUT变成高电平时,可以利用其上升沿作为中断请求信号向CPU发出一次中断请求。
(2) 门控信号的影响
对方式0来说,门控信号GA TE为高电平时,允许计数;门控信号GA TE为低电平时,禁止计数。GA TE的变化不影响OUT的电平。因此,在计数过程中,如果有一段时间GA TE 变成了低电平,后来又恢复为高电平,那么,输出端OUT的低电平持续时间会因此而延长相应的时间。如果在门控信号GA TE处于低电平时,写入计数初值时,下一个CLK脉冲也将初值从初值寄存器移入计数执行单元CE,但不计数。当GA TE变为高电平才开始计数,经过N 个脉冲OUT变成高电平。
(3) 新的计数初值对计数过程的影响
方式0是写一次计数值,计一遍数,计数器不会自动恢复初值重新开始计数,而且在计数过程中改变计数值,则在输入新值后的下一个时钟下降沿按新的计数初值计数。
2. 方式1——可重触发的单稳态触发器
方式1被称为可重触发的单稳态触发器,在这种方式下,计数器相当于一个可编程的单稳态电路。该方式在门控信号GA TE上升沿触发后,可产生一单拍负脉冲信号的输出,脉冲宽度由计数初值N决定。其工作波形图如图8.5所示。
(1) 计数过程
当把方式1的控制字写入控制字寄存器时,输出端OUT立即变成高电平,再将计数初值写入初值寄存器CR,并经过一个时钟周期,计数初值被送入计数执行单元CE,此后,门控脉冲上升沿到来时,触发8253内部的边沿触发器,下一个时钟脉冲下降沿到来时,输出端OUT变成低电平,作为单脉冲的开始,直到计数执行单元CE的值减到0时,输出端OUT才变为高电平,于是单脉冲结束。如果门控端GA TE再来一个上升沿信号,8253的边沿触发器再受触发,并经过一个时钟脉冲,输出端OUT又重新变成低电平,新的单脉冲开始,重复上述过程。
(2) 门控信号的影响
方式1中,GA TE信号的作用可从两个方面进行说明。第一,在计数结束后,若再来一个GA TE信号上升沿,则在下一个时钟周期的下降沿又从初值开始计数,而不需要重新写入初值。即门控信号可重新触发计数。第二,在计数过程中,若再来一个门控信号上升沿,也在下一个时钟周期的下降沿从初值起重新计数,即终止原来的计数过程,开始新的一轮计数,但输出端保持低电平不变,直到计数执行单元减为0 时,输出端OUT才变化成高电平。这样,使输出的单脉冲的脉冲宽度加宽。
(3) 新的计数初值对计数过程的影响
如果在计数过程中写入新的计数初值,不会立即影响计数过程。只有在下一个门控信号上升沿到来后的第一个时钟脉冲下降沿作用下,才终止原来的计数过程,而按新值开始计数。若计数结束前没有触发信号,则原计数过程正常结束。即新的计数初值将在下次有效。
8253A工作在方式1时,其输出负脉冲宽度取决于计数初值,同时也取决于负脉冲期间是否又受到门控信号上升沿的触发,如果又受到触发,则会加宽负脉冲的宽度。
3. 方式2—分频器
方式2被称为分频工作方式,其工作波形如图8.6所示。
(1) 计数过程
当把方式2控制字写入寄存器后,输出端OUT立即跳到高电平作为初始状态,当计数初值写入初值寄存器后,在下一个时钟脉冲下降沿,计数初值被移入计数执行单元,然后计数执行单元作减1 计数。当减到1时,输出端变成低电平,并维持一个时钟周期后又跳回
到高电平,计数初值寄存器的内容再次装入计数执行单元。计数执行单元继续从初值重新开始计数。即每N个时钟周期的间隔,在输出端OUT上出现一个宽度等于时钟周期时间的负脉冲。所以方式2的功能如同一个N分频的分频器。
(2) 门控信号的影响
在方式2中,GA TE信号为低电平时终止计数,GA TE信号为高电平允许计数,GA TE 信号由低变高后的第一个时钟脉冲下降沿重新从初值开始计数。由此可见,GA TE一直维持高电平时,计数器作为一个N分频器。GA TE端输入的负脉冲可用来使计数器同步,这种同步是通过硬件给出门控信号来实现的,称为硬件同步。
(3) 新的计数初值对计数过程的影响
如果在计数过程中写入新的计数初值,而GATE端一直维持高电平,则新的初值不会立即影响当前的计数过程,但在计数结束后的下一个计数周期将按新的初值计数,这相当于通过写入新的初值使计数器同步,称为软件同步。
若写入新的初值后,遇到门控信号上升沿,则结束现行计数过程,从下一个时钟脉冲下降沿开始按新的初值进行计数。
正常情况下,GATE一直保持高电平,若计数初值为N,则在每个周期OUT端输出N-1个时钟周期的高电平,1个时钟周期的低电平,并形成周期性的脉冲波。
4. 方式3—方波发生器
方式3 被称为方波发生器方式,其工作波形如图8.7所示。
方式3与方式2的工作方式类似,也是在初始化完成后能重复循环计数,只是输出的波形不同。
(1) 计数过程
当把方式3的控制字写入控制字寄存器后,输出端OUT变成高电平,作为初始电平。再将计数初值写入计数初值寄存器CR中,再经过一个时钟周期,计数初值被移入计数执行单元CE中,从下一个时钟脉冲开始作减1 计数,方式3的计数过程分为两种情况:第一种情况:计数初值为偶数,当作减1计数减到N/2时,输出端OUT端变成低电平,减到0时,输出端OUT变成高电平,并重新从初值开始新的计数过程。若GA TE为高电平,则一直重复同样的计数过程。可见,输出端OUT输出连续的方波,故称方波发生器。
第二种情况:计数初值为奇数。当作减1计数减到(N+1)/2以后,输出端OUT变成低电平,减到0时,输出端OUT又变成高电平。并重新从初值开始新的计数过程。这时输出端的波形为连续的近似方波。
(2)门控信号的影响
工作在方式3时,门控信号GA TE的功能与工作方式2一样,即GA TE 为高电平时,允许计数;GA TE为低电平时停止计数。GA TE引脚上的信号从低电平跳到高电平时,将会重新把计数初值寄存器CR中的内容移入计数执行单元CE中,并以新装入的值重新开始计数。
(3)新的计数初值对计数过程的影响
如果在计数过程中写入新的初值,而GA TE信号一直维持高电平,则新的初值不会影响当前的计数过程,只有在计数结束后的下一个计数周期,才按新的初值计数。若写入新的初值后,遇到门控信号的上升沿,则结束现行的计数过程,从下一个时钟脉冲下降沿开始按新的计数初值进行计数。
可见,工作在方式3时,当计数初值为偶数,OUT端输出连续的标准方波;当计数初值为奇数,在每个计数周期内,有(N+1)/2个周期输出高电平,(N-1)/2个时钟周期输出低电平,OUT端输出连续的近似的方波。
5. 方式4——软件触发选通
方式4被称为软件触发选通方式,其工作波形如图8.8所示