BTN独立按键理解

在这里插入图片描述
如上图

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是基于51单片机独立按键按钮计数1到4的代码: ```c #include <reg52.h> // 51单片机头文件 #define uchar unsigned char // 定义uchar为unsigned char类型 sbit btn1 = P3^0; // 定义按键1引脚 sbit btn2 = P3^1; // 定义按键2引脚 sbit btn3 = P3^2; // 定义按键3引脚 sbit btn4 = P3^3; // 定义按键4引脚 void delay(unsigned int xms) // 延时函数 { unsigned int i, j; for (i = xms; i > 0; i--) for (j = 110; j > 0; j--); } void main() { uchar cnt = 0; // 计数器初始化为0 while (1) // 无限循环 { if (btn1 == 0) // 检测按键1状态 { delay(10); // 延时去抖 if (btn1 == 0) // 再次检测按键1状态 { cnt = 1; // 计数器加1 while (!btn1); // 等待按键1释放 } } else if (btn2 == 0) // 检测按键2状态 { delay(10); // 延时去抖 if (btn2 == 0) // 再次检测按键2状态 { cnt = 2; // 计数器加2 while (!btn2); // 等待按键2释放 } } else if (btn3 == 0) // 检测按键3状态 { delay(10); // 延时去抖 if (btn3 == 0) // 再次检测按键3状态 { cnt = 3; // 计数器加3 while (!btn3); // 等待按键3释放 } } else if (btn4 == 0) // 检测按键4状态 { delay(10); // 延时去抖 if (btn4 == 0) // 再次检测按键4状态 { cnt = 4; // 计数器加4 while (!btn4); // 等待按键4释放 } } P1 = cnt; // 将计数器值显示在P1口 } } ``` 以上代码实现了独立按键按钮计数1到4的功能。在主函数中,使用while循环不断检测按键状态,如果检测到按键按下,就将计数器加1/2/3/4,并等待按键释放。最后将计数器值显示在P1口。需要注意的是,为了防止按键抖动,需要在检测到按键按下时加一个延时去抖的操作,具体实现可以根据实际情况调整延时时间。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值