8253定时/计数器芯片具有三个独立、功能相同的16位减法计数器,可进行二进制或十进制BCD计数或定时操作,有六种工作方式,每个计数器的工作方式及计数常数分别由软件编程设置,计数速度可达2MHz,所有I/O都与TTL兼容。它是24脚、双列直插式芯片,使用单+5V电源供电。
1.8253的内部结构
8253的内部结构如图6-4所示,8253由数据总线缓冲器、读/写控制逻辑电路、3个结构完全相同的计数器(计数器0、1、2)和控制寄存器组成。
图6-4 8253的内部结构
(1)数据总线缓冲器
数据总线缓冲器是8253与CPU数据总线连接的8位双向三态缓冲器。CPU用输入/输出指令对8253进行如下读/写操作:
①CPU向8253写方式控制字。
②CPU向8253某计数器写计数初值。
③CPU读8253某计数器的当前计数值。
(2)读/写控制逻辑电路
读/写控制逻辑电路接收CPU送来的读/写信号()、片选信号()、端口选择信号(A1A0),以决定3个计数器、控制寄存器中哪一个进行操作,并确定数据传送的方向,参见表6-1。
(3)控制寄存器
每个计数器通道都有一个控制寄存器,用来接收CPU送来的控制字,这个控制字用来选择计数器及相应的工作方式等。控制寄存器只能写入,不能读出,且共用一个控制端口地址。
(4)计数器0~2
8253内部含有3个完全独立的定时/计数器通道,各自可同时按不同的方式工作。每个通道都含有一个8位控制字寄存器CW、一个16位计数初值寄存器CR、一个16位减1计数器CE、一个16位输出锁存器OL,如图6-4所示。
由程序首先写控制字给控制字寄存器,再写计数初值给相应计数器,初值在CR中保存,并送CE中,在GATE门控信号允许或触发下,CE便开始对CLK脉冲进行减1计数,直到计数值被减到0时,计数结束或本周期结束,输出OUT端产生相应波形。输出信号的波形由事先规定的工作方式决定并受控于GATE信号。在减1计数过程中,CE中当前的计数值同时送给输出锁存器OL。因此,若想要知道计数过程中的当前计数值,则必须用指令将当前值锁存,然后从OL中读出,同时又不影响CE的连续计数。注意:不能直接从CE中读出。
2.8253的引脚功能定义
8253引脚图如图6-5所示。
(1)D7~D0数据总线
双向三态输入/输出数据线,与系统数据总线相连,供8253与CPU之间传送数据、命令、状态信息用。 (2)片选信号(www.xing528.com)
输入信号,低电平有效。要选中该片8253,必须使有效;只有选中后才能对它进行读/写操作。
(3)RD读信号
输入信号,低电平有效。由CPU发出,用于对8253读操作。
(4)写信号
图6-5 8253引脚图
输入信号,低电平有效。由CPU发出,用于对8253写控制字或写计数初值。
(5)A1A0端口地址编码线
3个独立的计数器各有一个端口地址,另外3个控制寄存器共用一个端口地址,所以8253共需4个端口地址。当A1A0=11时,为控制字寄存器端口;当A1A0=00、01、10时,分别为计数器0、计数器l、计数器2的端口。
只有被地址选中的端口,CPU才能对该端口进行读/写操作。
上述各输入信号(、、、A1A0)的组合决定了CPU对8253的端口地址选择以及对该端口地址的具体读/写操作,见表6-1。
表6-1 8253端口地址及读/写操作
在PC/XT机中,8253的A1A0直接与系统地址A1A0相连。
(6)CLK0~CLK2(时钟)脉冲信号
计数器0、1、2的(时钟)脉冲输入端,它们各自独立。脉冲信号的作用是在8253进行定时或计数工作时,每输入一个CLK脉冲,定时/计数值减l。
(7)GATE0~GATE2门控信号
计数器0、l、2的门控信号输入端,它们各自独立,用来禁止、暂停、停止、允许、启动计数的控制,在不同的6种工作方式中,GATE控制作用也不同,详见本书第6.3.5节。
(8)OUT0~OUT2计数器输出信号
计数器0、l、2的输出信号端,它们各自独立。当定时或计数值减为0时,在OUT端输出信号,该信号的波形取决于工作方式。该信号可供CPU检测、查询,或作为中断请求信号使用,也可作为控制信号或信号源使用。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。