LED显示驱动器的键盘扫描扩展方法

最新更新时间:2011-09-18来源: 21ic关键字:LED  显示驱动器  键盘扫描 手机看文章 扫描二维码
随时随地手机看文章

本应用笔记介绍了一种扩展扫描的方法,可以扩展MAX6954和MAX6955 LED显示驱动器的键盘扫描范围,从32键扩展到80键。

MAX6954/MAX6955是4线或2线串行接口的LED驱动器,可以控制7段、14段或16段LED或一个16x8的LED矩阵。驱动器还包括5个I/O扩展(GPIO)端口,以及用这些端口自动扫描32个按键、消除按键抖动的所有逻辑控制。另外一个功能选项是通过一个中断引脚通知系统处理器消除键抖。本文介绍的扩展按键扫描方案(从32键扩展到80或更多个按键)需要增添额外的二极管。

表1. MAX6954/MAX6955的标准32键连接

  P0 P1 P2 P3
LED Output O0 SW A1 SW B1 SW C1 SW D1
LED Output O1 SW A2 SW B2 SW C2 SW D2
LED Output O2 SW A3 SW B3 SW C3 SW D3
LED Output O3 SW A4 SW B4 SW C4 SW D4
LED Output O4 SW A5 SW B5 SW C5 SW D5
LED Output O5 SW A6 SW B6 SW C6 SW D6
LED Output O6 SW A7 SW B7 SW C7 SW D7
LED Output O7 SW A8 SW B8 SW C8 SW D8

图1. MAX6954/MAX6955的标准32键连接
图1. MAX6954/MAX6955的标准32键连接

表1和图1给出了MAX6954/MAX6955的标准8键连接。键切换电路按照4 x 8矩阵(4列、8行)读取32个按键的状态。键盘阵列的8行由8个LED阴极驱动器输出(LED输出O0至LED输出O7)驱动。作为多层LED驱动的一部分,这些LED阴极驱动输出依次拉至低电平320µs (标称值)(顺序驱动LED)。这些驱动器输出分别用来拉低键开关的一端,键的另一端连接在4个输入引脚(P0至P3),这4个输入引脚从内部拉至MAX6954/MAX6955的高电平V+。按下开关时,P0、P1、P2或P3将由相应的LED输出Ox拉至低电平,MAX6954/MAX6955检测按键,并为按键提供去抖。

多个按键被同时按下时,与开关串联的二极管可以防止2个或多个LED阴极驱动输出短路。例如,同时按下SW A1和SW A2时,与按键串联的二极管可以避免LED输出O0与LED输出O1短路,因为在任何情况下至少有一个二极管为反向偏置。二极管采用的是低成本、共阳极的BAW56,SOT23封装。

MAX6954/MAX6955随时判断32个按键按下或释放的动作,器件内部仅为指示这32个按键的状态提供了寄存器。从这一点看,在MAX6954/MAX6955的设计中似乎没有办法扩展扫描电路,需要寻找一种全新的设计方案。

针对这种特殊情况,我们发掘了一种冗余情况。许多应用中只需要了解某一个按键是否被按下。通常,同时按下两个按键的情况被认为是错误的键输入,或者是进入工厂诊断模式。这种两个按键同时按下的情况是一种“冗余”情况,我们把新增按键连接成好像某一对儿键被同时按下的情况,表2和图2所示电路通过组合P0、P1、P2和P3扩充了16个按键。例如,当SW AB1按下时,对于MAX6954/MAX6955而言,所表现出来的状态与SW A1和SW B1同时按下的情况相同。只要每对儿按键(如SW A1和SW B1)的物理位置不相邻,这种扩展架构即可有效工作。软件设计应保证在MAX6954/MAX6955的最小去抖周期内响应按键的/IRQ,保证每个对应于按键扫描的结果都经过适当的分析处理。如果软件对/IRQ响应较慢,将无法区分同时按下两个按键的情况(鉴别增添的按键状态)和顺序按下相同的两个按键的情况。无论是哪种情况,按键去抖寄存器0x08-0x0B将简单地显示每个键位置位。

表2. MAX6954/MAX6955扩展后的48键连接
  P0 P1 P2 P3 P0 & P1 P2 & P3
LED Output O0 SW A1 SW B1 SW C1 SW D1 SW AB1 SW CD1
LED Output O1 SW A2 SW B2 SW C2 SW D2 SW AB2 SW CD2
LED Output O2 SW A3 SW B3 SW C3 SW D3 SW AB3 SW CD3
LED Output O3 SW A4 SW B4 SW C4 SW D4 SW AB4 SW CD4
LED Output O4 SW A5 SW B5 SW C5 SW D5 SW AB5 SW CD5
LED Output O5 SW A6 SW B6 SW C6 SW D6 SW AB6 SW CD6
LED Output O6 SW A7 SW B7 SW C7 SW D7 SW AB7 SW CD7
LED Output O7 SW A8 SW B8 SW C8 SW D8 SW AB8 SW CD8

每个附加按键需要一个双二极管(如低成本、共阴极的BAV70,SOT-23封装), 按下开关时,P0和P1或P2和P3被同时拉低。

图2. MAX6954/MAX6955扩展后的48键连接
图2. MAX6954/MAX6955扩展后的48键连接

图2和表2通过组合P0、P1、P2和P3扩充了16个按键。实际上,对于P0-P3键扫描输入还存在另外四种可能的两键组合方式。如果使用了6种两键组合方式,按键数量将增加到80个,如表3所示。图3给出了6个附加按键在LED输出O0行的连接方式。每个附加按键需要一个双二极管。

表3. MAX6954/MAX6955扩展后的80键连接

  P0 P1 P2 P3 P0 & P1 P0 & P2 P0 & P3 P1 & P2 P1 & P3 P2 & P3
LED Output O0 SW A1 SW B1 SW C1 SW D1 SW AB1 SW AC1 SW AD1 SW BC1 SW BD1 SW CD1
LED Output O1 SW A2 SW B2 SW C2 SW D2 SW AB2 SW AC2 SW AD2 SW BC2 SW BD2 SW CD2
LED Output O2 SW A3 SW B3 SW C3 SW D3 SW AB3 SW AC3 SW AD3 SW BC3 SW BD3 SW CD3
LED Output O3 SW A4 SW B4 SW C4 SW D4 SW AB4 SW AC4 SW AD4 SW BC4 SW BD4 SW CD4
LED Output O4 SW A5 SW B5 SW C5 SW D5 SW AB5 SW AC5 SW AD5 SW BC5 SW BD5 SW CD5
LED Output O5 SW A6 SW B6 SW C6 SW D6 SW AB6 SW AC6 SW AD6 SW BC6 SW BD6 SW CD6
LED Output O6 SW A7 SW B7 SW C7 SW D7 SW AB7 SW AC7 SW AD7 SW BC7 SW BD7 SW CD7
LED Output O7 SW A8 SW B8 SW C8 SW D8 SW AB8 SW AC8 SW AD8 SW BC8 SW BD8 SW CD8

图3. MAX6954/MAX6955扩展后的80键连接
图3. MAX6954/MAX6955扩展后的80键连接

为什么仅将“同时按下双键”作为判断附加按键的途径呢?3键和4键组合可用来替代双键按下的情况,表4给出了这种附加配置。需要注意的是,4-3组合键每组需要三个二极管,四组键需要4倍数量的二极管。

表4. 3键和4键连接
  P0 & P1 & P3 P0 & P1 & P4 P0 & P2 & P3 P1 & P2 & P4 P0 & P1 & P2 &P3
LED Output O0 SW ABC1 SW ABD1 SW ACD1 SW BCD1 SW ABCD1
LED Output O1 SW ABC2 SW ABD2 SW ACD2 SW BCD2 SW ABCD2
LED Output O2 SW ABC3 SW ABD3 SW ACD3 SW BCD3 SW ABCD3
LED Output O3 SW ABC4 SW ABD4 SW ACD4 SW BCD4 SW ABCD4
LED Output O4 SW ABC5 SW ABD5 SW ACD5 SW BCD5 SW ABCD5
LED Output O5 SW ABC6 SW ABD6 SW ACD6 SW BCD6 SW ABCD6
LED Output O6 SW ABC7 SW ABD7 SW ACD7 SW BCD7 SW ABCD7
LED Output O7 SW ABC8 SW ABD8 SW ACD8 SW BCD8 SW ABCD8

排除3键和4键连接的一个最好理由是它们需要更多的二极管。如果应用中所需按键只是略高于32键的限制,则可首先选择本文推荐的方案。只是因为某些偶然因素,让用户找寻3键和4键的方案也是不可取的。

值得注意的是:每个扩充按键的连接方式模拟的是多个按键同时按下的情况,这些按键连接在同一LED阴极驱动器输出端(LED输出O0至LED输出O7)。采用这种连接方式,相关组合的按键总是在同一时间扫描或去抖。如果新增按键所模拟的同时按下的按键由不同的LED阴极驱动输出扫描,这种工作方式将是不可靠的。

关键字:LED  显示驱动器  键盘扫描 编辑:探路者 引用地址:LED显示驱动器的键盘扫描扩展方法

上一篇:白光LED寿命介绍
下一篇:大功率LED驱动电路设计

推荐阅读最新更新时间:2023-10-18 15:45

基于低压差线性LED驱动器的手机背光解决方案
目前主要采用白光LED作为手机屏的背光。由于不同供应商提供的屏尺寸和规格不同,所以背光驱动的方式和背光驱动芯片也不一样。但当前使用背光芯片主要有两种,一种是驱动串联LED或者OLED的升压芯片,另一种是驱动并联LED的电荷泵芯片。 对于串联LED背光,需要根据串联LED的个数,把锂电池电压升压到不同的电压。对于OLED背光,一般要求把锂电池升压到12V。这两种应用都需要升压芯片进行背光驱动。Sipex公司的SP6690最多可以驱动8颗串联的LED(图1a)。目前升压驱动芯片的效率在75%到85%之间,并且可以保证发光亮度一致,但要求使用一个储能电感,因此会带来一定的电磁干扰问题。 对于并联LED背光应用,Sipex公
[电源管理]
光纤灯与LED灯在照明中的应用
当今,在绿色照明概念的倡导下,各种照明技术不断的涌现,光纤照明和LED灯作为新兴的照明技术,始终走在绿色照明领域的前沿。 光纤照明是通过光纤把光源发生器的光线传播到指定区域的一种照明方式,它具有如下特点: 1) 由于光纤的自身特性和光的直线传播原理,光纤在理论上可以把光线传播到任何地方,满足了实际应用的多元性。 2)我们可以通过滤光装置获得我们所需要的各种颜色的光,以满足不同环境下对光色彩的需求。 3)通过光纤尾件的设计和安装,照明从抽象化转变为形象化。光纤照明赋予了光线质感、空间感,甚至赋予了光线生命和性格。 4)光纤照明实现了光电分离,这是一个质的飞跃,不仅安全性能提高,而且应用领域大大的拓宽了。 5)塑料光纤照明系统光色柔
[电源管理]
C51---2.3 LED流水灯
原理图 main函数 固定500ms延时 LED1-LED8流水灯闪烁 #include REGX52.H #include INTRINS.H void Delay500ms() //@12.000MHz { unsigned char i, j, k; _nop_(); i = 4; j = 205; k = 187; do { do { while (--k); } while (--j); } while (--i); } void main() { while(1) { P2=0XFE;//1111 1110 De
[单片机]
C51---2.3 <font color='red'>LED</font>流水灯
南昌金沙江LED产业园初步形成集群效应
     7月22日下午,南昌市副市长曾光辉在市政府贵宾厅会见了金沙江创投基金董事总经理伍伸俊一行。双方就金沙江led产业园发展相关事宜进行了深入探讨。     曾光辉在会见时说,LED产业是光电子器件发展中的重点,市场潜力巨大。南昌市将进一步加大力度支持LED产业在昌发展,帮助企业解决面临的问题和困难,不断做强做大。伍伸俊表示,金沙江十分看好南昌市场,希望产业园区的建设能为南昌经济又好又快发展贡献力量。     据悉,金沙江LED产业园各方面建设日趋完善,已初步形成产业集群效应,并以晶能光电为龙头,在国际国内LED业界的影响也日益加深。目前,该产业园内项目有晶和照明LED路灯和晶能光电硅衬底LED芯片及器件。  
[电源管理]
LED灯具的智能节能监控系统的解决方案
 当前“十城万盏”工程正在日益深入的在各试点城市推广,很多试点外的城市也在积极探索LED照明的模式,寻求缓解自身城市电力紧张现实的先进解决方案。   城市路灯照明是人们日常生活中必不可少的公共设施。据了解,当前我国路灯照明耗电量约占总耗电量的15%.面对供电的紧张局面,人工控制、路灯巡查成为了必不可少的现实工作,同时也是一项需要耗费大量人力物力的工作。现有传统的节电措施仅仅靠夜晚间隔关灯、调整路灯开关时间、用电紧张时关闭景观照明等举措来实现,方法单纯且收效甚微。在当前LED路灯在全国探索前行的道路上,更需要结合LED路灯自身特点探索其独属的LED控制系统。   据了解,目前市场应用于LED驱动电源管理、LED灯具的智能节能监控
[电源管理]
为LCD背光应用驱动120个LED
  随着白光发光二极管(LED)的效率持续快速提升且其解决方案的尺寸变得更小更薄,它们如今已应用在便携式DVD播放器、电子相框和全球卫星定位系统(GPS)等设备中,作为5~10英寸的液晶显示(LCD)面板背光。   本文将阐述如何利用一个20V白光LED驱动器来为LCD背光应用驱动多个LED串,以及如何将输出电压范围扩展至高于最大额定电压以驱动串联的6~10个LED。   带电流镜像的多个LED串   图1显示了如何将流经初级支路的恒定电流复制到次级支路。NCP5050是LED驱动芯片,它可将感测电阻RLCS的电压维持在250mV来对初级支路的恒定电流I1进行稳流。   电流I1由式1来确定。   RLCS=FBV/IOU
[嵌入式]
传统照明与LED照明的战争
  在当今节能环保大气候下,传统光源的缺点尽显无遗,必将遭到节能型光源的淘汰。传统光源白炽灯、卤钨灯、金属卤化物灯(HID)进出口萎缩,而节能型光源荧光灯及放电灯进口保持增长。尤其是LED照明光源(芯片及相关设备、原材料等等)进口大幅增长,环比超过30%,今后每年将以超过35%的速度增长。    基于目前MOCVD、芯片、原材料的供应状况,以及LED价格下降速率,据GLII预测:到2015年LED照明渗透率将达到25%左右,2020年的渗透率达60%左右。    对于传统照明企业来说,切入LED照明并非不遗余力。一方面是左手右手互博;另一方面,在目前LED成本还偏高的情况下,生产和销售LED灯越多,其边际效益越低。因
[电源管理]
简单的4*4矩阵键盘扫描程序
/* 程序效果:按下任意键,LED显示P0读回的数据其中4*4的矩阵键盘接P0口 */ #include reg52.h //头文件 unsigned char key=0xff; //定义一个变量用于存放按键值 void readkey(); //读按键子函数,获取键值 void main() //主函数 { while(1) { readkey(); //读按键值 if(key!=0xff) //判断是否有按键按下 P2=~key;//这里取反:是因为LED为共阴,显示所按下的值 } } void readkey() //读键盘子函数 { P0=0xfe; //将第一列拉低,扫描是否有按键按下,第一列键值为:0,4,
[单片机]
简单的4*4矩阵<font color='red'>键盘</font><font color='red'>扫描</font>程序
小广播
最新电源管理文章
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved