加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

矩阵键盘的线反转法

(2010-10-10 20:57:54)
标签:

扫描法

线反转法

矩阵键盘

教育

分类: 技术交流

今天在网上看到一种矩阵键盘的线反转法程序,感觉挺好,比之前的扫描法节省了很多,在此分享一下

 uchar key(void)
{
    uchar key,key1,key2,k;
    P1=0XF0;
    k=0xff;
    if((P1&0XF0)!=0XF0)
    {
        delay();
        if((P1&0XF0)!=0XF0)
        key1=P1&0XF0;
        P1=0X0F;
        if((P1&0X0F)!=0X0F)
        {
            delay();
            if((P1&0X0F)!=0X0F)
            {
                key2=P1&0X0F;
                key=key1|key2;
                if(key!=0xff)
                {
                    switch(key)
                    {
                        case 0xee: k=0;break;                       
                        case 0xed: k=1;break;                        
                        case 0xeb: k=2;break;                       
                        case 0xe7: k=3; break;
                        case 0xde: k=4;break;                       
                        case 0xdd: k=5;break;                        
                        case 0xdb: k=6;break;                       
                        case 0xd7: k=7; break;
                         case 0xbe: k=8;break;                       
                        case 0xbd: k=9;break;                        
                        case 0xbb: k=10;break;                       
                        case 0xb7: k=11; break;
                         case 0x7e: k=12;break;                       
                        case 0x7d: k=13;break;                        
                        case 0x7b: k=14;break;                       
                        case 0x77: k=15; break;
                    }
                }
            }
        }
    }
    return(k);
}

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有