找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

单片机4*4矩阵按键问题

查看数: 1937 | 评论数: 1 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2020-12-11 13:20

正文摘要:

本帖最后由 cheney03 于 2020-12-11 13:24 编辑 为什么同一个按键扫描函数,在被不同函数调用时,灵敏度不一样。 图一为原始数值,图二中按一次KEY_UP键,数值N1加1,正常;同样N2也是按一次KEY_UP键,数值却变 ...

回复

ID:213173 发表于 2020-12-11 16:21
楼主把矩阵按键扫描程序改这样试试
void Key_scan(void)         
{
        static bit a=0;
        GPIO_KEY=0x0f;
        if(GPIO_KEY!=0x0f)
        {
                Delay10ms();
                if(GPIO_KEY!=0x0f && a==0)
                {
                        a=1;
                        //测试列
                        switch(GPIO_KEY)
                        {
                                case(0X07):KEY=1;break;
                                case(0X0b):KEY=2;break;
                                case(0X0d):KEY=3;break;
                                case(0X0e):KEY=4;break;
                        }
                        //测试行
                        GPIO_KEY=0XF0;
                        switch(GPIO_KEY)
                        {
                                case(0X70):KEY=KEY;break;
                                case(0Xb0):KEY=KEY+4;break;
                                case(0Xd0):KEY=KEY+8;break;
                                case(0Xe0):KEY=KEY+12;break;
                        }
                }
        }
        else a=0;//键抬起
}

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表