📅  最后修改于: 2020-12-13 15:32:28             🧑  作者: Mango
8279可编程键盘/显示控制器由Intel设计,可将键盘与CPU连接。键盘首先扫描键盘,并确定是否已按下任何键。然后,将其对按键的相对响应发送给CPU,反之亦然。
可以在中断或轮询模式下连接键盘。在“中断”模式下,仅在按下任何键时才请求处理器提供服务,否则CPU将继续其主要任务。
在轮询模式下,CPU会定期读取内部标志8279,以检查是否在按键压力下按下了任何按键。
键盘最多包含64个键,这些键通过键代码与CPU相连。这些键代码会被反跳并存储在8字节FIFORAM中,CPU可以对其进行访问。如果在FIFO中输入了8个以上的字符,则意味着一次按下8个以上的键。这是设置超限状态的时间。
如果FIFO包含有效的密钥条目,则CPU在中断模式下被中断,否则CPU在轮询中检查状态以读取条目。 CPU读取密钥条目后,将更新FIFO,并将密钥条目推出FIFO,以产生用于新条目的空间。
该单元控制通过微处理器的数据流。仅当D为低电平时才启用。它的数据缓冲区将系统的外部总线与微处理器的内部总线相连。引脚A0,RD和WR用于命令,状态或数据读/写操作。
该单元包含用于存储键盘,显示模式和其他由CPU编程的操作的寄存器。定时和控制单元处理电路操作的定时。
它有两种模式,即编码模式和解码模式。在编码模式下,计数器提供二进制计数,该二进制计数将在外部解码以提供键盘和显示器的扫描线。
在解码扫描模式下,计数器在内部对最低有效2位进行解码,并在SL 0 -SL 3上提供4个扫描中的1个解码。
该单元首先按行扫描键闭合,如果找到,则键盘反跳单元对键输入进行反跳。如果检测到相同的键,则该键的代码会与SHIFT&CONTROL键状态一起直接传输到传感器RAM。
本机用作8字节先进先出(FIFO)RAM,其中每个按键的键控代码均按其顺序输入到RAM中。在每次FIFO读取操作之后,状态逻辑会生成一个中断请求,直到FIFO空为止。
在扫描传感器矩阵模式下,此单元充当传感器RAM,在该单元的每一行中,将其对应的传感器行的状态加载到矩阵中。当传感器更改其状态时,IRQ线变为高电平并中断CPU。
该单元由显示地址寄存器组成,其中包含当前由CPU读取/写入显示RAM的字的地址。
下图显示了8279的引脚图-
这是8条双向数据总线,用于向CPU传输数据或从CPU传输数据。
时钟输入用于生成微处理器所需的内部时序。
顾名思义,该引脚用于复位微处理器。
当该引脚设置为低电平时,它允许读/写操作,否则该引脚应设置为高电平。
该引脚指示命令/状态信息的传输。低电平时,表示数据传输。
该读/写引脚使数据缓冲器能够通过数据总线发送/接收数据。
当FIFO传感器RAM中有数据时,此中断输出线将变为高电平。每次FIFO RAM读操作时,中断线均变低。但是,如果FIFO RAM进一步包含要由CPU读取的任何键代码条目,则该引脚再次变为高电平,以产生对CPU的中断。
这些是微处理器的接地线和电源线。
这些是用于扫描键盘矩阵并显示数字的扫描线。使用模式控制寄存器,可以将这些行编程为编码或解码。
这些是返回线,它们连接到按键的一个端子,而按键的另一端子连接到解码的扫描线。按下任意键时,这些行将设置为0。
在扫描的键盘模式下,将Shift输入行状态与每个键代码一起存储在FIFO中。直到通过钥匙扣将其拉低,然后将其内部拉高以保持其高位
在键盘模式下,该行用作控制输入,并在按键闭合时存储在FIFO中。这条线是一条选通线,在选通输入模式下将数据输入到FIFO RAM中。它具有内部上拉。用钥匙扣将线拉下。
它代表空白显示。用于在数字切换期间使显示空白。
这些是两个16×4或一个16×8内部显示刷新寄存器的输出端口。这些行中的数据与扫描行同步以扫描显示器和键盘。
在8279上有两种操作模式–输入模式和输出模式。
此模式处理键盘给定的输入,并且此模式进一步分为3种模式。
扫描键盘模式-在此模式下,可以使用编码或解码扫描来连接键矩阵。在编码扫描中,可以使用8×8键盘,在解码扫描中,可以连接4×8键盘。带有SHIFT和CONTROL状态的按键代码存储在FIFO RAM中。
扫描的传感器矩阵-在此模式下,可以使用编码器或解码器扫描将传感器阵列与处理器连接。在编码器扫描中,可以连接8×8传感器矩阵或在解码器扫描中连接4×8传感器矩阵。
交错输入-在此模式下,当控制线设置为0时,返回线上的数据逐字节存储在FIFO中。
此模式处理与显示相关的操作。该模式进一步分为两种输出模式。
显示扫描-此模式允许将8/16字符多路复用显示组织为双4位/单个8位显示单元。
显示输入-此模式允许从右侧/左侧输入数据进行显示。