找回密码
 立即注册

QQ登录

只需一步,快速开始

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

求大神,单片机矩阵按键如何检测松手

[复制链接]
跳转到指定楼层
楼主
ID:97038 发表于 2015-12-12 23:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
写了个单片机矩阵按键的程序,灵敏,但不知道如何实现判断按键已经松手了,松手后执行另一条程序!

/***************************************************************/  
uchar KeyRvs(void)  
{
        uchar temH, temL,tem ,key1,key;
        P1 = 0xf0; temH = P1;//低四位先输出0;读入,高四位含有按键信息
        P1 = 0x0f; temL = P1;//然后反转输出0;读入,低四位含有按键信息
        tem=temH+temL;
       switch(tem)
        {                                                               
                 case 0xee: key = 1; break;               
                 case 0xde: key = 2; break;
                 case 0xbe: key = 3; break;
                 case 0x7e: key = 10; break;  //A

                 case 0xed: key = 4; break;
                 case 0xdd: key = 5; break;
                 case 0xbd: key = 6; break;
                 case 0x7d: key = 11;break;         //B

                 case 0xeb: key = 7; break;
                 case 0xdb: key = 8; break;
                 case 0xbb: key = 9; break;
                 case 0x7b: key = 12;break;         //C

                 case 0xe7: key = 15;break;         //F
                 case 0xd7: key = 0; break;
                 case 0xb7: key = 14;break;         //E
                 case 0x77: key = 13;break;         //D
//                 case 0xff: key = 16;break;         //
                  
        }
        return key;
}

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:97249 发表于 2015-12-19 12:17 来自手机 | 只看该作者
松手后键值就为0了,用while(键值为真);就ok了

评分

参与人数 1黑币 +50 收起 理由
admin + 50 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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