微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 串行接口键盘控制器SK5278在单片机系统中的应用

串行接口键盘控制器SK5278在单片机系统中的应用

时间:10-09 来源:互联网 点击:

SK5278是一种可管理16个按键的键盘控制器,该器件内部具有去抖动处理电路,可直接输出按键的键值编码,并采用串行方式与单片机或微处理器进行接口,使用该器件可简化单片机系统软硬件的键盘接口。文中给出了该器件的特点、管脚说明和使用方法,并以AT89C2051单片机为例给出了相应的接口电路及相应程序。

1 特点及引脚功能

SK5278是福州贝能科技有限公司推出的采用PIC内核的键盘控制器。该芯片采用4线串行接口,可与任何种类的单片机接口;它具有按键有效指示输出,可用中断方式管理键盘;其行线X0~X3与列线Y0~Y3可构成4×4键盘矩阵;SK5278的16键键盘控制器内含去抖动处理电路,因而可直接输出键值;此外,该器件的工作电源电压范围宽达4~6V;SK5278采用18脚双列直插DIP封装形式。其管脚排列如图1所示,管脚说明如表1所列。

表1 SK5278管脚说明

管脚号管脚名称管脚类型

功 能

1DIOO数据输出端,读取键盘数据时,此脚在CLK上升沿输出数据
2KEYO按键有效输出端,平时为低电平,当检测到有效按键时,此引脚变为高电平。读取键盘后,此引脚重新变为低电平
3,14VDD 正电源
4RST 复位端
5VSS 电源地
6~9X0~X3I矩阵键盘行线输入端
10~13Y0~Y3O矩阵键盘列线输出端
15OSCOO振荡输出脚,输出频率为RC振荡频率四分之一
16RC 外接振荡器连接端,R=3.3kΩ,C=20pF时,振荡频率为4MHz
17CSI片选端,该脚为低时,可芯片读取键盘数据
18CLKI时钟输入端,读取键盘数据时,此脚电平的上升沿表示数据有效

2 工作原理

SK5278可用行线X0~X3和列线Y0~Y3构成4×4矩阵键盘。同时在芯片内部可自动完成扫描、译码、去抖动处理等任务。当SK5278检测到有效的按键时,按键有效指示“KEY”引脚将从低电平变为高电平,并一直保持到按键代码被读取为止。在“KEY”为高电平期间,如果SK5278接收到“读键盘数据”命令,(即“CS”管脚变低),则输出当前按键的键盘代码,SK5278键盘代码的范围为00H-0FH。如果在接收到“读键盘数据”时没有按键按下,SK5278将输出FFH。在一次读键盘过程完成后,按键有效指示“KEY”将变为低电平。利用按键有效指示“KEY”与单片机的外部中断端相连,可完成具有中断的键盘监控功能,从而提高CPU的工作效率,减少按键响应时间。

SK5278工作时需要外接RC振荡电路以供系统工作,RC元件的典型值为R=3.3kΩ,C=20pF,此时的振荡频率约为4MHz,由于此振荡频率较高,故在印制电路板布线时,所有元件尤其是振荡电路的元件应尽量靠近芯片,并尽量使电路连线最短。

SK5278的RESET复位端在一般应用情况下,可以直接与正电源连接,在需要较高可靠性的情况下,可以连接外部RC复位电路,在上电或接收到RESET端的复位信号后,SK5278大约需要经过25ms的复位时间才会进入到正常工作状态。程序中应尽可能地减少CPU对SK5278的访问次数,以提高程序的效率。

值得注意的是,如果有2个键同时被按下,则SK5278只能给出其中一个按键的代码,因此SK5278不适合应用于需要2个或2个以上按键同时被按下的应用场合。如确实需要双键组合使用或组合增加键盘数量,可在单片机的某I/O脚接入一键与SK5278共同组双键键盘监控电路。

3 串行接口及时序

SK5278采用串行方式与单片机或微处理器接口,串行数据从“DIO”引脚输出,并由“CLK”端发出同步时钟脉冲。当SK5278检测到有键按下时,按键有效指示“KEY”变高,单片机检测到“KEY”信号变高后,便将片选端“CS”拉低,从而使得SK5278将取得的键盘数据在“CLK”引脚的上升沿从“DIO”脚依次送出。在单片机发出8个时钟脉冲后,即可从“DIO”端读取8位键值编码,该编码值的D7为最高位,D0为最低位,然后单片机再使片选“CS”变高,并使“KEY”端重新输出低电平,至此,读键值过程结束。SK5278的串行接口时序如图2所示。图中,T1表示从“CS”下降沿至第一个CLK上升沿的延时,典型值为15μs;T2为CLK脉冲宽度,典型值为10μs;T3为CLK脉冲时间间隔,典型值为10μs。

4 应用电路

利用SK5278串行接口占用单片机口线少及无键按下时无须CPU干预的特点,可以很容易地构成单片机的键盘接口电路,图3所示是AT89C2051单片机与SK5278构成的键盘及接口电路。图中,AT89C2051的P1.2、P1.3、P1.4口线分别与SK5278的“CS”、“CLK”、“DIO”端相连。为了提高按键的响应速度并减少单片机的干预。本方案将SK5278的按键有效指示端“KEY”与AT89C2051的外中断端INT0相连,由于INT0为低电平中断,故而加入了一级非门以使“KEY”反相后与其相连。与图3电路对应的键盘处理程序如下:

;位定义

COUNT

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top