多种击键类型的处理流程图
更多精彩文章,尽在《匠人的百
宝箱》。网址:
《匠人手记》之二十一
多种击键类型的处理流程图
作者:程序匠人 出处:《匠人的百宝箱》
1. 前言
之前,匠人曾经写了一篇《按键漫谈》。在该文中介绍了一些常见的击键类型,及程序判
别方法。但当时由于时间不够充裕,没有进一步给出具体的程序或流程图。这次,特补充此
文,权当是《按键漫谈》的姊妹篇吧。
关于流程图中提到的各种击键类型,其定义已经在《按键漫谈》中给出了。此文不做雷
述。
为什么只给流程图,而不给源程序呢?因为匠人认为,授人以鱼,不如授人以渔。流程
图描述的是程序的思想精髓。只要掌握了程序的流程(算法),不管用何种语言,都可以很容
易地实现吧。
2. 定义说明
在应用本流程图前,先了解以下有关定义:
寄存器定义
寄存器(变量) 定义 说明
KEY_NUM 本次键号 给每个按键分配一个键号(0~255 );
KEY_BUF 备份键号 当键号=0 (或255 )时,代表无键闭合;
K_DELAY 按键响应延时时间(倒计时器) 服务于“连击”功能
NOKEY_JS 无键计时器(每1S+1) 服务于“无击”功能
KEY_JSQ 按键闭合计数器 服务于“长击”功能
标志定义
标志位 定义 说明
如果按键闭合后还未执行过,或者按键支持“连击”功能,
按键禁止响
KEY_DIS_T 则该标志=0 ;如果按键不支持“连击”功能,并且已经执行
应标志
过一次了,则该标志=1
按键检测使
KEY_SCAN_T 在中断定时系统中,每过10MS 将该标志设置为有效
能标志
常量参数定义
常量 值 定义 说明
AN_XD_DL 2 按键初按(消抖)延时 初按响应时间=AN_XD_DL*按键扫描周期
AN_LA_DL 15 按键连击延时 连按响应时间=AN_LA_DL*按键扫描周期
长击响应时间=AN_CJ_DL*AN_LA_DL*按键扫
AN_CJ_DL 10 按键长击(时间)
描周期
如果你的‘芯’是一座作坊,我愿做那不知疲倦的程序匠……
更多精彩文章,尽在《匠人的百
宝箱》。网址:
3. 简单的按键处理流程图
现在,我们先给出一个最简单的流程图,在这个程序中,可以识别正常的击键动作。完
成消抖处理。该程序的实时性比较好,在其消抖的过程中,CPU 可以执行其它程序。
如果你的‘芯’是一座作坊,我愿做那不知疲倦的程序匠……
更多精彩文章,尽在《匠人的百
宝箱》。网址:
4. 可以识别单击/连击、无击等击键类型的按键处理流程图
现在,我们在前一个流程图的基础上,增加对连击的识别以及按键释放后的“无击处理”。
如果你
您可能关注的文档
最近下载
- Panasonic松下 洗衣机 XQG100-V198,XQG100-V19M,XQG100-V19S,XQG100-L186,XQG100-L187,XQG100-L18M,XQG100-L188,XQG100-L18R,XQG100-L18S,XQG100-L1KR,XQG100-3X0R,XQG100-L18T 用户手册.pdf
- 心理健康热线接听操作指南.docx VIP
- 2024年公务员多省联考《申论》题(湖南行政执法卷)试题及答案解析.docx VIP
- 2022年公务员多省联考申论题(湖南行政执法卷)及参考答案.pdf VIP
- 小学科学教学融入STEM理念的设计与实践案例:用纸造一座桥 教学设计.docx VIP
- 2016年福建省龙岩市中考数学试卷(含答案解析).doc VIP
- 零星土建施工方案.docx VIP
- 沪教版初中英语单词表(七年级至九年级全6册).docx VIP
- 2025至2030年中国家用(别墅)电梯行业市场行情监测及前景战略研判报告.docx
- 《函数概念与性质》大单元教学设计.docx VIP
原创力文档

文档评论(0)