实现了多键齐按和重复按键的嵌入式系统键盘驱动设计1 键盘驱动程序的设计随着电子信息技术飞速发展,嵌入式系统构成的各种设备得到了广泛的应用, 嵌入式 Linux是一种开放源码、 软实时、 多任务的操作系统,是开发嵌入式产品的优秀操作系统平台,其中键盘是人机界面中人类监控计算机重要数据输入设备。实现键盘有两种方法:一种是采用现有的一些芯片实现键盘扫描;二是用软件实现键盘扫描。目前许多芯片可用来实现键盘扫描,但是键盘扫描的软件实现方法有助于缩减系统的重复开发成本, 而只需很少的 CPU 开销。嵌入式控制器的功能很强,可以充分利用这一资源。本课题提出的键盘方案是以嵌入式 Linux和 PXA255为软硬件平台, 通过测试,表明其具有良好的稳定性和实时性。2 矩阵式键盘的结构与工作原理本课题采用矩阵键盘, 如图 1所示。四根行线四根列线组成 4 *4矩阵键盘, 分别用 CPU 的 4个 GPIO口。当有键按下,某个列 GPI O 口电平被下拉从而产生下降沿, 触发中断。其中按键行阵列必须提供上拉信号,列阵列加二极管,防止瞬间电流过大对 GPI O口造成冲击。图 1 矩阵键盘原理图