| RSS
深圳电器感厂家
您当前的位置:电感器制造商 > 新闻中心

基于ARM的矩阵键盘设计及其linux驱动实现

来源:    作者:     发布时间:2015-05-19 08:59:08     点击数:

3.2 中断处理及键盘扫描程序

中断处理函数的名称为上面注册的buttons_interrupt.具体程序流程如图3所示。当有按键按下时,该键所在行列导通。列的低电平将该行电平拉低,进而触发中断。然后,进入中断处理函数。由于按键存在抖动的问题,单靠一次中断的触发就判定有按键按下是不可靠的,所以采用定时器延时10ms后再进入键盘扫描函数。

本设计的键盘扫描程序采用先确定行再确定列的方法,最后对行绕线型电感器列进行一定的运算即得键值。首先确定行:逐行扫描,判断是否有行引脚为低电平。若有,保存该行值(row)。继续确定列:逐列置低电平,当该列为按下所在列时,才会使该行再次为低电平,从而确定列(column)。再对行列进行运算:k=row*4+column,则将矩阵键盘的每一键对应为键号0-19.键盘布局为图2所示形式后,我们只取矩阵电感厂家键盘的前18键(键号0-17),键值保存为一体成型电感k+1.对于Ent键,通过按下的时间长短区分是确定功能还是开关机功能,按下时间小于0.5秒为确认功能,按下时间大于1.6秒为开关机功能,时间在0.5秒-1.6秒的视为无效操作。计时方法为:

若该行仍为低电平且整数cnt小于1700:延时1ms,cnt++;根据cnt值即得按下时间。

开关机功能保存为第18键号,键值19.

4.驱动程序的测试

测试程序属于上层应用程序,直接调用键盘驱动程序提供的接口即可实现度键盘的操作。我们调用open()函数实现矩阵键盘设备的打开,再调用read()函数即可将键盘数据读取出来并保存到自己定义的数组中,最后使用printf()函数将测试塑封电感结果显示出来。

功运用到笔者的项目中,键盘输入的正确率和反应时间均符合设计要求。

5.总结

绕行电感器

本文介绍了一种直接从ARM的I/O口扩展矩阵键盘的方法,它无需增加其它接口元器件,设计快速实用,并实现了在Linux系统下的驱动,为ARM嵌入式设备扩展手持终端式键盘提供了一种解决方案。

1

定制变压器对绝缘漆的要求主要有以下几点1、绝一体成型电感器生产厂家缘性能优良2、附着力好,机械强度高3、收缩应力小4、耐热性应满足变压器的不同要求5、对户外或特殊环境应模压电感厂家满足其特殊要求,如防

当需要为LCD平面显示器选择背光照明时,设计者往往面临应采用白光LED或是具备较纯白光的RGB光源之两难处境。白光led驱动器和RGB驱动器是不同的,举例而言,用于在可携式电子设备中的显示器、或

采用LM3431的LED背光系统解决方案这款电路利用12V总线的电池供电驱动4组、每组共有8个串联一起的140 mA LED,最适用于汽车TFT显示器的LED背光灯。输入电压:8V至18V,4组LE


上一篇: 基于FPGA的多路光栅信号采集方案
下一篇:功率电感器
来顶一下
返回首页
返回首页
相关文章
推荐资讯
电感数字转换器
电感数字转换器
相关文章
栏目更新
栏目热门