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

原创 2016-12-18 16:03  阅读 1,054 次 评论 16 条
前言

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

原题要求如下:

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

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

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

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

5. 使用定时中断延时。

我的最终作品如下:

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

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

程序代码如下:

完整proteus仿真图如下:

(可点击查看大图)

程序和仿真图打包下载:

此处为隐藏的内容!
发表评论并刷新,才能查看
版权声明: 本文为孟坤博客原创文章,欢迎转载。转载请务必注明出处! (参考格式:本文转自孟坤博客,原文地址:http://mkblog.cn/459/

文件下载

如遇下载链接失效,请在下方留言,我将在第一时间补上链接。

发表评论


表情

  1. leidada
    leidada Lv 1  @回复  7楼

    不错

  2. 小天师
    小天师 Lv 1  @回复  6楼

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

    • mengkun
      mengkun 站长 2017-06-19 14:35   回复

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

  3. 超哥
    超哥 Lv 1  @回复  5楼

    感觉好厉害的样子

  4. 惜别
    惜别 Lv 1  @回复  4楼

    下载下来研究一下

  5. 宁仔
    宁仔 Lv 1  @回复  地板

    是VC++的徒弟

    • mengkun
      mengkun 站长 2016-12-25 12:57   回复

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

    • mengkun
      mengkun 站长 2016-12-25 12:59   回复

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

  6. 宁仔
    宁仔 Lv 1  @回复  板凳

    你QQ多少 我不会改API

    • mengkun
      mengkun 站长 2016-12-25 12:52   回复

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

      • 宁仔
        宁仔 Lv 1 2016-12-25 12:53   回复

        @mengkun你收徒弟吗?

      • mengkun
        mengkun 站长 2016-12-25 12:55   回复

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

  7. 宁仔
    宁仔 Lv 1  @回复  沙发

    好厉害