单片机中只用一个开关控制8个LED轮流亮灭,按一下第一个亮,再按一下第二个亮第一个灭,怎么写?

求大神解答

单片机中只用一个开关控制8个LED轮流亮灭,这很容易实现,也是最简单的控制方法,只要识别了按键按下了,就可以控制。轮流点亮更容易,用移位函数_crol_或_cror_就行了。是要仿真吗,给你个仿真图。

追问

不是要仿真哥,要程序,我不太会写程序

追答

首先要有仿真图,才能按仿真图写程序。你不发图,怎么写程序。

如果你用我这个仿真图,可以按这个图写程序。否则,把你的原理图发上来。

追问

按照您这个

这个是仿真图

追答

你这个仿真图看不清楚,P0口有8个开关吗?

你的提问是用一个开关。

你还是用我的仿真图吧,简单。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-10-21
搞一个整数,counter,每按一下,counter加一。
然后取counter 8的模,就是除以8的余数,这个数肯定是0~7,0就点第一个,1就点第二个
把这个余数再赋值给counter,以免它一直长导致溢出

如果你说的是用单片机的一个物理输出去控制8个灯,那是要靠额外硬件的,只靠程序恐怕无法实现。追问

哥,有程序吗,我不太会

哥,我用你的回答,你能给我发一下程序吗,我画的有原理图

相似回答