想用STM32开发板做个流水灯,从左到右共8个灯,要求是在第二个灯未亮前第一个灯不能灭,依次类推

如题所述

题目不清楚,假设8个灯,整体循环一次的时间是80s,后一个灯亮了3s后前一个灯才允许熄灭。那么可以用定时器,定时器中采用一个变量aaa进行计数累加,比如设定一个1s的定时器,每次进入定时器变量aaa加1,aaa加到80就清零重新累加。
定时器中点亮程序:if(aaa<10){把1号灯点亮};else if(aaa<20){把2号灯点亮};else if(aaa<30){把3号灯点亮};else if(aaa<40){把4号灯点亮};else if(aaa<50){把5号灯点亮};else if(aaa<60){把6号灯点亮};else if(aaa<70){把7号灯点亮};else if(aaa<80){把8号灯点亮};
定时器中熄灭程序:if(aaa>73){把7号灯熄灭};else if(aaa>63){把6号灯熄灭};else if(aaa>53){把5号灯熄灭};else if(aaa>43){把4号灯熄灭};else if(aaa>33){把3号灯熄灭};else if(aaa>23){把2号灯熄灭};else if(aaa>13){把1号灯熄灭};else if(aaa>3){把8号灯熄灭};
这样就可以实现。方法有很多,这只是举个简单例子。
温馨提示:内容为网友见解,仅供参考
无其他回答

想用STM32开发板做个流水灯,从左到右共8个灯,要求是在第二个灯未亮前...
题目不清楚,假设8个灯,整体循环一次的时间是80s,后一个灯亮了3s后前一个灯才允许熄灭。那么可以用定时器,定时器中采用一个变量aaa进行计数累加,比如设定一个1s的定时器,每次进入定时器变量aaa加1,aaa加到80就清零重新累加。定时器中点亮程序:if(aaa<10){把1号灯点亮};else if(aaa<20...

用stm32写一个八位流水灯的程序
\/\/工程不管哦亲\/\/默认共阳极\/\/头文件自己写\/\/这是.c文件注意函数声明哦亲void GPIO_Init(void){ RCC->APB2ENR |=1<2; \/\/打开时钟 GPIOA->CRL &=0x00000000; \/\/ GPIOA->CRL |=0x33333333; \/\/推挽输出 GPIOA->ODR |=0xFF<<0; \/\/输出1}void Loop...

stm32点亮流水灯两亮两灭用if还是for
if或for语句来实现两个LED交替闪烁。在使用STM32单片机编写点亮流水灯的程序时,可以使用if或for语句来实现两个LED交替闪烁的效果,代码中可以通过判断条件(两个LED是否已经交替闪烁)来控制LED状态的变化,从而实现了两个LED之间交替闪烁的效果。

51单片机开发板八个led灯依次点亮(就是流水灯)然后再全部
} 这段代码实现了8个LED灯的流水点亮效果,先点亮第一个LED,等待600毫秒后,再点亮第二个LED,依此类推,直到所有LED都点亮,然后循环重复。

单片机如何设置一个循环的流水灯?
1、首先要写入单片机的头函数,定义单片机P1口的8个管脚,让他们分别代表流水灯的8个led。2、写一个大约一小时的延时函数,为了清楚的看到流水灯的、效果。3、下面是流水灯的主函数,流水灯一个点亮后一个熄灭反复循环点亮熄灭。4、这样流水灯就可以反复循环了。把程序下到仿真软件或者是开发板,进行...

STM32 的GPIO流水灯,程序下进去后,4个LED先全部都亮,然后才逐个点亮;我...
里的解释推挽输出初始化时,输出0或1,其实是0,这样的话,你的开始红灯都全部亮下,就不难理解了。所以你若想在开始的时候不想让他都亮(按照你的思路走),你可以对你的几个引脚进行拉高,即对ODR或者BSRR进行操作即可。GPIO_SetBits(GPIOE, GPIO_Pin_1);\/\/Init函数把几个脚都添加进去即可 ...

stm32流水灯为什么一起亮呢
电路板有问题了,当然你要注意流水的效果只有换一个,可能电气原件已经烧坏了。转向开关故障。转向灯不亮,则可能是转向开关有故障,可用螺丝刀分别接通转向开关火线与左右灯线的接线柱 闪光器继电器损坏或转向灯熔断丝已熔断。前者可自行更换,后者需仔细检查转向灯线路是否有短路后,在更换转向灯熔断丝即可...

用stm32开发板烧写了一个流水灯程序,完成后一直在运行,怎样关闭?
你用的是官方例程吗?。。。那个是个死循环,你把程序改一下就行了

如何用按键去控制stm32输出两个定时时间
根据查询stm32官网,方法如下。1、独立按键控制流水灯花样2、使用独立按键K1,K2,K4,K4实现流水灯花样变化3、开始按此键则灯开始流动(由左向右。4、停止按此键则停止流动所有灯为灭。

在校大学生,想用ARM芯片stm32做一个项目,但是不知道可以做什么...希望...
做一个简单的只能避障小车吧。。。先简单的做起,比如实现直线走到,然后测障碍物的距离,并显示出来,然后慢慢加模块,加功能。。。最后最好移植一个ucos系统上去跑。。。这样就能学到东西啦

相似回答