Windows CE.Net下矩阵键盘开发设计详解_.Net教程

编辑Tag赚U币
教程Tag:暂无Tag,欢迎添加,赚取U币!

推荐:浅析.Net平台下开发中文语音应用程序
随着.net技术深入人心,越来越多的程序员开始转到.net平台上进行开发。然而,在新发布的.net speech SDK里面并没有对中文语音进行支持,目前支持中文的Speech SDK最高版本为Windows平台下

引言

随着现代科技日新月异的发展,作为新兴产业的嵌入式移动信息设备的应用越来越广。这些嵌入式设备中的PDA以其体积小、重量轻、便于携带、功能强大、功耗低等特点而备受青睐。键盘作为一种最为普通的输入工具在PDA上显得尤为重要。PDA因其体积小、功能专一等特点决定了它的键盘不大可能采用普通PC机上的标准键盘,因而大多数PDA采用键数相对较少的矩阵键盘。矩阵键盘设计也是多种多样,有外接键盘管理芯片设计的,如采用CH452、UR5HCSPI等芯片;有外接普通单片机设计的,如采用8051、2051等单片机;也有不采用任何外围芯片直接与CPU的I/O口相连设计的。本文介绍一种在Windows CE.Net操作系统下,直接与CPU的I/O口相连的矩阵键盘的硬件设计方案,以及相应的流接口驱动程序设计方案。

1 Windows CE.Net介绍

Windows CE是Microsoft公司专门为信息设备、移动应用、消费类电子产品、嵌入式应用等非PC领域而全新设计的战略性嵌入式操作系统。Windows CE的设计目标是:模块化以及可伸缩性、实时性能好、通信能力强、支持多种CPU[1]。

Windows CE.Net是Windows CE 3.0的后续产品,它不仅是一个功能强大的实时嵌入式操作系统,而且提供了众多强大工具,允许用户利用它快速开发出下一代的智能化小体积连接设备。借助于完善的操作系统功能和开发工具,Windows CE.Net提供了构建、调试和部署基于Windows CE.Net的定制设备所需的一切特性。

Windows CE.Net的最大好处是具有可定制性。当它自带的驱动程序不能满足用户的要求时,需要用户自己编写相应的驱动程序。Windows CE.Net的开发工具Platform Builder就可以完成相应的驱动程序开发。

2 矩阵键盘硬件设计

嵌入式设备上的键盘作为一种输入工具,有着极其重要的作用;然而受设备本身体积影响,键盘设计大多数采用20个左右的键值(0—9数字键、上下左右方向键、确定取消键以及输入法切换键ALT、TAB,具体视应用而定)。这里采用4×5的矩阵键盘设计,即4行5列。把这些矩阵键盘的行和列直接与CPU的I/O口相连,可以充分利用CPU的I/O口资源,降低硬件和驱动设计难度,提高整个系统的稳定性,并在一定程度上降低设备的生产成本。采用矩阵式键盘设计还可以最大限度地节省CPU的I/O口资源。这里用到了CPU的9个I/O口,其中4个I/O口作为中断I/O口。为了使I/O口的初始输入状态为高电平,需要在与键盘相连的每个I/O口上接起初始化电平作用的上拉电阻(100 kΩ)。上拉电阻的阻值根据I/O口端口的电流值来确定。如果相邻I/O口的布线过近,相邻I/O口的电平跳变可能会相互影响,导致扫描按键不准确,这时就需要在每个I/O口上接一个滤波电容到地,减少串扰。支持Windows CE.Net操作系统的CPU有很多种,比较常见的有三星公司的S3C2440、2410 ARM芯片和Intel公司的PXA255、270 ARM芯片,这里的CPU芯片采用的是PXA255。不同CPU之间,矩阵键盘硬件设计相同。矩阵键盘硬件设计电路原理如图1所示。

   图1 矩阵键盘(4×5)电路原理

3 矩阵键盘驱动设计

3.1 矩阵键盘驱动开发策略

Windows CE.Net中的驱动可分为两种模式:本机驱动模式和流驱动模式[2]。前者比较适合集成在本机上的设备,后者则通常用在用户添加的外围设备上。本文讨论的矩阵键盘作为一种外围设备适合采用流驱动模式。

3.2 矩阵键盘驱动加载过程

Windows CE.Net系统运行时会默认启动DEVICE.EXE进程。DEVICE.EXE就是负责加载所有流驱动的,进程对流驱动的加载通过注册表列举器(RegEnum.dll)来实现。键盘的资源信息由OEM适配层(OAL)记录在注册表中,RegEnum.dll是通过扫描注册表项HKEYLOCALMACHINE\Drivers\BuiltIn\PWRBUTTON下的键值对矩阵键盘进行初始化的。注册表中关于矩阵键盘驱动的注册信息如下:

以下为引用的内容:

  [HKEY_LOCAL_MACHINE\Drivers\BuiltIn\PWRBUTTON]
  Prefix=PWR//设备文件名前缀
  Dll=PwrButton.Dll//键盘驱动的动态连接库名
  Order=dword:2//键盘驱动加载顺序
  Ioctl=dword:4

分享:Asp.net FMS 开发视频网站
开发步骤: 1。下载FMS http://blogs.ugidotnet.org/kfra/archive/2006/10/04/50003.aspx,安装配置。 2。使用flash制作FMS视频采集的控件。 3。aspx页面嵌入FMS采集控件,运行采集数据上

共2页上一页12下一页
来源:模板无忧//所属分类:.Net教程/更新时间:2009-09-03
相关.Net教程