LZ这不还是跑马灯吗,流星在哪
是流星灯。可以看见它拖着小尾巴快速地前进。
C.Azrael 发表于 2022-5-26 09:42
LZ这不还是跑马灯吗,流星在哪
是流星灯。可以看见它拖着小尾巴快速地前进。
C.Azrael 发表于 2022-5-26 09:42
LZ这不还是跑马灯吗,流星在哪
是流星灯。可以看见它拖着小尾巴快速地前进。
zhaohang 发表于 2022-5-26 15:11
是流星灯。可以看见它拖着小尾巴快速地前进。
LZ的回复拖着两个小尾巴快速地前进{:6_655:}
zhaohang 发表于 2022-5-25 22:37
流星灯终于成功了!原来想复杂了,其实可以简单实现。用面包板、8个直径3mm的LED、STC11F02E做的。用Keil、 ...
楼主有没有想复杂我不清楚,但这个实现可不“简单”,200多行代码。
8个LED,不建议用bit控制,要用byte控制,还要善于使用循环、移位等操作,这样程序可以写的简洁、易于阅读和调试。
还有,这个流星灯应该会有频闪现象。
hfshen 发表于 2022-5-27 09:49
楼主有没有想复杂我不清楚,但这个实现可不“简单”,200多行代码。
8个LED,不建议用bit控制,要用byte ...
是有频闪现象,不知道怎样消除? hfshen 发表于 2022-5-27 09:49
楼主有没有想复杂我不清楚,但这个实现可不“简单”,200多行代码。
8个LED,不建议用bit控制,要用byte ...
要想省代码:
1、汇编语言;
2、算法
zhaohang 发表于 2022-5-27 10:08
是有频闪现象,不知道怎样消除?
提高刷新率,也就是增加LED亮灭的频率,高到人眼无法识别,这样就看不出频闪了。可以参看14楼我的代码。
在隔壁论坛也看到你的这个代码了,有些坛友的建议与我一样的,字节控制,使用循环、移位等操作。
如你的代码的8灯亮那一段,如果用字节控制,使用循环、移位等操作,就下边这么几行代码
P1=0x80;//8灯亮
for(i = 0; i < 7; i++) {
delay(800);
P1 = _cror_(P1,1);
}
你的代码:
led8=0; //8灯亮
led1=0;
led2=0;
led3=0;
led4=0;
led5=0;
led6=0;
delay(800);
led1=1;
delay(800);
led2=1;
delay(800);
led3=1;
delay(800);
led4=1;
delay(800);
led5=1;
delay(800);
led6=1;
delay(800);
led7=1;
delay(800);
hfshen 发表于 2022-5-27 09:49
楼主有没有想复杂我不清楚,但这个实现可不“简单”,200多行代码。
8个LED,不建议用bit控制,要用byte ...
用byte控制改写了程序,语句从200多句减少到108句,运行效果一样。谢谢你的指点!不是流水灯,没有用上位移功能。
zhaohang 发表于 2022-5-25 22:36
流星灯终于成功了!原来想复杂了,其实可以简单实现。用面包板、8个直径3mm的LED、STC11F02E做的。用Keil、 ...
能推荐一款最简单的单片机吗谢谢?只需要每隔10秒左右输出一下0.几秒的脉冲就可以,接在充电宝按键位置,让充电宝维持输出。耗电尽量低,3V供电,外围尽量简单。 __ll_ww__ 发表于 2022-6-1 22:51
能推荐一款最简单的单片机吗谢谢?只需要每隔10秒左右输出一下0.几秒的脉冲就可以,接在充电宝按键位置, ...
国产的STC单片机(8脚的就行)可以满足你的需求,便宜、外围元件基本没有。
页:
1
[2]