键盘扫描程序
出处:yewuyi 发布于:2008-12-25 09:51:33
键盘扫描程序的实现是首先给两个(矩阵中的2)口线上送高电平,然后在一个循环体内依次在端口PO(矩阵中的8)经锁存器送一个只有一位为0其余为1的电平(即十六进制数0xFE循环左移一位实现),判断移位的次数和两个口线中的哪个为低电平亦即逻辑0来实现。下面通过具体程序来说明。
当然这只是基本的键盘扫描子程序,当扫描到键号以后还要根据其他一些具体条件来进行相应的译码,才能决定按下的键代表什么具体值。键值有功能键、数字键和字母键,每种键值都有不同的译码处理。键盘扫描子程序是与硬件结构相对应的,因此考虑到端口资源的充分利用,改用4×4的矩阵键盘结构可以节省两个I/O端口,但是键盘扫描程序要稍微复杂一些;但由于ARM其运行速度远远超过传统的微处理器,这一点带来的影响可以忽略不计。下面是改进后的键盘扫描子程序。
这是改进后键盘的扫描子程序,而键盘的译码处理与用传统方式实现的系统基本相同。译码处理用了比较多的状态变量,这是因为在键盘上除功能键和数字键0以外,其他的数字键还有第二功能。因此在译码过程中设置了一个结构体变量,用来存放每个键对应的所有状态,对应的程序代码如下所示。
在每个键的译码处理中,只要根据相应的状态变量就可以得到每个键在什么状态中应该得到的是什么键值,因而在程序中不同的环境下就可以只设置不同的状态变量,而不用去考虑按键及其处理情况。
版权与免责声明
凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。
本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。
如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。
- 等电位端子箱是什么_等电位端子箱的作用2025/8/1 11:36:41
- 基于PID控制和重复控制的复合控制策略2025/7/29 16:58:24
- 什么是树莓派?一文快速了解树莓派基础知识2025/6/18 16:30:52
- 什么是有机液分析与有机液知识介绍2025/6/7 16:31:44
- FPGA中的双线性插值算法2025/5/29 17:16:30