用独立按键控制LED灯总共有四章基础代码,分别是
1.LED灯的亮灭
2.独立按键控制LED灯的状态
3.独立按键控制LED显示二进制
4.独立按键LED灯的移位
这是我个人见解,可能有些天赋比较好,时间比较充裕的同学可以举一反三,快速把这四个都写出来,但是我还建议像我这样的新手小白可以分两次学习,学完好好思考一下,打牢基础,这只是我的个人见解。
图1
接下来我们说第二个,第一个在上一章,有兴趣的小伙伴们可以去我的主页看一下。说到独立按钮控制LED灯的亮灭就要说到独立按钮是机械按钮,在使用的时候会存在按键波动(参考图1),可以用硬件来隔离波动,但是同样也可以用软件来实现。而我们的目的就是怎么写软件去将按下和释放的抖动全部隔离,那就要用到延时函数,抖动时间一般在5-20ms,所以我们的延时变量就控制在50(方便敲代码,请切勿较真)
用ISP生成的代码是1ms,将函数别名的变量设置为50,在句尾加上xms--,就能控制while语句循环50次。
根据自己的喜好设置(楼主有点强迫症,开板子的时候灯必须要灭,所以在第21行将灯设置为低电压,可以不设置),P1_0为第一个独立按键 ,若P1_0==0(接地),则为低电瓶,电路接通,延时20ms,再次判断低电瓶,延时20ms。最后一步的取反运算,则是将LED灯的低电瓶与高电平进行相互切换。
新手学习嵌入式,不惜请勿喷,欢迎大佬在评论区指点一二,也欢迎跟我一样的同学在评论区相互交流,谢谢了。