51/AVR单片机技术驿站!  <在线翻译>     便利工具    特色网址   无弹窗、无插件的绿色站点...  英才招聘   学历查询  喜欢>>收藏我站 

当前位置:首页 > 单片机源码 > 详细内容
C51_3X3键盘扫描程序
作者:佚名  发布时间:2009/10/16  阅读次数:855  字体大小: 【】 【】【
//键消抖延时函
   void delays(void)
   {
       uchar i;
for(i=2000;i>0;i--);
   }
//kbscan(void)键扫描函数
//P1.0-p1.2行线输出,p1.3-p1.5列线输入
uchar kbscan(void)
{
     uchar sccode,recode;
     P1=0xf8;                   //发全”0“行扫描码,列线输入
     if((P1&0xf8)!=0xf8) //若有键按下
     {
           delays();       //延时去抖动
     if((P1&0xf8)!=0xf8)
     {
           sccode=0xfe;   //逐行扫描初值
     while((sccode&0x08)!=0)
                 {
           P1=sccode;   //输出行扫描码
       if((P1&0xf8)!=0xf8) //本行有键按下
     {
           recode=(P1&0xf8)|0x07; //取列码
           return((~sccode)+(~recode));//返回特征键码
     }
     else sccode=(sccode<<1)|0x01; //行扫描码左移一位
     }
     }
     }
     return(0);//无键按下,返回值为0
}
我要评论
  • 匿名发表
  • [添加到收藏夹]
  • 发表评论:(匿名发表无需登录,已登录用户可直接发表。) 登录状态:未登录
最新评论
所有评论[0]
    暂无已审核评论!

网站导航 管理登陆 ┊ 免责声明 问题反馈  友链说明
本站部分内容来自网络共享资源,如有冒犯您的权利请来信告之删除或纠正!
不得对本站进行复制、盗链或镜像,转载内容须获得同意或授权;欢迎友情链接、站务合作!

    我要报警 Alexa
 mcusy_cn#126.com (请把#改成@) 交流:522422171
本站学习交流群:138..158(高级群1-)、77930286(高级群2)、61804809(群3)
Copyright© MCUSY All Rights Reserved
本站网警备案号: WZ36040002485
  ICP备案证书号:粤ICP备09034963号