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

发布者:tyloo820最新更新时间:2011-10-09 关键字:串行接口  键盘控制器  SK5278 手机看文章 扫描二维码
随时随地手机看文章

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

1 特点及引脚功能

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

表1 SK5278管脚说明

管脚号 管脚名称 管脚类型

功    能

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

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 DATA 70H

RXBUF DATA 20H

;I/O定义

DIO BIT P1.4

CS BIT P1.2

CLK BIT P1.3

;主程序

MAIN:MOV SP,#50H

MOV P1,#0FFH ;将P1口置为输入

SETB IT0 ;INT0为边沿触发

SETB PX0 ;INT0为高优先级中断

SETB EX0 ;开INT0中断

SETB EA ;CPU开中断

LCALL DL25ms ;延时25ms等待SK5278复位

;INT0键盘中断程序

INT0:LCALL RECEIVE ;读键值

MOV A,RXBUF ;键值送A

CJNE A,#00H,KEY-1 ;K0键未按下转下键

LJMP KEY0 ;K0键按下,转入相应键值处理子程序

KEY1:CJNE A,#01H,KEY-2;

LJMP KEY1 ;K1键按下,转入相应键值处理子程序

KEY2:…

……

KEY15:CJNE A,#0FH,KEYFH ;K15键未按下,中断返回

LJMP KEY15 ;KEY15键按下,转入相应键值处理程序

KEYFH:RET; 无键按下时中断返回读键盘值程序

RECEIVE:CLR CS ;读键盘数据有效

SETB DIO ;将DIO置为高电平输入状态

ACALL DL 15μs ;T1延时

MOV COUNT,#08H ;共八位数据

LOOP:SETB CLK

ACALL DL 15μs ;T2延时

MOV A,RXBUF

RL A ;数据左移一位

MOV RXBUF,A

MOV C,DIO ;读取一位数据

MOV RXBUF.0,C

CLR CLK

ACALL DL 15μs ;T3延时

DJNZ COUNT,LOOP

SETB DIO ;将DIO重置为高电平输入

ACALL DL 15μs

SETB CS ;读键盘数据无效

RET

5 结束语

应用SK5278键盘控制器可使单片机系统的人机交互键盘接口电路及监控程序变得简单容易,同时减少了对单片机软硬件资源的占用,因而该器件是构成少数单片机键盘接口电路的一种较好的选择方案。

关键字:串行接口  键盘控制器  SK5278 引用地址:串行接口键盘控制器SK5278在单片机系统中的应用

上一篇:采用MSP430单片机及USB总线ch375设计便携式血压计
下一篇:单片机下载线应用电路

推荐阅读最新更新时间:2024-03-16 12:43

数字电视接口 分量串行接口SDI
SDI接口是目前演播室数字电视节目制作系统中应用最广的接口,主要用在非线性编辑系统、视频服务器、虚拟演播室以及数字切换矩阵和数字光端机等。    SDI是Serial Digital Interface 的缩写,也就是串行数字接口。串行接口是把数据字的各个比特以及相应的数据通过单一通道顺序传送的接口。由于串行数字信号的数据率很高,在传送前必须经过处理。用扰码的不归零倒置(NRZI)来代替早期的分组编码,其标准为SMPTE-259M和EBU-Tech-3267,标准包括了含数字音频在内的数字复合和数字分量信号。 SDI是串行数字接口,被用来传送无压缩的数字视频信号。在上世纪80年代,SDI得到了快速发展并对其标准作出了定义。3G-
[嵌入式]
AVR单片机(学习ing)—(十)、ATMEGA16的同步串行接口SPI—03
十、ATMEGA16的同步串行接口SPI 十—(03)、ATMEGA16的同步串行接口SPI的串行通讯实验—通过效率最高的中断法~~ 然后就是程序了~~ IAR10_2_M.c //------------------------------------------------------------------------------ //这是ATMEGA16作为主机发送的文件 //主机每隔1s发送数组的一个数据给从机,从机收到后则发送自己的数组的一个数据给主机,这样实现数组内容的交换 //数组的内容在主机和从机的数码管上显示 #include ioavr.h #include intrinsics.h #includ
[单片机]
AVR单片机(学习ing)—(十)、ATMEGA16的同步<font color='red'>串行接口</font>SPI—03
串行接口的工作原理和实现
串口的结构和工作原理 通用异步收发传输器(Universal Asynchronous Receiver/Transmitter),通常称作UART。它将要传输的资料在串行通信与并行通信之间加以转换。作为把并行输入信号转成串行输出信号的芯片,UART通常被集成于其他通讯接口的连结上。 uART使用标准的CMOS逻辑电平(0~5v、0~3.3 V、0~2.5V或0~1.8V四种)来表示数据,高电平为1,低电平为0。为了增强数据的抗干扰能力,提高传输长度,通常将CMOS逻辑电平转换为RS-232逻辑电平(3~15v以o表示,-3~-15V以1表示)。 上图为串行接口的原理图,可以分为三部分分别为发送缓冲寄存器,波特率发生器,接
[单片机]
<font color='red'>串行接口</font>的工作原理和实现
多回路分散型嵌入式电池化成充放电控制器
1 引 言   化成充放电是蓄电池生产工艺中的关键过程之一,其控制水平直接关系到产品的质量。该工艺要求化成充电机能够按时间、电压或安时数等条件对蓄电池进行多次的充放电,具有静电、恒流充电、恒压(限流)充电、恒流放电等多种充放电模式,并要求达到控制精度≤1%,检测精度≤0.5%,限流限压保护精度≤2%。常规生产方式下主要采用人工手动操作,控制精度低、劳动强度大、人为因素对产品的质量影响很大,因此引入微机程控装置对于改善操作过程、提高产品质量意义重大。   随着新型单片机内置大容量的FlashROM、各种串行ADC、DAC以及高密度串行E2PROM等技术的发展,开发高性能、低成本、紧凑型蓄电池充放电控制器成为可能。根据小容量多回路充电
[电源管理]
多回路分散型嵌入式电池化成充放电<font color='red'>控制器</font>
单片机串行接口和调制解调器如何实现远程通信
  在工业测控系统中,51单片机在现场用来采集模拟量、开关量,而中央控制计算机在控制室或调度室用来监测整个控制现场。它们之间的数据传送可构成局部网络、多用户系统和分布式控制系统。 一、51单片机与计算机通信方式      利用51单片机串行接口和调制解调器及现有电话线,实现远程双向通信的方框图如图1-18所示。      在利用现有电话线进行数据传输的串行通信中,把将要传送的数据按先后顺序,在公共信道上逐位传送。      串行通信对字符的 编码 、字符格式和传输速率都有具体规定,必须严格遵守。异步串行通信数据的传送格式由4部分组成:起始位、数据位、奇偶校验位和终止位。      通信协议要求:在发送端,每传送一个字符都必须有起
[单片机]
单片机<font color='red'>串行接口</font>和调制解调器如何实现远程通信
单片机(AT89C51)的串行接口及串行通信
异步通信和同步通信 串行通信按同步方式可分为异步通信和同步通信。 异步通信 异步通信依靠起始位、停止位保持通信同步。 异步通信数据传送按帧传输,一帧数据包含起始位、数据位、校验位和停止位。 优点:异步通信对硬件要求较低,实现起来比较简单、灵活,适用于数据的随机发送/接收; 缺点:因每个字节都要建立一次同步,即每个字符都要额外附加两位,所以工作速度较低; 在单片机中主要采用异步通信方式。 同步通信 同步通信依靠同步字符保持通信同步。 同步通信是由1~2个同步字符和多字节数据位组成,同步字符作为起始位以触发同步时钟开始发送或接收数据;多字节数据之间不允许有空隙,每位占用的时间相等;空闲位需发送同步字符。
[单片机]
单片机(AT89C51)的<font color='red'>串行接口</font>及串行通信
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved