
关于单片机中键盘区别程序的说明:
5星
- 浏览量: 0
- 大小:None
- 文件类型:None
简介:
本文档详细介绍了在单片机应用开发过程中,不同类型的键盘输入设备及其对应的编程实现方法。通过对比分析各种键盘的区别和特点,为开发者提供有效的代码编写指导和优化建议。
程序描述如下:
1. 定义矩阵键盘的管脚。
2. 将扫描按键所需的四种输出电平状态定义为一个数组。
3. 设计按键扫描程序。
4. 声明两个临时变量key与i,用于存储键值和循环索引等信息。
5. 使高四位管脚输出高电平,并将第四位设为低电平以准备进行按键的扫描操作。
6. 检测此时管脚状态是否发生变化。如果变化,则执行下一步骤;如果没有变化则继续等待,直到检测到变化为止。
7. 将之前定义的状态数组中的值赋给相应的键盘输出端口,开始逐次扫描按键。
8. 程序延时一段时间以消除抖动影响。
9. 输出当前正在被扫描的按键电平状态至串行通信接口(如USB转TTL转换器)进行观察或记录。
10. 再次延时一段时间等待电平稳定,避免误读。
11. 如果此时检测到管脚电平与输出默认值不同,则表示有键已被按下。程序将进入下一步骤处理;如果相同则继续循环扫描直至发现按键被按下的情况。
12. 延迟一段特定的时间以确保所测得的电平是稳定的,避免由于抖动造成误判。
13. 读取当前状态管脚的实际电平值作为键值进行后续操作处理。
14. 在检测到有键按下后进入一个死循环等待该按键释放。只有当被按下的按键完全释放之后程序才会继续执行下一步骤,以确保每次只处理单个按键的输入信息且不会因长时间保持按下状态而多次触发同一功能。
15. 返回当前所读取并确认为有效的键值给调用函数。
调试要点与实验现象:
安装好硬件后通过冷启动将生成的HEX文件下载到微控制器内运行,随后开启串口调试助手软件,并设置合适的波特率为9600。复位单片机之后按下开发板上的4×4矩阵键盘中的任意一个键,在串口调试助手中观察并记录按键数据的变化情况。
此外,实验程序中包含了与串行通信相关的发送字符和字符串函数的调用。当没有仿真器或需要显示提示信息时可以使用这种方法进行直观且低成本的信息展示。
总结:
本段落介绍了单片机外部键盘的工作机制,并提供了一个实例来说明其应用方式。通过该文我们可以了解到一个完善的按键控制系统应该具备的功能包括:检测是否有键被按下并采用硬件或者软件手段消除机械触点抖动的影响;确保每次只处理单一按键的输入,即使在长时间按住某个键的情况下也能保证系统仅执行一次对应的程序逻辑;准确地输出所识别到的按键值或编号以满足特定功能需求。此外对于矩阵键盘而言必须将行线和列线信号结合并进行适当处理才能确定闭合键的具体位置。
另外值得注意的是,除了文中所述的程序扫描方式之外还有定时器中断等多种不同的扫描方法均可以在学习板上实现。希望读者能够利用之前学到的知识自行编写相关代码并通过调试来加深理解。接下来的文章将介绍单片机驱动数码管的工作原理及实例,请大家持续关注后续内容。
全部评论 (0)


