1、原理,电灯有个正负极,当正确接入电源正负极就能点亮(如正极5v,负极0v),单两边同时接入正极,就不会亮(两端都是5v),所以通过控制电平,来实现控制led等的亮暗
cpu通过给寄存器写入1,则赋予高电平,写0赋予低电平,即可达到控制目的。(p2代表负极,主要控制负极的电位)
2、进制转换表
3、控制第一盏灯,让它亮应该为二进制 1111 1110,但是需要转换成16进制
4、打开单片机软件(STC-ISP)
选择单片机型号
选择串口号
打开程序软件
进入刚刚的工程文件,但是发现里面是空的,是因为kiel默认不生成文件下载文件,所以需要设置一下
勾选下面选项
重新编译
点击下载
重新打开(单片机的开关)
这样就不会重复执行函数
二、实现闪烁
1、使用while循环交替执行最低为置0和置1(但是程序执行效率太快,看不到效果,所以要进行设置)
2、获取延迟函数
添加进代码,并重新编译
三、流水灯
四、改造延迟函数,选个1毫秒的延迟时间,执行个500次,就变成500ms了,这样可以控制延迟时间。
所有函数改成传参形式
四、独立控制每一个led灯亮灭(每个按键对于相应的编号,通过查看pdf可知,第一个开关是p3_1,每个灯也有自己的编号,如第一个led是p2_0)
五、独立按键控制led状态(因为按键过程中会抖动,所以加个延迟,然后取反~)
六、独立按键,位移,每按一次,就下一盏灯亮