单片机按钮按一下加1与消抖

实验现象:

按下按钮K1,数码管显示数字加1,按到15下,从1显示到F,按到第16下数字清0,数码管显示为0,再次按下按键K1数码管数字从1开始重新计数。

数组解释:

原理图

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
这里提供一个简单的51单片机控制直流电机启停的代码,需要连接两个按钮分别用于启动和停止电机。 首先需要定义引脚,将P1口作为输入引脚连接到按钮,P2口作为输出引脚连接到电机。假设P1.0和P1.1分别连接到启动和停止按钮,P2.0连接到电机正极,P2.1连接到电机负极。 ```c #include<reg52.h> // 51单片机头文件 sbit button_start = P1^0; // 启动按钮 sbit button_stop = P1^1; // 停止按钮 sbit motor_positive = P2^0; // 电机正极 sbit motor_negative = P2^1; // 电机负极 void delay(unsigned int t) // 延时函数 { unsigned int i,j; for(i=0;i<t;i++) for(j=0;j<125;j++); } void main() { while(1) { if(button_start == 0) // 按下启动按钮 { motor_positive = 1; // 给电机正极供电 motor_negative = 0; // 给电机负极断电 } if(button_stop == 0) // 按下停止按钮 { motor_positive = 0; // 给电机正极断电 motor_negative = 0; // 给电机负极断电 } delay(10); // 延时一段时间,避免按键动 } } ``` 以上代码中,使用while循环一直检测按钮状态,当按下启动按钮时,给电机正极供电,断电电机负极;当按下停止按钮时,断电电机正负极。同时,为了避免按键动,使用了延时函数进行简单的处理。 需要注意的是,本代码中没有对电机进行PWM调速,只是简单的开启和关闭,如果需要调速需要使用PWM技术对电机进行控制。同时,也需要根据具体电机的电气特性来确定启动和停止的方法。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

成长中的单片小白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值