51单片机彩灯控制器的设计

mengkun 7.7K 24
前言

又到了一学期一度的期末设计环节,作为全班第一大神的我居然抽到了单片机课程设计里最简单的一道题,真的是不给我一点挑战的机会 [微笑]

原题要求如下:

1. 用16盏以上的LED小灯,实现至少4种彩灯灯光效果(不含全部点亮,全部熄灭);

2. 可以用输入按钮在几种灯光效果间切换;

3. 可以通过按钮暂停彩灯效果,使小灯全亮,再次按下相同按钮后继续之前的效果;

4. 增加自动在几种效果间切换的功能,并设置一个按钮可以在自动模式和手动模式间切换;

5. 使用定时中断延时。

我的最终作品如下:

(为方便演示,速度已调快一倍处理)

51单片机彩灯控制器的设计

一共有十钟灯光效果,分别是:
顺时针流水灯、逆时针流水灯、交替闪烁、顺时针对角灯、逆时针对角灯、顺时针逐个点亮、顺时针逐个熄灭、逆时针逐个点亮、逆时针逐个熄灭、二进制加法。

程序代码如下:

代码太长,已被折叠。点击展开查看

完整proteus仿真图如下:

(可点击查看大图)

51单片机彩灯控制器的设计

程序和仿真图打包下载:

下载地址

发表评论 取消回复
表情 图片 链接 代码

  1. bobi
    bobi Lv 1

    +1甲乙

  2. le
    le Lv 1

    加一

  3. zero晓
    zero晓 Lv 1

    学习+1

  4. da
    da Lv 1

    前来学习

  5. 11
    11 Lv 1

    前来学习=w=

  6. 11
    11 Lv 1

    前来学习

  7. Test123
    Test123 Lv 1

    看看大神作品

  8. Shireli
    Shireli Lv 1

    这个学习下

  9. leidada
    leidada Lv 1

    不错

  10. 小天师
    小天师 Lv 1

    初值应该是65536-10000这样才是50ms

    • mengkun
      mengkun 站长

      @小天师C51单片机时钟频率为12MHz,65536-10000 是 10ms,不是 50ms。文中的代码无误。 [流汗]

  11. 超哥
    超哥 Lv 1

    感觉好厉害的样子

  12. 惜别
    惜别 Lv 1

    下载下来研究一下

  13. 宁仔
    宁仔 Lv 1

    是VC++的徒弟

    • mengkun
      mengkun 站长

      @宁仔VC++我不会 [微笑]

    • mengkun
      mengkun 站长

      @宁仔这篇文章里的C语言是C51,是运行在单片机中的,与C++是两个概念。如果你要学C51,推荐去看郭天祥的教程,网上资源很多。

  14. 宁仔
    宁仔 Lv 1

    你QQ多少 我不会改API

    • mengkun
      mengkun 站长

      @宁仔这个太基础了……自己想办法尝试吧,不难的 [晕]

      • 宁仔
        宁仔 Lv 1

        @mengkun你收徒弟吗?

      • mengkun
        mengkun 站长

        @宁仔没时间,不收。如果你要学习html技术的话,推荐你去看李炎恢的视屏教程(传送门 http://www.ycku.com/xhtml/)我之前就是照着这个一步步学过来的。

  15. 宁仔
    宁仔 Lv 1

    好厉害

分享