注册名:

密码:

个人注册

企业注册

商务申请

商务管理平台

企业管理平台

个人管理平台

我的工控博客

中国工控网www.chinakong.com

首页 | 新闻中心 | 工控论坛 | 经验视点 | 工控商务 | 电气手册 | 工控博客 | 招聘求职 | 网上调查 | 企业中心 | 供求信息 | 资料中心 | 工控书店

所在位置:工控论坛 -- 工控机论坛 -- 工控机论坛(非专题) -- 结构与配置

中国工控网搜索:

 登陆:密码:  注册  密码

搜索:

工控机论坛(非专题)分类  

全部论题

结构与配置

数据 I/O

编程与维护

应用方案

发表人:emtronix 发表时间:2011/1/29 18:36:00  

 

 本栏论题: 英创ARM9工控主板扩展矩阵键盘的方法  [1540]

    英创公司ARM9系列工控主板预装正版WinCE操作系统,板载了丰富的通讯接口,GPIO,存储器等资源,支持TFT LCD显示及触摸,支持标准USB键盘,鼠标输入。在实际使用中,客户如果不需要标准键盘输入,仅需要一些数字键或功能键(比如方向键),此时可通过外扩矩阵键盘来实现。
   
    一、矩阵键盘扩展硬件电路
   
    英创ARM9工控主板可通过GPIO或精简ISA总线扩展矩阵键盘,通过GPIO扩展时,程序直接驱动IO作为扫描输入输出,比较简单,此处主要介绍通过ISA总线扩展矩阵键盘的方法。
   
    图1是通过ISA总线扩展矩阵键盘的原理图,用1片74HCT139对总线地址译码,再通过74HCT273实现8位数字输出用于扫描输出,通过74HCT245回读扫描码,仅需要3个器件,就能实现8X8矩阵键盘扩展。
   
   
   
   
   
   
   
   
   
   
    图1
   
   
    二、矩阵键盘扩展驱动程序
   
    通过GPIO扩展和ISA扩展键盘的程序流程是一致的,驱动程序每隔20ms扫描一次键盘,判断是否有按键输入,如果确认了按键输入,则产生WM_KEYDOWN消息,紧接着判断按键是否释放,按键释放后产生WM_KEYUP消息,然后进行下一次扫描,如此循环。图2是按键扫描程序的流程图。
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
    图2:按键扫描流程图
   
   
   
    根据上述流程图,英创公司封装了KEY_API类,该类提供两个方法函数,如下:
   
    // 打开键盘扫描
   
    // nRow,nCol矩阵键盘行列数,最大为8X8
   
    BOOL OpenKeyPad( int nRow, int nCol );
   
    // 关闭键盘扫描
   
    BOOL CloseKeyPad( );
   
    通过KEY_API类,在应用程序中,仅需要调用OpenKeyPad()函数,就能打开键盘扫描程序。当键盘上某个键按下时,驱动程序将产出WM_KEYDOWN和WM_KEYUP消息。这两个消息的附加参数(wParam和lParam)包含的是虚拟键代码和扫描码等信息,应用程序中可通过TranslateMessage函数将WM_KEYDOWN和WM_KEYUP消息组合转换为一条WM_CHAR消息,该消息的wParam附加参数包含了按键字符的ASCII码。
   
   
   

如果要回复本栏论题,请首先中国工控网www.chinakong.com

·如果你已经是中国工控网www.chinakong.com成员,请直接登录。

·如果你还不是中国工控网www.chinakong.com成员,请首先注册,注册为免费!

注册名:

密  码:

           注册中国工控网www.chinakong.com
           忘记密码

关闭该窗口

关于我们     免责声明     服务项目     广告联系     友情链接     联系方式     意见反馈     设为首页     加入收藏

 ©2023-2025 中国工控网(www.chinakong.com) 版权所有 豫ICP备17046657号

管理员信箱:chinakong98@163.com  服务热线:13525974529

洛阳博德工控自动化技术有限公司

中国    洛阳