《INTEL8279》由会员分享,可在线阅读,更多相关《INTEL8279(11页珍藏版)》请在金锄头文库上搜索。
1、INTEL8279 是一种可编程键盘 /显示器接口芯片,它含有键盘输入和显示器输出 两种功能。键盘输入时,它提供自动扫描,能与键盘或传感器组成的矩阵相连, 接收输入信息。 它能自动消除开关抖动并能对多键同时按下提供保护。显示输出 时,它有一个 168 位显示 RAM ,其内容通过自动扫描,可由8 或 16 位 LED 数码管显示。 8279 管脚、引线及功能说明 8279 为 40 列引脚封装,如图7.9.1 所示。详细说明如下: D0D7(数据总线):双向、三态总线。用于和系统数据总线相连,在CPU 和 8279 之间传递命令或数据。 CLK(系统时钟) :输入线。用于 8279 内部定时,
2、 以产生其工作所需时序。 RESET(复位):输入线,高电平有效。当复位信号RESET=1时,8279 被 复位。 (片选):输入线,低电平有效。当=0 时,8279被选中,允许 CPU 对其 进行读、写操作,否则被禁止。 A0(缓冲器地址):输入线。当A0=1 时,若 CPU 进行写操作,则写入字 节是命令字。若进行读操作,则从8279 读出的字节是状态字。当A0=0 时,写 入字节或读出字节均为数据。 、 (读、写信号):输入线,低电平有效。这两个来自CPU 的控制信号, 控制 8279 的读写操作。 IRQ(中断请求):输出线,高电平有效。 在键盘工作方式中,当FIFO/传感器 RAM
3、中存有数据时, IRQ 为高电平, 向 CPU 提出中断申请。 CPU 每次从 RAM 中读出一个字节数据时,IRQ 就变成 低电平。如果 RAM 中还有未读完的数据, IRQ 将再次变为高电平,再次提出中 断申请求。 在传感器工作方式中,每当检测到传感器状态变化时,IRQ 就出现高电平。 SL0SL3(扫描线):输出线。这四条输出线用来扫描键盘和显示器。它们 可以编程设定为编码输出(16 中取 1)或译码输出( 4 中取 1)。 RL0RL7(回复线):输入线。它们是键盘矩阵或传感器矩阵的列信号输入 线。 SHIFT(移位信号):输入线,高电平有效。该输入信号是8279 键盘数据的 次高位
4、D6,通常用来补充键盘开关的功能,可以用作键盘上下挡功能键。在传 感器方式和选通方式中,SHIFT 无效。 CNTL/STB (控制 /选通):输入线,高电平有效。 在键盘方式时,该输入信号是键盘数据的最高位D7,通常用来扩充键开关的 控制功能,作为控制功能键用。 在传感器方式下, CNTL 信号无效。 在选通输入方式下, 该信号的上升沿可将来自RL0RL7 的数据存放入 FIFO RAM 中。 OUTA0OUTA3 (A 组显示信号):输出线。 OUTB0OUTB3 (B 组显示信号):输出线。 这两组引线均是显示信息输出线,它们与多路数字显示的扫描线SL0SL3 同步。两组 可以独立使用,
5、也可以合并使用。(消隐显示):输出线,低电平有效。该输出信号在数字切换显示或使用显 示消隐命令时,将显示消隐。8279 芯片8279 采用单 5V 电源供电, 40 脚封装。DB0 DB7:双向数据总线,用来传送8279 与 CPU之间的数据和命令。CLK:时钟输入线,用以产生内部定时的时钟脉冲。RESET: 复位输入线,8279 复位后被置为字符显示左端输入,二键闭锁的触点回弹型式,程序时钟前置分频器被置为31,RESET信号为高电平有效。CS:片选输入线,低电平有效,单片机在CS端为低时可以对8279 读/写操作。A0: 缓冲器低位地址,当A0 为高电平时,表示数据总线上为命令或状态,当为
6、低电平时,表示数据总线上为命令或状态,当为低电平时,表示数据总线上为数据。RD:读信号输入线,低电平有效,将缓冲器读出,数据送往外部总线。WR: 写信号输入线,低电平有效,将缓立器读出, 将数据从外部数据总线写入 8279 的缓冲器。RL2- 1 40 -VCC RL3- 2 39 -RL 1 CLK- 3 38 -RL 0 IRQ- 4 37 -CNTL/STB RL4- 5 36 -SHIFT RL5- 6 35 -SL 3 RL6- 7 34 -SL 2 RL7- 8 33 -SL 1 RESRT- 9 32 -SL 0 RD- 10 31 -OUT B0 WR- 11 30 -OUT
7、B1 DB0- 12 29 -OUT B2 DB1- 13 28 -OUT B3 DB2- 14 27 -OUT A0 DB3- 15 26 -OUT A1 DB4- 16 25 -OUT A2 DB5- 17 24 -OUT A3 DB6- 18 23 -BD DB7- 19 22 -CS VSS- 20 21 -A0 IRQ: 中断请求输出线,高电平有效,在键盘工作方式下,当FIFO/ 传感器 RAM 中有数据时,此中断线变为高电平,在FIFO/ 传感器 RAM 每次读出时,中断线就下降为低电平,若在RAM 中还有信息,则此线重又变为高电平。在传感器工作方式中,每当探测到传感器信号变化时,
8、中断线就变为高电平。SL0SL3:扫描线,用来扫描按键开关,传感器阵列和显示数字,这些可被编程或被译码。RL0RL7:回送线,经过按键或传感器开关与扫描线联接,这些回送线内部设置有上拉电路,使之保持为高电平,只有当一个按闭合时,对应的返回线变为低电平;无按键闭合时,均保持高电平。SHIFT: 换位功能,当有开关闭合时被拉为低电平,没有按下SHIFT 开关时, SHIFT 输入端保持高电平,在键盘扫描方式中,按键一闭合,按键位置和换位输入状态一起被存贮起来。CNTL/STB:当 CNTL/STB开关闭合时将其拉到低电平,否则始终保持高电平,对于键盘输入方式,此线用作控制输入端,当键被按下时,按键
9、位置就和控制输入状态一起被存贮起来,在选通输入方式中,作选通用,把数据存入FIFO RAM中。OUTA3 OUTA0 及 OUTB3 OUTB0:显示输出 A口及 B口, 这两个口是164切换的数字显示。这两个端口可被独立控制,也可看成一个8 位端口。BD:空格显示 , 此输出端信号用于在数字转换时将显示空格或者用显示空格命令控制其显示空格字符。VCC:5V 电源输入线。VSS:地线输入线。8279 的编程方法1.8279 可按其功能分为: 键盘功能块 ; 显示功能块 ; 控制功能块 ; 与 CPU接口功能块控制功能块包括控制和定时寄存器, 定时和控制 , 扫描计数器三部分, 它主要用来控制键
10、盘和显示功能块工作. : 控制和定时寄存器: 用于存贮来自CPU的编程命令 ,CPU对 8279 编程以确定键盘与显示器工作方式和其它工作条件时, 先把命令控制数据放到数据总线上, 然后使A0=1,WR=0CS=0, 并在 WR 上升沿把命令键存在控制和定时寄存器中, 并经译码 , 建立适当的功能. : 定时和控制 : 它含基本的定时计数器, 第一个计数器是一个分频系数为 2-31 的前置定时器, 分频系数可由程序预置, 使内部频率为100KHz,从而能给出5.1ms 键盘扫描时间和10.3ms 反跳时间 , 其它计数器将此基本频率分频后, 提供适当的按键扫描. 行扫描. 键盘阵列扫描. 以及
11、显示器扫描次数. : 扫描计数器 : 扫描计数器有两种工作方式, 在编码工作方式时, 计数器提供一种二进制计数, 通过管脚SL0-SL3 输出后经外部译码才能提供给键盘和显示器的扫描作用 , 在译码工作方式时, 扫描计数器对最低二位进行译码,SL0-SL3 输出 4 选 1 的译码信号 ,作为显示器和键盘的译码扫描 . : 键盘功能块包括: 返回缓冲器 , 键盘反跳及控制,8x8 FIFO传感器RAM,FIFO/传感器 RAM状态 . 2. 返回缓冲器与键盘反跳及控制8 条返回线被返回缓冲器缓冲, 在键盘工作方式中, 这几条线被逐个检测, 以找出该行键中闭合的键 , 如果反跳电路测知某键闭合,
12、 则它等待10.3ms, 然后重核此键是否仍然闭合 , 如果仍闭合 , 那么该键在矩阵中的行列地址以及SHIFT 和 CNTL的状态一起被送到FIFORAM中, 其在 FIFO RAM中的数据格式如下: D7 D6 D5 D4 D3 D2 D1 D0 CNTL SHIFT SCAN RET URN 数据格式中 , 最高位 CNTL,次高位为SHIFT 状态 ,D5-D3 来自扫描计数器,D2-D0 来自返回计数器, 扫描线计数器和回扫线计数器的值分别反映出被按下键的行. 列的值 ,如果在传感器阵列中, 返回线上的数据直接进入传感器RAM 中相应于阵列中正被扫中的那行,这样每个开关位置就直接反映
13、为一个传感器RAM 的位置 . :FIFO/传感器 RAM 一个 8x8 RAM, 在键盘方式和选通方式中它是一个先入先出(FIFO) 存贮器, 每一条新的信息顺次写入 , 然后又按写入顺序读出, 在传感器阵列扫描方式时, 存贮器作为传感器 RAM, 这时 RAM 中的各行存着传感器阵列中相应行的状态. :FIF0/传感器 RAM 状态在键盘或选通方式中,FIFO 状态跟踪FIFO 中字符数量注意它是“ 满“ 还是“空“, 写入或读出过多均被认作出错, 当 FIFO 非空时 , 状态逻辑提供一个中断申请IRQ 信号 ,在传感器阵列扫描方式中, 若测知某一传感器变化时,IRQ 则为有效高电平.F
14、IFO 状态字的低3 位表示 FIFO 中的字符数 ,F 表示 FIFORAM 已满 ;O(over mn)表示越限错误, 即试图向已满的FIFO 送另一字符 ;U(Under done) 表示取空错误, 即试图读取已空的FIFO.S/F 有两种含义 : 在传感器扫描方式时 ,S/F 表示在传感器 RAM 中至少包含了一个传感器闭合指示, 在特殊错误方式时S/F 位是出错标志 , 用来指示是否发生了多路同时闭合错误,Du 位表示由于 CLEAR DISPLAY或 CLEAR ALL命令尚末完成其消除操作而使显示RAM 尚不可用 . 3. 显示功能块包括: 显示寄存器 ,16X8 显示 RAM,
15、显示地址寄存器. : 显示 RAM 和显示寄存器8279 内部有 16X8 的显示 RAM,通过显示寄存器和两个四位端口0UT A0-3,0UT BO-3来刷新显示 , 显示器可以是白炽灯, 也可以是8 段数码管 , 显示 RAM 可以是 16X8 的形式, 也可以构成两个16x4 的 RAM 形式 , 显示 RAM 可由 CPU进行读写 , 被读写的RAM字节地址由显示地址寄存器指示. : 显示地址寄存器保存当前CPU读或写的那个RAM 地址 , 以及正显示着的那两个4 位半字节的地址, 读写地址由CPU命令编程 , 也可置为每次读写后地址自动加1 的工作方式, 在设置了正确的工作方式后 ,
16、 显示 RAM可直接由 CPU读出 , 半字节 A 和半字节B 地址自动由8279 更新 , 以适应由CPU送入的数据 ,A 和 B 半字节可独立送入, 也可作为一个字送入, 随 CPU所设置的工作方式而定3.I/O 接口功能块8279 通过数据缓冲器与I/O 控制 , 使 8279 与 CPU系统总线接口,I/O控制部分用CS.A0.RD 和 WR 四条线控制 CPU与 8279 之间的数据交换, 数据缓冲器是数据交换的双向通道, 控制信号与数据交换间的逻辑关系见下表: CS A0 WR RD 1 0 CPU 从 8279 读状态0 1 0 1 CPU向 8279 写状态1 0 CPU 从 8279 读数据0 0 1 CPU向 8279 写数据1 X X X 数据缓冲器输出呈三态x 为任意数 (0 或 1) 8279 的操作由前所述 ,8279 可适应各