8253芯片
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
8253-5的结构和功能
8253-5为具有三个独立的16位计数器,它可用程序设置成多种工作方式,按十进制计数或二进制计数,最高计数速率可达2.6MHz。8253-5能用于多种场合,例如作为可编程方波频率发生器、分频器、实时时钟、事件计数器以及程控单脉冲发生器等。
8253-5的结构框图及引脚排列如图7-17所示。
图7-17 8253-5的结构框图和引脚排列
(a)结构框图;(b)引脚图
24条引脚中,D
7~D
为8条双向数据线;为写输入信号;为读输入信号;为片
选输入信号;A
0、A
1
为片内寄存器地址输入信号。上述信号线都和CPU相接。三
个计数器中每一个都有三条信号线;计数输入CLK用于输入定时基准脉冲或计数脉冲;输出信号OUT以相应的电平指示计数的完成,或输出脉冲波形;选通输入(门控输入)GATE用于起动或禁止计数器的操作,以使计数器和计测对象同步。
每个计数器中有三个寄存器:①控制寄存器。初始化时,将控制字寄存器内容写入该寄存器;②计数初值寄存器。初始化时写入该计数器的初始值;③减1计数寄存器。计数初值由计数初值寄存器送入减1计数寄存器,当计数输入端输入一个计数脉冲时,减1计数寄存器内容减1,当减到零时,输出端输出相应信号表示计数结束。
8253-5的读写控制逻辑接受系统总线的输入信号,当接收到低电平时,8253-5根据和端的电平,控制本器件接受CPU的访问,双向三态的数据总线缓冲器根据指令接收或发送数据。这些数据是:编程8253工作方式的控制字;装入各计数器的初始值;读出各计数器的当前值。
用作寄存器选择的地址输入信号A
1和A
决定CPU访问的对象。8253-5内部寄存器
选择如表7-4所示。
表7-4 8253-5内部寄存器地址
8253-5内部有三个控制寄存器控制对应计数器的工作。它决定计数器的工作方式,
按十进制或二进制计数,并控制CPU访问这些计数器的方法。控制字中的6位作控制,2位用于选择计数器,其内容如下:
工作方式控制字:
表7-5 SC1,SC0——计数器选择
表7-6 RL
1,RL
——CPU读/写操作
表7-7 M
2M
1
M
——工作方式选择
表7-8 BCD-计数方式选择
存器确定。计数器在编程写入初始值后,在某些方式下计数到0后自动预置,计
数器连续工作。CPU访问计数器时,必须先设定工作方式控制字中的RL
1RL
位。
计数器对CLK计数输入端的输入信号进行递减计数。选通信号GATE控制计数工作的进行,其功能如表7-9所示。
表7-9 选通信号GATE的功能
8253具有六种工作方式,在不同的方式下,计数器的启动方式、GATE端输入信号的作用以及OUT端的输出波形都有所不同。
在任何一种方式下,都必须先向8253写入控制字,控制字还起复位作用,它使OUT端变为工作方式中规定的状态和对计数初值寄存器CR清零;然后再将计数初值写到CR中,其最大值为0000H。
(一)方式0——计数结束中断
当程序把控制字写入控制寄存器时,苦工作在方式0,则该计数器的输出OUT立即变为低电平。在计数初值写入该计数器后,输出仍将保持为低电平,在门控GATE信号为高电平时,计数器开始减1计数,当计数器从初始值减到全0时,便产生一高电平OUT输出,利用此输出信号可向CPU发出中断请求,此高电平输出一直保持到该计数器装入新的工作方式或计数值为止。若在计数过程中装入新的初始值,则会导致装入第一字节停止现行计数,装入第二字节后从新的初始值开始计数。
方式0的时序波形如图7-18所示。
图7-18 方式0波形
图中取计数初值n-4,在GATE为高电平时,允许计数器计数;若GATE为低电平,则禁止计数器计数。
注意如下几点:
1)按方式0计数时,计数器只计一遍,当计数到0时,计数器并不装入初始值重新开始计数,其输出将保持为高电平。
2)方式0的计数过程可由门控信号GATE控制其起停。在计数过程中,GATE信号的变化不影响输出OUT的状态。
3)计数过程中可重新装入计数初值。如果是8位计数初值,在写入新的计数值后,
计数器将按新的计数值重新开始计数,如果是16位计数初值,在写入第一个字节后,计数器停止计数,在写入第二个字节后,计数器按照新的计数值开始计数。
4)8253的内部操作是在CPU写计数值的信号上升沿将该计数值送到与计数器对应的计数初值寄存器。在信号上升沿之后的一个CLK脉冲,才将计数值从计数初值寄存器送到减1计数器,计数器才开始计数。如果设置计数初值为N,输出OUT是在N+1个CLK脉冲期间变为高电平的,这个特点也适合于方式l、方式2、方式4和方式5。
(二)方式1——可编程单稳
在设定为方式1工作时,输出OUT变为高电平。CPU执行输出指令装入计数初值时,OUT仍保持为高电平,在选通GATE输入信号上升沿后的计数过程中,OUT 变为低电平;直至减1计数器为全0时,OUT将变为高电平。若在计数过程中(OUT 为低电平时),装入一个新的计数值,则在下一次GATE触发之前不影响计数器的计数,即不影响上一次的单稳脉冲的宽度。任何时刻都可以读出计数器的值而不影响单稳脉冲的宽度。单稳是可重触发的,因而在任何GATE输入信号上升沿后,OUT输出低电平信号的宽度将取决于时钟频率和计数初值的设定。
方式1的时序波形如图7-19所示。
图7-19 方式1波形
在方式1时,GATE信号实际上是单稳态线路的触发信号,在GATE信号上升沿后的时钟脉冲CLK的由高电平到低电平的下降沿将计数初值装入计数器,同时使OUT变为低电平,然后开始递减计数过程。在计数初值为N时,则OUT输出的脉冲宽度为N个输入脉冲的间隔时间。
(三)方式2——频率发生器
当8253工作于方式2时,相当于一个N分频器,N为设定的计数初值,OUT变为低电平的时间是一个输入时钟周期,从一个输出脉冲到下一个输出脉冲之间的时间等于输入到计数寄存器中的计数初值N和时钟周期的乘积。如果在两个输出脉冲之间,对计数寄存器装入新的初始值,现行计数过程不受影响,但下一周期将反映新的计数初值。当GATE输入端为低电平时,将迫使OUT为高电平,并禁止计数;当GATE变为高电平时,计数器装入预置的计数值,且开始计数。这样,GATE 信号就可用作计数器的同步控制信号。
在控制字设定一个计数器为方式2工作时,OUT输出保持为高电平,直至给计数寄存器重新装入计数初值。这样,OUT也能用软件来同步。
方式2的时序波形如图7-20所示。
图7-20 方式2波形
(四)方式3——方波发生器
这种方式类似于方式2,不同的是OUT输出是方波。当计数值是偶数时,在计数完成一半之前OUT保持为高电平,对另一半计数时OUT将变为低电平,然后重复上述计数操作,当计数值N是奇数时,对(N+1)/2进行计数时OUT是高电平,而对(N-1)/2进行计数时OUT则是低电平,然后重复计数,如果计数寄存器在计数期间重新装入新值,这个新值将在计数输出跳变以后立即反映出来。方式3波形如图7-21所示。