找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 877|回复: 0
打印 上一主题 下一主题
收起左侧

基于51单片机的流水灯源码

[复制链接]
跳转到指定楼层
楼主
ID:685447 发表于 2020-3-31 22:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

流水灯亮法:
1.从左到右依次亮起一个灯
2.从右到左依次亮起一个灯
3.从左到右依次点亮LED灯(前面不熄灭)
4.从右到左依次熄灭LED灯
5.全亮全灭4次循环
6.4个LED闪烁
7.从左到右隔一个灯依次亮起

代码有些繁琐,希望有大佬帮忙简化简化

  1. <font color="rgb(77, 77, 77)"><font face="&quot;"><font style="font-size: 16px">#include "reg52.h"
  2. #include<intrins.h>
  3. typedef unsigned char u8;
  4. typedef unsigned int u16;
  5. #define led P2 //定义LED灯所在的位置

  6. void delay(u16 i)   //延时函数
  7. {
  8.    while(i--);
  9. }

  10. void main()
  11. {
  12.   u8 i=0;
  13.   while(1)
  14.   {
  15.      led=0xfe;
  16.      delay(20000);
  17.      for(i=0;i<7;i++)   //从左到右依次亮起一个灯
  18.          {
  19.            led=_crol_(led,1);
  20.            delay(20000);
  21.          }
  22.      for(i=0;i<7;i++)   //从右到左依次亮起一个灯
  23.          {
  24.            led=_cror_(led,1);
  25.            delay(20000);
  26.          }

  27. //从左到右依次点亮LED灯  从右到左依次熄灭LED灯
  28.          led=0xff;
  29.          delay(20000);
  30.          led=0xfe;
  31.          delay(20000);
  32.          led=0xfc;
  33.          delay(20000);
  34.          led=0xf8;
  35.          delay(20000);
  36.          led=0xf0;
  37.          delay(20000);
  38.          led=0xe0;
  39.          delay(20000);
  40.          led=0xc0;
  41.          delay(20000);
  42.          led=0x80;
  43.          delay(20000);
  44.          led=0x00;
  45.          delay(20000);
  46.          led=0x80;
  47.          delay(20000);
  48.          led=0xc0;
  49.          delay(20000);
  50.          led=0xe0;
  51.          delay(20000);
  52.          led=0xf0;
  53.          delay(20000);
  54.          led=0xf8;
  55.          delay(20000);
  56.          led=0xfc;
  57.          delay(20000);
  58.          led=0xfe;
  59.          delay(20000);
  60.          led=0xff;
  61.          delay(20000);
  62.          
  63. //全亮全灭4次循环
  64.          led=0x00;
  65.          delay(20000);
  66.          led=0xff;
  67.          delay(20000);  
  68.          led=0x00;
  69.          delay(20000);
  70.          led=0xff;
  71.          delay(20000);
  72.          led=0x00;
  73.          delay(20000);
  74.          led=0xff;
  75.          delay(20000);
  76.          led=0x00;
  77.          delay(20000);
  78.          led=0xff;
  79.          delay(20000);

  80. //4个LED闪烁
  81.          led=0xf0;
  82.          delay(20000);
  83.          led=0x0f;
  84.          delay(20000);
  85.          led=0xf0;
  86.          delay(20000);
  87.          led=0x0f;
  88.          delay(20000);
  89.          led=0xf0;
  90.          delay(20000);
  91.          led=0x0f;
  92.          delay(20000);
  93.          led=0xf0;
  94.          delay(20000);
  95.          led=0x0f;
  96.          delay(20000);

  97. //从左到右隔一个灯依次亮起
  98.          led=0xfe;
  99.          for(i=0;i<7;i++)
  100.          {
  101.            led=_crol_(led,2);
  102.            delay(20000);
  103.          }
  104.                   


  105.   }
  106. }</font></font></font>
复制代码
本人萌新一枚,没有黑币下载资料了,发篇我刚学习时写的流水灯赚点黑币。

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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