单片机学习小组
直播中

李林

7年用户 1150经验值
私信 关注

如何去实现独立按键与矩阵按键的基本模板呢

按键KEY的功能有哪些呢?
如何去实现独立按键与矩阵按键的基本模板呢?

回帖(1)

杨燕

2022-2-23 10:06:46
按键功能选择(J5)
1-2 短接:选择 4 x 4 键盘功能
2-3 短接:选择 4 个独立按键功能


独立按键基本模板


#include "reg52.h"
void KeysDelay()
{
        unsigned int t = 100;
        while(t--);
}
void KeysScan()
{
        if(S4 == 0){                                                //        按下
                KeysDelay();                                        //        延时一段时间判断是否是真的按下:松手检测
                if(S4 == 0){                                        //        如果是真的按下
                /*按下进行的操作*/
                        while(S4 == 0);                            //        按键松开
                /*松开进行的操作*/
                }
        }
        if(S5 == 0){
                KeysDelay();
                if(S5 == 0){
                       
                        while(S5 == 0);

                }
        }
        if(S6 == 0){
                KeysDelay();
                if(S6 == 0){
                       
                        while(S6 == 0);
                       
                }
        }
        if(S7 == 0){
                KeysDelay();
                if(S7 == 0){
                        while(S7 == 0);
                       
                }
        }
      
}

矩阵键盘基本模板




sfr P4 = 0XC0;
//定义行
***it R1 = P3 ^ 0;
***it R2 = P3 ^ 1;
***it R3 = P3 ^ 2;
***it R4 = P3 ^ 3;
//定义列   
***it C1 = P4 ^ 4;
***it C2 = P4 ^ 5;   
***it C3 = P3 ^ 4;
***it C4 = P3 ^ 5;

void KeyScan()
{
    // 以扫描第一行按键情况为例
        R1 = 0;R2 = 1;R3 = 1;R4 = 1;
    C1 = 1;C2 = 1;C3 = 1;C4 = 1;
    if(C3 == 0){
        while(C3 == 0)
            // 按下矩阵键一行三列按键后的CMD
    }
}
举报

更多回帖

发帖
×
20
完善资料,
赚取积分