
8279可编程键盘显示控制器可编程键盘/显示控制器可编程键盘-工作原理与应用工作原理与应用概述Intel 8279是通用的可编程键盘和显示接口设备,单个芯片设备可以完成键盘输入和显示的两项功能. 控制. 键盘部分提供扫描模式,可以将其连接到64键矩阵键盘,该键盘可以自动消除键抖动,识别键码并同时保护双键或n键. 显示部分以扫描模式工作,为LED数字管提供多路复用的信号,最多可显示16个字符或数字. 内部结构8279内部结构内部结构8279内部功能模块: 共享模块数据缓冲区和输入/输出控制器控制和定时寄存器扫描计数器键盘功能模块FIFO /传感器RAM FIFO状态寄存器反馈缓冲区,键盘反跳和代码控制显示功能模块显示RAM显示地址寄存器8279内部结构共享模块内部结构共享模块数据缓冲区和输入/输出控制器数据缓冲区是双向缓冲区,用于在CPU和8279之间传输命令或数据. 输入/输出控制器控制输出或根据CS(片选),WR(写),RD(读)和A0信号状态输入数据缓冲器. 控制线A0用于区分信息状态. 当A0 = 1时,如CPU的写操作: 输入指令;例如CPU读取操作: 输出FIFO状态字.
当A0 = 0时,例如CPU写入操作: 输入显示数据;例如CPU读取操作,输出键值或显示RAM中的显示数据; 8279内部结构共享的模块内部结构共享的模块控制和定时寄存器控制和定时寄存器用于注册键盘和显示工作模式以及CPU编程的其他操作模式. 定时控制包括分频功能. 可以通过软件在2到31之间对分频值进行编程,以对外部时钟CLK进行分频以获得内部所需的100KHZ时钟信号,从而提供键盘逐行扫描频率和显示位扫描时间. 扫描计数器扫描仪有两种工作模式: 编码和解码. 当扫描计数器工作时,从扫描线SL0-SL3输出计数值,以提供用于键盘和显示器的扫描信号. 常用的是代码扫描方法. 8279内部结构键盘功能模块内部结构键盘功能模块FIFO /传感器RAM FIFO /传感器RAM是双功能8字节RAM,用于存储键数据. 每当按下一个键时,收集的键值便会按顺序写入FIFO /传感器RAM单元,并且每次读取时,总是按输入顺序读出第一个输入数据. FIFO状态寄存器FIFO状态寄存器用于记录FIFO /传感器RAM的工作状态. 它表示的状态信息包括: RAM已满还是空;其中存储了多少个字符;是否存在操作错误等,并根据检测情况输出中断请求信号.

8279内部结构—键盘功能模块的内部结构键盘功能模块的反馈缓冲器,键盘去抖动和编码控制来自8条反馈线RL0-RL7的反馈信号,这些信号由反馈缓冲器缓冲并存储在FIFO中内存. 在键盘矩阵工作模式下,反馈线连续搜索闭合键. 当按键闭合时,将设置防抖电路,并在延迟100ms之后检查按键是否连续闭合. 如果关闭,则键的地址以及SHIFT和CTRL状态将形成键值,并将其发送到FIFO RAM. 8279内部结构—键盘功能模块的内部结构FIFO存储器中键盘功能模块的键盘数据格式如下: D7 CTRL / STB D6 SHIFT D5 D4 D3扫描D2 D1 D0反馈CTRL和SHIFT(D7和D6)状态包括两个独立的确定附加开关输入信号线CTRL / STB和SHIFT的状态. D5,D4和D3这三个位来自扫描计数器,它是按钮的行代码. 三个位D2,D1和D0来自列计数器,它们基于反馈信号确定的键的列代码. 8279键盘功能模块的内部结构键盘功能模块的内部结构反馈信号(RL7-RL0)与反馈信号编码(D2-D0)的对应关系如下: RL7-RL0 11 11 11111 D2-D0 000001001010011100101 110 1118279内部结构显示功能模块内部结构显示功能模块显示RAM显示RAM用于存储显示数据.
此区域有16个字节,并存储与16个数字显像管相对应的显示信息. 16显示地址寄存器显示地址寄存器用于注册要由CPU读取/写入的显示RAM的地址. 它可以通过命令设置,也可以设置为在每次读取或写入后自动递增地址. 8279引脚定义的引脚定义8279引脚定义的引脚定义8279采用40引脚封装,每个引脚定义可分为4组: CPU连接线,数字管连接线,键盘连接线和公共扫描信号线. 1. CPU连接线: DB7-DB0(数据总线): 两路,三态总线. CS(片选): 输入,低有效. A0(缓冲区地址): 输入. RD(读信号)和WR(写信号): 输入,低电平有效. IRQ(中断请求): 输出,高效. CLK(系统时钟): 输入RESET(复位): 输入,高电平有效. 8279的引脚定义引脚定义2. 键盘连接线: RL0-RL7(反馈线): 输入. 它们是键盘矩阵的列信号输入线. SHIFT(移位信号): 输入,高有效. 可以用作键盘的向上和向下功能键. CTRL / STB(控制/闪光灯): 输入. 可以用作控制功能键; 8279引脚定义的引脚定义3.数字管连接线: OUTA0—OUTA3(A组4位显示代码信号): 输出. OUTB0—OUTB3(B组中的4位显示代码信号): 输出.

BD(空白显示): 输出,低有效. 当使用数字开关显示器或显示器消隐命令时,将显示显示器消隐. 消隐信号的功能是在显示数据改变时暂时关闭显示器,然后在数据改变时开启显示器,以消除显示数据改变过程中的乱码显示. 4.共享扫描信号线: SL0—SL3(扫描线): 输出. 提供用于键盘和显示器的扫描信号. 键盘显示电路设计示例键盘显示电路设计示例SL3-SL0输出0000-1111循环渐变编码信号,此信号由4-16生成,以生成16个数字电子管位选择信号,对应于某个数字电子管位选择信号代码OUT A3-A0和OUT B3B0输出显示管显示段代码,依次循环操作,可以显示16位数字或字符. SL2-LS0信号通过3-8生成键盘行扫描信号. 8279通过RL0-RL7线连续收集键盘矩阵列信号. 按下键时,8279会扫描SL2-SL0行和RL0-RL7列的代码值. 反馈代码值被组合为一个键值并存储在FIFO RAM中,并且将中断请求信号发送到CPU . CPU响应中断后,它将进入中断服务处理程序并读取存储在8279 FIFO RAM中的键值. 命令和状态字-键盘显示模式设置命令键盘/显示模式设置命令键盘命令功能位: D7D6D5 = 000命令格式: 000DDKKK DD两位数字用于设置显示模式: 00 8个字符显示----左输入01 16个字符显示----左输入10 8个字符显示----右输入11 16个字符显示----右输入所谓的“左输入”是指在显示时,显示的字符是从左到右正确安排.
右输入表示显示字符从右移到左. 相应的SL3-SL0代码的最小位是显示屏的最高位. 命令和状态字-键盘显示模式设置命令键盘/显示模式设置命令键盘KKK用三位数字设置键盘工作模式: 000码扫描键盘-双键锁定001解码扫描键盘-双键锁010代码扫描键盘---- N键周期011解码扫描键盘---- N键周期100代码扫描传感器矩阵101解码扫描传感器矩阵110选通输入,代码显示扫描111选通输入,翻译代码显示扫描命令和状态字-键盘显示模式设置命令键盘/显示模式设置命令键盘双键锁定和N键循环是同时处于两种不同的多键按键保护模式. 两键锁定提供了同时按下两个键的保护. 在反跳期间,如果同时按下两个键,则只有一个键会弹起,而另一个键在被识别之前处于按下位置. N键循环为同时按下N键提供了保护. 当同时按下多个键时,键盘扫描可以根据找到它们的顺序将它们的状态发送到FIFO RAM. 命令和状态字时钟编程命令命令功能位: D7D6D5 = 001命令格式: 001PPPPP 001PPPPP PPPPP将外部时钟与CLK分频(2-31).

8279内部时钟频率等于外部时钟频率除以分频数. 读取命令和状态字FIFO /传感器命令传感器RAM命令传感器命令功能位: D7D6D5 = 010命令格式: 010 AI X AAA该命令字仅在传感器矩阵模式下使用,设置要在读取传感器数据之前读取的数据传感器RAM地址,AI是自动递增功能位. 如果AI = 1,则每次读取传感器RAM时,地址将自动加1,以便地址指针指向序列中的下一个存储单元. 这样,将从指针指向的地址中读取下一个读数,而不必复位读取的FIFO /传感器RAM命令. 在键盘矩阵工作模式下,在键盘矩阵工作模式下,由于键值的读取操作严格遵循先进先出的顺序,因此不需要此命令. 按照先进先出的顺序,无需使用此命令. 命令和状态字-读取显示命令. 读取显示RAM命令. 功能位: D7D6D5 = 011命令格式: 011 AI AAAA在CPU读取显示RAM之前,设置要读取的显示RAM的地址. AAAA是显示地址的二进制. 码. 如果自动递增功能位AI = 1,则每次读取后地址都会自动递增1,以便地址指针指向下一个地址单元. 这样,将从指针指向的地址中读取下一个读数,而无需重置读取的显示RAM命令.
命令和状态字-写显示命令写显示RAM命令功能位: D7D6D5 = 100. 命令格式: 100 AI AAAA在CPU写入显示RAM之前,设置要写入的显示RAM的地址. 四位二进制代码AAAA用于寻址显示RAM AAAA RAM中的存储单元. 如果自动递增功能位AI = 1,则在每次写入后,地址将自动递增1,以使地址指针指向下一个地址单元. 这样,下一个写数据将从指针指向的地址写入,而无需复位写显示RAM命令. 命令和状态字显示禁止写入消隐命令显示RAM禁止写入禁止写入/禁止命令显示命令功能位: D7D6D5 = 101. 命令格式: 1 0 1 X IWa IWb BLa BLb IWa和IWb用于屏蔽写组A和组B的显示RAM. BLa和BLb位是消隐功能位,消隐组A(B)显示输出. 如果BLa(b)= 1,则组A(B)的显示输出为空白. 如果BLa(b)= 0,则相应的组将恢复显示. 命令和状态字-清除命令清除命令命令功能位: D7D6D5 = 110. 命令格式: 1 1 0 CD2 CD1 CD0 CF CA该命令字用于清除FIFO RAM和显示RAM. D4D3D2三个位(CD2-CD0)用于设置清除显示RAM的方式.

含义如下: D4D3D2 10X 110111 0XX清除模式会将所有显示的RAM清除为“ 0”,将显示的RAM设置为20H(即A组= 0010 B组= 0000),设置所有显示的RAM为1且不清除(如果CA = 1,则D3和D2仍然有效)命令和状态字清除命令清除命令D1(CF)位用于清除FIFO存储器. 当D1 = 1时,在执行清除命令后,FIFO RAM被清除,中断IRQ被复位. 同时,传感器RAM的读取地址也被清除. D0(CA)位是总清零的特征位,它具有CD和CF的组合作用. 当CA = 1时,清除显示RAM的方式由D3D2(CD1 CD0)的代码确定. 清除显示RAM大约需要100uS. 在此期间,FIFO状态字的最高位Du = 1,指示显示无效. CPU无法将数据写入显示RAM. 命令和状态字结束中断错误模式设置命令结束中断/错误模式设置命令结束中断命令功能位: D7D6D5 = 111. 命令格式: 1 1 1 E X X X X X该命令有两个不同的应用程序: ①作为结束中断命令. 在传感器工作模式下,将E = 1设置为结束传感器RAM的中断请求. ②作为特定错误模式的设置命令. 在键盘扫描N键循环模式下,如果设置E = 1,如果同时按下多个键,则FIFO状态字中的错误功能位S / E将被置位,并且将产生中断请求信号并进行写操作. 阻止了FIFO RAM.
只有在执行CF = 1的清除命令后,才能复位错误标志S / E. 8279状态寄存器(FIFO状态字)状态寄存器状态字)状态字8279状态寄存器(也称为FIFO状态字)端口地址与控制命令(A0 = 1)相同,主要用于键盘和频闪工作模式指示FIFO RAM中的字符数以及是否有错误,字位置的含义如下: Du S / EOUF NNN Du: Du = 1显示无效S / E: 传感器信号结束/错误功能码O: O = 1溢出错误U: U = 1没有足够的错误F: F = 1表示FIFO RAM已满. NNN: FIFO RAM中的字符数为8279状态寄存器(FIFO状态字). 状态寄存器状态字)对FIFO RAM的状态字操作中可能存在两个错误: 溢出和不足. 当FIFO RAM已满时,如果尝试写入键盘数据,则会发生溢出错误,并且状态字位“ O”将被置位. 清空FIFO RAM后,如果CPU仍尝试读取,则会发生“不足”错误,并且状态字位“ U”将被置位. 对于状态字的S / E位,在传感器工作模式下,如果S / E = 1,则表示传感器的最后一个信号进入传感器RAM. 当8279在特定错误模式下工作时,如果S / E = 1,则表示存在同时按下多个键的错误. 当显示RAM清除命令尚未完成时,将设置状态字的最高位Du. 在8279运行之前,需要使用键盘/显示模式设置命令,时钟编程命令和清除命令对其进行初始化.
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/bofangqi/article-291038-1.html
会对世界上极个别霸权国家感到愤慨
小王子
我们的烊烊小王子
而且舰龄老化