独立按键学习历程

独立按键模块学习:
1.分析独立按键原理图:共阴极
在这里插入图片描述

2.赋值 P3=0x0f 或者 P3_1=1, P3_0=1; P3_2=1; P3_3=1
(因为P3寄存器是可位寻址,所以两者方法都可以)

检测原理:赋 IO 口初值高电平,然后再检测该IO口电压是否被拉低,若为拉低则是按下按键,检测时再加个10~20ms的延时防抖。

#include<regx52.h>
#define uint unsigned char
void Delay(unsigned char xms);
void main()
{
    unsigned char k;
    while(1)
    {    
        P3_1=1;
        P3_0=1;
        P2=0xff;
    if(P3_0==0)
    {    Delay(10);
        if(P3_0==0)
        {    P2=0xaa;
            Delay(500);
            if(P3_0==1)
            {    Delay(10);
                 P2=0x00;
                 Delay(500);
            }
        }
    }
    if(P3_1==0)
    {Delay(10);
    if(P3_1==0)
    {    P2=0xfe;
        Delay(500);
        if(P3_1==1)
        {    Delay(10);
             P2=0xfc;
             Delay(500);
        }
    }
    }
    }
}
void Delay(unsigned char xms)
{
    unsigned char i,j;
    for(i=xms;i>0;i--)
        for(j=110;j>0;j--);
/* 
总结,使用独立按键步骤:
1.赋要控制的那个独立按键初值高电位1
2.if(P3_  ==0) ,判断电位是否被拉低,若被拉低则为按下
3.延时10毫秒消抖,再次判断是否为低电位,若为低电位则执行if语句,在判断按键是否被按下都需要消抖
4.在if(P3_  ==0)语句里嵌套一个if(P3_   ==1),判断按键电位是否升高,若为高电位,则证明按键在按下之后松开
*/
}

小白学习笔记!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值