完全相同。每个计数器的输入和输出都决定于设置在控制寄存器中的控制字,互相之间工作完全独立。每个计数器通过三个引脚和外部联系,一个为时钟输入端CLK,一个为门控信号输入端GATE,另一个为输出端OUT。每个计数器内部有一个8位的控制寄存器,还有一个16位的计数初值寄存器CR、一个计数执行部件CE和一个输出锁存器OL。
执行部件实际上是一个16位的减法计数器,它的起始值就是初值寄存器的值,而初始值寄存器的值是通过程序设置的。输出锁存器的值是通过程序设置的。输出锁存器OL用来锁存计数执行部件CE的内容,从而使CPU可以对此进行读操作。顺便提一下,CR、CE和OL都是16位寄存器,但是也可以作8位寄存器来用1、8253的作用
2、8253的引脚信号
CS:片选信号,低电平有效;A0、A1:地址信号;
14
f24可编程控制芯片8259A
8259A的原理一片8959A有8条中断请求线IR0IR7,8259A被操作系统初始化后,就可以接收中断信号了。8259A从IR请求线上接受中断信号,每个请求线有一个触发器来保存请求信号,从而形成中断请求寄存器(IRR)。同时如果中断请求信号线上不是被屏蔽的,8259A向CPU发出INT信号,请求中断。这时如果CPU是处于允许中断状况,CPU就会发送INTA信号给8259A进入中断响应周期。如果有多个请求信号同时到达,8259A的优先权电路会对各个请求进行优先权选择,将最高先权的请求在中断响应周期送到中断服务寄存器(ISR)中将它置位,同时复位IRR中的相应位。接着CPU再次发送一个INTA脉冲给8259A,启动另外一个中断相应周期。8259A在这个相应周期向数据总线的D0D7上输入一个中断向量。CPU根据该向量的值4后就可以从中断入口地址表(IDT)中取出中断服务程序的入口地址而转入中断服务程序。而8259A如果工作在自动结束中断(AEOI)模式时会自动使其ISR中的相应位复位,否则需要发出EOI命令使ISR复位。在老式的PCXTAT中,一般使用一片8259A进行中断信号请求。在现代的多数PC中,一般都会采用两
15
f片8259A作为级连。其中一片是Master一片是Slave,由于Master上的一个中断请求线需要连接到Slave的INT脚,所以实际可以使用的外部中断个数是15(821)个。
8259A结构1、数据总线缓冲器D7~D0数据总线缓冲器为三态、双向、8位寄存器,数据线D7~D0与CPU系统总线连接,构成CPU与8259A之间信息传送的通道。2、读写控制逻辑WRWD读写控制逻辑用来接收CPU系统总线的读写控制信号和端口地址选择信号,用于控制8259A内部寄存器的读写操作。3、r