8253可编程定时器接口芯片
方式0 计数结束中断
- 计数器写完计数值时,开始计数(软件触发),相应的输出信号OUT就开始变成低电平。当计数器减到零时,OUT立即输出高电平。
- 门控信号高电平时,计数器工作;为低电平时,计数器停止工作,计数值保持不变。
- 在计数器工作期间,如果重新写入新的计数值,计数器将按新写入的计数值重新工作。
方式1 可编程单稳脉冲
- 写入计数初值后,计数器开始工作。门控信号GATE上升沿有效,才开始工作(硬件触发),使输出OUT变成低电平,直到计数器减到0后,输出才变高电平。
- 在计数器工作期间,当GATE又出现一个上升沿时,计数器重新装入原计数初值并重新开始计数。
- 如果工作期间对计数器写入新的计数初值,则要等到当前的计数值记满回零且门控信号再次出现上升沿后,才按新写入的计数初值开始工作。
方式2 频率发生器(分频器)
方式2是一种具有自动装入时间常数(计数初值N)的N分频器。
特点:一次设置计数初值,计数器可自动重复进行减“1”操作,减“1”计数回“0”,可以输出端输出一负脉冲信号。
- 写入计数初值后,GATE为高开始工作,计数器为0时,OUT输出一个时钟脉宽的负脉冲后自动回复高电平;同时自动重新装入原计数初值,反复计数。
- 如果工作期间对计数器写入新的计数初值,则要等到当前的计数值记满回零后,才按新写入的计数初值开始工作。
- 在计数器工作期间,当GATE为低则停止计数,待GATE恢复后计数器重新装入原计数初值并重新开始计数。
方式3 方波输出(周期性方波输出)
方式3工作方式与方式2基本相同,也具有自动装入时间常数(计数初值)的功能。
不同之处在于:工作在3方式,引脚OUT输出的不是一个时钟周期的负脉冲,而是占空比为1:1或近似1:1的方波。当计数值为偶数时,输出在前一半的计数过程中为高电平,在后一半的计数过程中为低电平;为奇数时高电平比低电平宽一个时钟脉冲。
方式4 软件触发选通
- 此方式设定后,输出OUT就开始变为高电平,GATE为高时,当写完计数值后开始计数。当计数器减到零后,OUT输出一个宽度为一个时钟脉冲的负脉冲,然后恢复高电平,并一直保持高电平。
- 门控信号GATE为高电平时,计数器工作,为低电平时,计数器停止工作,恢复为高电平后计数器又从原装入的计数初值开始减1工作。
- 在计数器工作期间,如果重新写入新的计数初值,不影响当前计数状态,仅当当前计数值记完后,计数值才按写入的计数值工作。
方式5 硬件触发选通
方式5的工作特点是由GATE上升沿触发计数器开始工作。
- 在方式5工作方式下,当写入计数初值后,计数器并不立即开始计数,而要由门控信号的上升沿启动计数。
- 在计数过程中(或者计数结束后),如果门控信号再次出现上升沿,计数器将从原装入的计数初值重新计数。
计数开始的时刻需要注意
- 处理器写入8253的计数初值只是写入了预置寄存器,之后到来的第一个CLK输入脉冲(需先由低电平变高,再由高电平变低)才将预置寄存器的初值送到减1计数器。
- 从第二个CLK信号的下降沿,计数器才真正开始减一计数。
8255A可编程并行通信接口芯片
方式0 基本输入输出方式
- 相当于三个独立的8位简单端口。
- 各端口即可设置输入口,也可设置输出口,但不能同时实现输入及输出。
- C端口可以是一个8位简单接口,也可以分为两个独立的四位端口。
- 常用于连接简单外设,适用于无条件查询方式。
方式0的应用
习惯上:A端口和B端口作为8位数据的输入或输出口,C口的某些位作为状态输入。
注:若使C端口低4位中某一位作为输入口,则低4位中其他位都应作为输入口,同时可设高四位作为输出。
方式1 选通或应答输入输出方式
- 利用一组选通控制信号控制信号控制A端口和B端口的数据输入输出。
- A口,B口作输入或输出口,C口的部分位用作选通控制信号。
- A口,B口在作为输入和输出时的选通信号不同。
- 方式1既可以用中断方式传送数据,也可用查询方式传送数据。
方式1的应用
方式1主要用于中断控制方式下的输入输出。C口的8位除用作选通信号外,其余可工作于方式0下,作为输入或输出口。
方式2 双向输入输出方式
- 既可以作为输入口,又作为输出口。
- 只有A端口可以工作在方式2下。
方式2的应用
- 可使A端口作为双向端口所有
- 用于中断控制方式。
- 当A口工作于方式2时,B口工作于方式1(此时C口的所有位都用作选通控制信号的输入输出),B口也可工作于方式0(此时C口的剩余位也可工作于方式0)。