单片机,利用键盘控制LED灯显示不同的流水形式(单灯流水、双灯流水、随机流水),这个程序该怎么做啊。

单片机,利用键盘控制LED灯显示不同的流水形式(单灯流水、双灯流水、随机流水),这个程序该怎么做啊。,第1张

首先、你要的是3个功能

如果你要用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"上了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11485161.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存