找回密码
 立即注册

QQ登录

只需一步,快速开始

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

分享一个简单矩阵键盘检测的模板程序

[复制链接]
跳转到指定楼层
楼主
ID:236307 发表于 2017-9-28 13:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. uchar aa; //全局变量,用来返回按键的值

  2. uchar code key_scan[]={         //扫描时用的数组编码
  3. 0Xfe,0Xfd,0Xfb,0Xf7
  4. };

  5. /************矩阵键盘扫描****************/
  6. void key (void)
  7. {  
  8. uchar n,temp=0xff;
  9.         P3=0XFF;
  10.       for(n=0;n<4;n++)
  11.           {        P3=tab1[n];
  12.                   if(P3!=key_scan[n])
  13.                      {
  14.                            delay(5);
  15.                         if(P3!=key_scan[n])
  16.                               temp=P3;
  17.                           while((P3!=key_scan[n]));
  18.                
  19.                    }
  20.           }
  21. switch(temp)
  22.                    {
  23.                   
  24.                    case        0xee         :          aa=0    ; break;
  25.                    case        0xde         :          aa=1   ; break;                  
  26.                    case        0xbe         :          aa=2   ; break;
  27.                    case        0x7e         :          aa=3   ; break;
  28.                    case        0xed         :          aa=4   ; break;
  29.                    case        0xdd         :          aa=5   ; break;
  30.                    case        0xbd         :          aa=6   ; break;
  31.                    case        0x7d         :          aa=7   ; break;
  32.                    case        0xeb         :          aa=8   ; break;
  33.                    case        0xdb         :          aa=9   ; break;
  34.                    case        0xbb         :          aa=10  ; break;
  35.                    case        0x7b         :          aa=11  ; break;
  36.                    case        0xe7         :          aa=12  ; break;
  37.                    case        0xd7         :          aa=13  ; break;
  38.                    case        0xb7         :          aa=14  ; break;
  39.                    case        0x77         :          aa=15  ; break;
  40.                    case        0xff         :          aa=16  ; break;
  41.                   
  42.                    }

复制代码


评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

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

使用道具 举报

沙发
ID:236307 发表于 2017-9-28 13:05 | 只看该作者
有错误,第13行应该改为  P3=key_scan[n];
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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