找回密码
 立即注册

QQ登录

只需一步,快速开始

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

这个代码什么意思

  [复制链接]
跳转到指定楼层
楼主
ID:253022 发表于 2017-12-7 12:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
unsigned char GetKey(void)
{
    unsigned char KeyTemp,CheckValue,Key = 0x00;
    CheckValue = P2&0x32    //&运算用来保留位数,如P2&0x0f,即保留有1的低四位。
    if(CheckValue==0x32)    //而1运算则用来
        return 0x00;
   
    Delay1ms(10);
    KeyTemp = P2&0x32;
    if(KeyTemp==CheckValue)
        return 0x00;

    if(!(CheckValue&0x02))
        Key|=0x01;         //
    if(!(CheckValue&0x10))
        Key|=0x02;
    if(!(CheckValue&0x20))
        Key|=0x04;
    return Key;
}


读不懂这段代码的意思,大家可以指点一下吗?

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

使用道具 举报

沙发
ID:249272 发表于 2017-12-7 14:00 | 只看该作者
独立式按键值识别
回复

使用道具 举报

板凳
ID:258566 发表于 2017-12-7 16:14 | 只看该作者
unsigned char GetKey(void)
{
    unsigned char KeyTemp,CheckValue,Key = 0x00;
    CheckValue = P2&0x32    //32=2(110010)  按键接在p2.1 p2.4 p2.5
    if(CheckValue==0x32)    //无按键按下
        return 0x00;
   
    Delay1ms(10);
    KeyTemp = P2&0x32;  
    if(KeyTemp==CheckValue)//本次值等于上次值
        return 0x00;                //此处这个代码有逻辑错误

    if(!(CheckValue&0x02))// 2=2(00000010)
        Key|=0x01;         //
    if(!(CheckValue&0x10))//10=2(00010000)
        Key|=0x02;
    if(!(CheckValue&0x20))//100000
        Key|=0x04;
    return Key;
}
回复

使用道具 举报

地板
ID:258684 发表于 2017-12-7 16:29 | 只看该作者
判断按键
回复

使用道具 举报

5#
ID:164749 发表于 2017-12-7 17:30 | 只看该作者
按键判断用的
回复

使用道具 举报

6#
ID:259059 发表于 2017-12-8 14:19 | 只看该作者
先判断有按键是否被按下,没有直接返回0x00,如果有,等待10ms再次读取,如果没有读到有被按下,认为是抖动,如果有按键被按下,将key对应的位置位,返回key
回复

使用道具 举报

7#
ID:259551 发表于 2017-12-9 20:05 | 只看该作者
按键判断
回复

使用道具 举报

8#
ID:259500 发表于 2017-12-9 23:40 来自手机 | 只看该作者
判断按键的
回复

使用道具 举报

9#
ID:228524 发表于 2017-12-9 23:48 来自手机 | 只看该作者
按键判断
回复

使用道具 举报

10#
ID:259641 发表于 2017-12-10 10:16 | 只看该作者
独立式按键值识别
回复

使用道具 举报

11#
ID:260100 发表于 2017-12-11 11:56 来自手机 | 只看该作者
判断独立式按键值识别
回复

使用道具 举报

12#
ID:260231 发表于 2017-12-11 16:08 | 只看该作者
用来判别按键的
回复

使用道具 举报

13#
ID:260263 发表于 2017-12-11 16:54 | 只看该作者
按键的判断用
回复

使用道具 举报

14#
ID:260268 发表于 2017-12-11 17:04 | 只看该作者
判断按键
回复

使用道具 举报

15#
ID:260293 发表于 2017-12-11 18:07 来自手机 | 只看该作者
按键判断的意思
回复

使用道具 举报

16#
ID:258555 发表于 2017-12-11 19:58 | 只看该作者
独立按键判断
回复

使用道具 举报

17#
ID:471297 发表于 2021-12-24 09:49 | 只看该作者
CheckValue = P3&0x32;   //32=2(110010) 十六进制转二进制 按键接在p3.1 p3.4 p3.5
这个是怎么计算得到按键接在p3.1 p3.4 p3.5呢

回复

使用道具 举报

18#
ID:995784 发表于 2021-12-24 10:24 | 只看该作者
按键扫描
回复

使用道具 举报

19#
ID:995784 发表于 2021-12-24 10:28 | 只看该作者
网络不安全 发表于 2021-12-24 09:49
CheckValue = P3&0x32;   //32=2(110010) 十六进制转二进制 按键接在p3.1 p3.4 p3.5
这个是怎么计算得到 ...

P3引脚为电平010011000P3.1 P3.4 P3.5为高电平
回复

使用道具 举报

20#
ID:407019 发表于 2021-12-24 10:40 | 只看该作者
扫描按键,确定是哪一个按键按下
回复

使用道具 举报

21#
ID:996629 发表于 2021-12-25 20:25 | 只看该作者
按键判断,判断是哪个按键按下
回复

使用道具 举报

22#
ID:893997 发表于 2021-12-30 15:49 | 只看该作者
扫描是哪一个按键被使用
回复

使用道具 举报

23#
ID:486279 发表于 2022-1-7 12:32 | 只看该作者
判断按键的输入值的
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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