简介高效的键盘扫描程序

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();

****************************************/
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
21条回答
amazing030
2020-02-05 11:08
if(temp!=0xF0)//低电平判断
        {
                num_check++;
                if(num_check==10)//连续10次(10ms)低电平有效,则认为按键有效
                {
                        key_flag=1;//使能按键有效标识
                        temp_code=temp;//保存按键值
                }
        }

无延时无定时器的话这里怎么会是10ms?
外部每1ms调用一次?那也就是定时延时了

一周热门 更多>