如果你要用3个按钮,那就每个实现1种
如果你用的是1个按钮,那就1个实现3种
-
单灯流水,P*口(灯的接口) 循环左移命令 _crol_
比方:led1=0xff_crol_(led1,1)P1=0xff 这样就OK
双灯:也是一样的道理,把_crol_(led1,2)改下2就可以了
注意左移命令,在头文件 intrins.h 里面
随机流水? 这点有点不明白意思,是随机亮灭,还是怎么样个随机流水呢
原理就是用RAND 产生随机数,然后付给LED灯IO口就可以了
AT89S52也是51系列的单片机,程序完全兼容,用51的程序就行了,包括外围电路也一样,直接用就行了。单灯亮就是在IO口输出一个二进制数中只有一位不同的数,比如说“00000001”,就只有最后一位是“1”,其余的都是“0”,要双灯亮就使其中的两位与其他的不同就行了,还是那上面的例子来说,现在改成“00000011”,这样有两位是不用的了,当然不同的两位也可以不挨着,比如“00100001”,这样也是两位同时点亮。(例子的前提是输出高电平时LED点亮,如果不是的话就把里面的“0”改成“1”,“1”改成“0”就行了。)
你有源程序吗,有的话发到我邮箱里,我帮你改吧,这方面你一点不懂,这样问下去也不会有什么进展的了,邮箱发到你的"百度Hi"上了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)