3854|7

91

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

关于电子密码锁键盘扫描的程序... [复制链接]

//键盘扫描程序段
uchar keysacn(void)
{
   uchar scancode,tmpcode;
   P1=0xf0;
   if((P1&0xf0)!=0xf0)//这边操作的结果应该会等于0xf0 的吧?
   {
      delay();        //延时去抖动
      if((P1&0xf0)!=0xf0)  //再判断一次
      scancode=0xfe;
      while((scancode&0x10)!=0)   //逐行扫描
      {
         P1=scancode;        //输出行扫描码
         if((P10xf0)!=0xf0)   //本行有键按下
         {
            tmpcode=(P1&0xf0)|0x0f;
            return((~scancode)+(~tmpcode));
         }
         else scancode=(scancode<<1)|0x01;//行扫描码左移一位
      }
   }
   return(0); //无键按下
}
哪位可以帮忙讲解一下行列扫描的原理吗?有点看不懂..谢谢了,我是新手啊

最新回复

LS的大哥说得太深奥了~~  ~_~  详情 回复 发表于 2007-5-30 21:13
点赞 关注

回复
举报

55

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
怎么都是这程序.

得看着硬件连接啊

先是列(行)全输出低, 读行(列), 如不全为高者为有键按下

再逐列(行)输出, 逐行(列)读取.
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
先是行全输出低, 读列, 如不全为高者为有键按下
------------------------------------------------
为什么不全为'1'时表示列上有键按下? 是因为行为低电平,列也为列电平时表示有键按下吗?当有键被按下时,行的电平由列的电平来决定的是吗?
 
 
 

回复

61

帖子

0

TA的资源

一粒金砂(初级)

4
 
麻烦各位大哥,帮忙讲一下这个函数执行的原理吧..实在是看不懂了....-_-
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

5
 
这个是4×4的行列键盘的扫描程序,P1的高半字节和低半字节分别代表行、列的四根线。
先是将列(低半字节)置0,然后根据行(高半字节)是否为不是全为高电平(0xF0),判断是否有按键按下。如果不是全高电平,则延时一段时间后再判断。如果仍然不是全高电平,则判断哪一行有按键按下。
  判断哪一行有按键按下,其实就是通过只将一列置为低电平(0),然后判断行(高半字节)是否为全高电平,如果是的话,则该列没有键按下,否则有键按下。因为如果有键按下,则对应的行线与列线相连,如果列的电平为低,则行的电平也被拉低,读得的位值为0。
 
 
 

回复

85

帖子

0

TA的资源

一粒金砂(初级)

6
 
在程序中,假定一个P1 的值为 11010111  那返回的键盘码应该是 00101000 也就是第四行第二列键被按下,可是我按照程序的执行..好像返回结果不是这样的啊??
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

7
 
关于键值,这个和你的电路密切相关的!!

特别是像单片机这种层次的开发,独立的去看哪一方面,这都没有决定性的意义

至少都得有拿60分的理解
 
 
 

回复

49

帖子

0

TA的资源

一粒金砂(初级)

8
 
LS的大哥说得太深奥了~~  ~_~
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表