简介高效的键盘扫描程序

2020-02-04 09:29发布

发一个51单片机的键盘扫描程序,算法简单有效

/****************************************

键盘_不采用定时器_不延时

特点:
按键在松手后有效,灵敏度高,消耗资源少,运行效率高

独立键盘为:K01=P2^4;K02=P2^5;K03=P2^6;K04=P2^7;
矩阵键盘为:行(上到下)_P2.3_P2.2_P2.1_P2.0
           列(左到右)_P2.7_P2.6_P2.5_P2.4

提供的操作函数:

//独立键盘.无按键动作时其返回值num_key=0,否则返回按键号num_key
extern unsigned char keyboard_self();

//矩阵键盘.无按键动作时其返回值num_key=0,否则返回按键号num_key****检测高四位
extern unsigned char keyboard_matrix();

****************************************/
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
20条回答
zhc7302
1楼-- · 2020-02-05 21:34
mark
cc3000c
2楼-- · 2020-02-06 03:33
回复【11楼】liaowei
-----------------------------------------------------------------------
10ms是以前用定时器的时候写的,后来发现不用定时1ms来检测也有效,这里是写错了。
判断10是不是都是一样的值、确实是更加可靠
5irmb
3楼-- · 2020-02-06 04:28
好资料
dreampet
4楼-- · 2020-02-06 07:14
不错,代码简单,但并不高效、扩展性不好,检测一次按键至少需要调用11次扫描程序,而如果用状态机的话,只调要3次即可。
340985939
5楼-- · 2020-02-06 07:28
 精彩回答 2  元偷偷看……
jinniuxing88
6楼-- · 2020-02-06 13:18
GOOD!

一周热门 更多>