8279 - 可编程键盘
8279 可编程键盘/显示控制器由英特尔设计,用于将键盘与 CPU 连接。键盘首先扫描键盘并识别是否有任何键被按下。然后它将所按下键的相对响应发送到 CPU,反之亦然。
键盘与 CPU 连接的方式有多少种?
键盘可以以中断或轮询模式进行连接。在中断模式下,只有按下任何键时才会请求处理器服务,否则 CPU 将继续执行其主要任务。
在轮询模式下,CPU 定期读取 8279 的内部标志,以检查是否有任何键被按下。
8279 键盘如何工作?
键盘最多包含 64 个键,这些键通过使用键代码与 CPU 交互。这些键代码被去抖动并存储在 8 字节 FIFORAM 中,CPU 可以访问该 FIFORAM。如果在 FIFO 中输入了 8 个以上的字符,则意味着一次按下了 8 个以上的键。这是设置超限状态的时候。
如果 FIFO 包含有效的键条目,则 CPU 以中断模式中断,否则 CPU 会检查轮询中的状态以读取条目。一旦 CPU 读取了按键输入,FIFO 就会更新,按键输入会被推出 FIFO,从而为新输入生成空间。
架构和说明
I/O 控制和数据缓冲区
该单元控制通过微处理器的数据流。只有当 D 为低时,它才会启用。其数据缓冲区将系统的外部总线与微处理器的内部总线连接起来。引脚 A0、RD 和 WR 用于命令、状态或数据读/写操作。
控制和定时寄存器和定时控制
该单元包含寄存器,用于存储键盘、显示模式以及 CPU 编程的其他操作。定时和控制单元处理电路操作的定时。
扫描计数器
它有两种模式,即编码模式和解码模式。在编码模式下,计数器提供二进制计数,该计数将被外部解码以提供键盘和显示器的扫描线。
在解码扫描模式中,计数器内部解码最低有效 2 位,并在 SL0-SL3 上提供解码的 1/4 扫描。
返回缓冲区、键盘去抖和控制
该单元首先逐行扫描按键闭合,如果找到,则键盘去抖单元对按键输入进行去抖。如果检测到相同的键,则该键的代码将与 SHIFT 和 SHIFT 一起直接传输到传感器 RAM。 CONTROL 键状态。
FIFO/传感器 RAM 和状态逻辑
该单元充当 8 字节先进先出 (FIFO) RAM,其中每个按下的键的键代码都按照其顺序输入到 RAM 中。状态逻辑在每次 FIFO 读取操作后生成中断请求,直到 FIFO 变空。
在扫描传感器矩阵模式下,该单元充当传感器 RAM,其中其每一行都将其对应行传感器的状态加载到矩阵中。当传感器改变其状态时,IRQ 线变为高电平并中断 CPU。
显示地址寄存器和显示 RAM
此单元由显示地址寄存器组成,用于保存 CPU 当前从显示 RAM 读取/写入的字的地址。
8279 − 引脚说明
下图显示了 8279 − 的引脚图
数据总线,DB0 - DB7
这些是 8 条双向数据总线,用于将数据传输到/从 CPU 传输数据。
CLK
时钟输入用于生成微处理器所需的内部时序。
RESET
顾名思义,此引脚用于重置微处理器。
CS 芯片选择
当此引脚设置为低电平时,允许读/写操作,否则应将此引脚设置为高电平。
A0
此引脚指示命令/状态信息的传输。当它为低电平时,表示数据传输。
RD、WR
此读/写引脚使数据缓冲区能够通过数据总线发送/接收数据。
IRQ
当 FIFO 传感器 RAM 中有数据时,此中断输出线变为高电平。每次 FIFO RAM 读取操作时,中断线都会变为低电平。但是,如果 FIFO RAM 还包含任何要由 CPU 读取的键代码条目,则此引脚再次升高以生成对 CPU 的中断。
Vss、Vcc
这些是微处理器的接地线和电源线。
SL0 − SL3
这些是用于扫描键盘矩阵和显示数字的扫描线。可以使用模式控制寄存器将这些线编程为编码或解码。
RL0 − RL7
这些是返回线,连接到按键的一个端子,而按键的另一个端子连接到解码的扫描线。按下任意键时,这些线都设置为 0。
SHIFT
在扫描键盘模式下,Shift 输入线状态与每个键代码一起存储在 FIFO 中。直到通过按键闭合将其拉低,它才会在内部被拉高以保持高电平
CNTL/STB - 控制/频闪 I/P 模式
在键盘模式下,此线用作控制输入,并在按键闭合时存储在 FIFO 中。该线是一条频闪线,在频闪输入模式下将数据输入 FIFO RAM。它有一个内部上拉。通过按键闭合将该线拉低。
BD
它代表空白显示。它用于在数字切换期间消隐显示。
OUTA0 – OUTA3 和 OUTB0 – OUTB3
这些是两个 16x4 或一个 16x8 内部显示刷新寄存器的输出端口。来自这些线路的数据与扫描线路同步,以扫描显示屏和键盘。
8279 的操作模式
8279 有两种操作模式 − 输入模式 和 输出模式。
输入模式
此模式处理键盘给出的输入,此模式进一步分为 3 种模式。
扫描键盘模式 −在此模式下,可以使用编码或解码扫描连接按键矩阵。在编码扫描中,可以连接 8×8 键盘,或在解码扫描中,可以连接 4×8 键盘。按下的键的代码以及 SHIFT 和 CONTROL 状态存储在 FIFO RAM 中。
扫描传感器矩阵 − 在此模式下,可以使用编码器或解码器扫描将传感器阵列与处理器连接。在编码器扫描中,可以连接 8×8 传感器矩阵,或在解码器扫描中可以连接 4×8 传感器矩阵。
频闪输入 − 在此模式下,当控制线设置为 0 时,返回线上的数据将逐字节存储在 FIFO 中。
输出模式
此模式处理与显示相关的操作。此模式进一步分为两种输出模式。
显示扫描 − 此模式允许将 8/16 字符多路复用显示器组织为双 4 位/单 8 位显示单元。
显示输入 − 此模式允许从右侧/左侧输入数据进行显示。