手电大家谈-手电筒爱好者之家

 找回密码
 注册成为会员,享受更多功能。

QQ登录

只需一步,快速开始

只需一步,快速开始

搜索
12
返回列表 发新帖
楼主: zhaohang

[其他DIY] 想用单片机控制8个LED,使其产生流星灯的效果,但是没有思路

[复制链接]
  • TA的每日心情
    奋斗
    2024-11-16 19:47
  • 签到天数: 1156 天

    [LV.10]以坛为家III

    发表于 2022-5-26 09:42 | 显示全部楼层
    LZ这不还是跑马灯吗,流星在哪

    点评

    是流星灯。可以看见它拖着小尾巴快速地前进。  详情 回复 发表于 2022-5-26 15:11
    是流星灯。可以看见它拖着小尾巴快速地前进。  详情 回复 发表于 2022-5-26 15:11
    是流星灯。可以看见它拖着小尾巴快速地前进。  详情 回复 发表于 2022-5-26 15:11
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2022-7-30 10:34
  • 签到天数: 1 天

    [LV.1]初来乍到

     楼主| 发表于 2022-5-26 15:11 | 显示全部楼层
    C.Azrael 发表于 2022-5-26 09:42
    LZ这不还是跑马灯吗,流星在哪

    是流星灯。可以看见它拖着小尾巴快速地前进。

    点评

    LZ的回复拖着两个小尾巴快速地前进  详情 回复 发表于 2022-5-26 21:01
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2022-7-30 10:34
  • 签到天数: 1 天

    [LV.1]初来乍到

     楼主| 发表于 2022-5-26 15:11 | 显示全部楼层
    C.Azrael 发表于 2022-5-26 09:42
    LZ这不还是跑马灯吗,流星在哪

    是流星灯。可以看见它拖着小尾巴快速地前进。
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2022-7-30 10:34
  • 签到天数: 1 天

    [LV.1]初来乍到

     楼主| 发表于 2022-5-26 15:11 | 显示全部楼层
    C.Azrael 发表于 2022-5-26 09:42
    LZ这不还是跑马灯吗,流星在哪

    是流星灯。可以看见它拖着小尾巴快速地前进。
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2024-11-16 19:47
  • 签到天数: 1156 天

    [LV.10]以坛为家III

    发表于 2022-5-26 21:01 | 显示全部楼层
    zhaohang 发表于 2022-5-26 15:11
    是流星灯。可以看见它拖着小尾巴快速地前进。

    LZ的回复拖着两个小尾巴快速地前进
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2024-11-15 10:53
  • 签到天数: 2289 天

    [LV.Master]伴坛终老

    发表于 2022-5-27 09:49 | 显示全部楼层
    zhaohang 发表于 2022-5-25 22:37
    流星灯终于成功了!原来想复杂了,其实可以简单实现。用面包板、8个直径3mm的LED、STC11F02E做的。用Keil、 ...

    楼主有没有想复杂我不清楚,但这个实现可不“简单”,200多行代码。
    8个LED,不建议用bit控制,要用byte控制,还要善于使用循环、移位等操作,这样程序可以写的简洁、易于阅读和调试。
    还有,这个流星灯应该会有频闪现象。

    点评

    用byte控制改写了程序,语句从200多句减少到108句,运行效果一样。谢谢你的指点!不是流水灯,没有用上位移功能。  详情 回复 发表于 2022-5-27 11:47
    要想省代码: 1、汇编语言; 2、算法  详情 回复 发表于 2022-5-27 10:18
    是有频闪现象,不知道怎样消除?  详情 回复 发表于 2022-5-27 10:08
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2022-7-30 10:34
  • 签到天数: 1 天

    [LV.1]初来乍到

     楼主| 发表于 2022-5-27 10:08 来自手机 | 显示全部楼层
    hfshen 发表于 2022-5-27 09:49
    楼主有没有想复杂我不清楚,但这个实现可不“简单”,200多行代码。
    8个LED,不建议用bit控制,要用byte ...

    是有频闪现象,不知道怎样消除?

    点评

    提高刷新率,也就是增加LED亮灭的频率,高到人眼无法识别,这样就看不出频闪了。可以参看14楼我的代码。 在隔壁论坛也看到你的这个代码了,有些坛友的建议与我一样的,字节控制,使用循环、移位等操作。 如你的代码  详情 回复 发表于 2022-5-27 10:55
    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    2015-1-15 14:39
  • 签到天数: 6 天

    [LV.2]偶尔看看I

    发表于 2022-5-27 10:18 | 显示全部楼层
    hfshen 发表于 2022-5-27 09:49
    楼主有没有想复杂我不清楚,但这个实现可不“简单”,200多行代码。
    8个LED,不建议用bit控制,要用byte ...

    要想省代码:

    1、汇编语言;

    2、算法

    回复

    使用道具 举报

  • TA的每日心情
    开心
    2024-11-15 10:53
  • 签到天数: 2289 天

    [LV.Master]伴坛终老

    发表于 2022-5-27 10:55 | 显示全部楼层
    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);

    回复

    使用道具 举报

  • TA的每日心情
    开心
    2022-7-30 10:34
  • 签到天数: 1 天

    [LV.1]初来乍到

     楼主| 发表于 2022-5-27 11:47 | 显示全部楼层
    hfshen 发表于 2022-5-27 09:49
    楼主有没有想复杂我不清楚,但这个实现可不“简单”,200多行代码。
    8个LED,不建议用bit控制,要用byte ...

    用byte控制改写了程序,语句从200多句减少到108句,运行效果一样。谢谢你的指点!不是流水灯,没有用上位移功能。
    回复

    使用道具 举报

  • TA的每日心情
    郁闷
    2018-12-24 21:55
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2022-6-1 22:51 来自手机 | 显示全部楼层
    zhaohang 发表于 2022-5-25 22:36
    流星灯终于成功了!原来想复杂了,其实可以简单实现。用面包板、8个直径3mm的LED、STC11F02E做的。用Keil、 ...

    能推荐一款最简单的单片机吗谢谢?只需要每隔10秒左右输出一下0.几秒的脉冲就可以,接在充电宝按键位置,让充电宝维持输出。耗电尽量低,3V供电,外围尽量简单。

    点评

    国产的STC单片机(8脚的就行)可以满足你的需求,便宜、外围元件基本没有。  详情 回复 发表于 2022-6-2 08:41
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2024-11-15 10:53
  • 签到天数: 2289 天

    [LV.Master]伴坛终老

    发表于 2022-6-2 08:41 | 显示全部楼层
    __ll_ww__ 发表于 2022-6-1 22:51
    能推荐一款最简单的单片机吗谢谢?只需要每隔10秒左右输出一下0.几秒的脉冲就可以,接在充电宝按键位置, ...

    国产的STC单片机(8脚的就行)可以满足你的需求,便宜、外围元件基本没有。
    回复

    使用道具 举报

    本版积分规则

    小黑屋|手机版|Archiver|论坛自带搜索|下载论坛app|手电大家谈-手电筒爱好者之家 ( 备案序号:鲁ICP备05002565号 )
    以上言论纯属个人观点,与手电大家谈立场无关。
    最佳浏览模式:1920*1080


    GMT+8, 2024-11-17 05:51 , Processed in 0.149836 second(s), 51 queries , Gzip On.

    Powered by Discuz! X3.4

    © 2001-2023 Discuz! Team.

    快速回复 返回顶部 返回列表