找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1912|回复: 4
打印 上一主题 下一主题
收起左侧

关于矩阵键盘的问题,请教各位大佬

[复制链接]
跳转到指定楼层
楼主
ID:209101 发表于 2017-9-20 21:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近做一个项目,用到矩阵键盘,本以为这是整个项目中最简单的,结果没想到是一个BUG,请问如何判断按键按了几次,比如,按下S1进入设置界面,输入1234,再按下S1,设置成功并保存,再按下S1退出设置界面。我试过给一个变量a,按一次+1,然后用if判断,结果不可行,各位大佬遇过这问题吗?有没有好一点的思路,跪拜各位大佬!!!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:213173 发表于 2017-9-21 06:35 | 只看该作者
unsigned char key_scan()//4*4矩阵键盘扫描函数
{
        //略
}

void key_service()                //按键服务程序
{
        static unsigned char  count=0;//计数变量       
        key=key_scan();                //读取键值
        switch(key)
        {
                case 0xee:                 //设置键键值
                {
                        count++;
                        switch(count)
                        {
                                case 1:
                                //任务1
                                break;
                                case 2:
                                //任务2
                                break;
                                case 3:
                                //任务3
                                count=0;
                                break;
                        }
                }               
                key=0;                        //执行完任务清0
                break;

                case 0xde:
                //任务
                key=0;                        //执行完任务清0
                break;
                ......
                ......
                ......
                ......
                case 0x77:
                //任务
                key=0;                        //执行完任务清0
                break;

                default:
                break;
        }
}
回复

使用道具 举报

板凳
ID:235082 发表于 2017-9-23 13:58 | 只看该作者
设置一个标志变量,为0时且有键按下,致1并执行内容;为1时不执行;当所有键弹起重新致0
回复

使用道具 举报

地板
ID:235170 发表于 2017-9-23 21:16 | 只看该作者
估计问题是出在按键的扫描和识别上
回复

使用道具 举报

5#
ID:111634 发表于 2017-9-24 12:50 | 只看该作者
你错啦!应该是先理解才有好思路,而不是先有好思路,不要舍本求末。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

Powered by 单片机教程网

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