当前位置:首页 > 嵌入式培训 > 单片机学习 > 单片机教程 > 51单片机学习笔记:矩阵键盘

51单片机学习笔记:矩阵键盘 时间:2018-07-18      来源:未知

记录:矩阵键盘中判断某一个键是否按下,是靠单片机扫描P3的值来确定的,P3的后四位表示行值,前四位表示列值,如0xe7 , 1110 0111,表示第四行,第一列的键被按下。

编码方法:先确定列值,在确定行值。

看源码:
 

uchar KeyScan() //带返回值的子函数
{
    uchar cord_l,cord_h;//声明列线和行线的值的储存变量
    P3 = 0xf0;//1111 0000
    //当某一键被按下时,高位(即置1的位)会被拉低(变成0位)

    if( (P3 & 0xf0) != 0xf0)//判断是否有按键按下
    {
        delay(5);//软件消抖
        if( (P3 & 0xf0) != 0xf0)//判断是否有按键按下
        {
              cord_l = P3 & 0xf0;// 储存列线值
              P3=  0x0f;//
              cord_h = P3 & 0x0f;// 储存行线值
              while( (P3 & 0x0f) != 0x0f );//松手检测
              return (cord_l + cord_h);//返回键值码
        }   
    }

}

上一篇:单片机外设模块数据传输不成功的原因和解决办法

下一篇:51型号单片机定时器及其应用

热点文章推荐
华清学员就业榜单
高薪学员经验分享
热点新闻推荐
前台专线:010-82525158 企业培训洽谈专线:010-82525379 院校合作洽谈专线:010-82525379 Copyright © 2004-2022 北京华清远见科技集团有限公司 版权所有 ,京ICP备16055225号-5京公海网安备11010802025203号

回到顶部