LED按键实现移位

上篇文章向大家介绍了流水灯的实验程序,这次我们来实现一下我们人为手动去操作LED的移位。

也就是LED按键移位。

 

一、电路设计

由上图可以不难发现我们的LED是由P2的8个引脚控制的,而按键是由P3的4个引脚控制的。

不同的是P2口的公共端是VCC,而独立按键的公共端是GND。LED的原理在上篇文章已经讲过了,那么本节主要在于独立按键这个模块。

公共端接GND,也就是说默认给低电平。那肯定会有很多人认为如果我想操控这些开关,待会写程序的时候给高电平1就可以了。但事实并非如此。我们的单片机在按下总开关时,默认接高电平(按下总开关,意味着通电,所以自带高电平),那也就意味,我们不用按开关,开关其实就在工作。所以我们要做的时检测开关什么时候按下。而不是去给它送高电平。

二、程序设计

老样子,开头依然时我们的老朋友延时子程序。我们直接来看主函数。首先先让P2亮一个灯。然后进入循环,这里的循环有两个作用。1,检测按键是否按下(我这里只用了2个开关,P3_1和P3_2)2,让灯进行移位。

我们先来看第一步,之前提到P3口默认高电平,那当我们按下开关时,就变成了低电平。那我们就检测它时否变成0。之后可以看到有2个Delay函数,这里的2个Delay的做用是消除抖动,我们的按键被按下他会弹起,弹起的时候会产生误差,所以我们用2个延时程序来缓冲它这段产生误差的时间。

第二步就比较简单,上篇文章介绍了左移操作符。我们按下一个按键实现NUM++,让LED移动一个位置或减少一个位置。最后可别忘了重要的取反。最后可别忘了重要的取反。最后可别忘了重要的取反。

三、总结

本节的难点:在于对独立按键的理解。如果有有关LED不理解可以翻阅我的上一篇文章。

本节的重点:理解并掌握消除抖动的操作。

那么本篇文章到此就结束了。我们下周再见。

we don't know what is wrong tonight. Everybody's got no place to hide.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值