• 程序说明: LED连接在P2引脚上。
  • 程序现象:
    1、先从右到左逐个亮灭;再从左到右逐个亮灭;
    2、由两侧向中间,再中间向两侧亮灭;
    3、先右再左逐个亮起,不熄灭;再从左到右逐个熄灭;
    4、先左再右逐个亮起,不熄灭;再从右到左逐个熄灭;
#include "reg52.h" #define led P2  //对整个P2端口进行操作/* 延时函数        */
void delay(unsigned int del)    //10ms * del
{unsigned int i,j;for(i=0; i<del; i++)for(j=0; j<1827; j++)      ;
}void  Led_Pipeline_1() //先从右到左逐个亮灭;再从左到右逐个亮灭;
{unsigned  char i;  delay(10); led=0xfe;   //初始状态将LED0点亮for(i=0;i<8;i++)//   1111 1110{P2=~(0x01<<i);  //将0000 0001左移i位,然后将结果取反赋值到P2口delay(20);    //大约延时200ms}
//  led=0xFF; //熄灭所有LED
//  delay(20); for(i=1;i<8;i++){P2=~(0x80>>i);  //将1右移i位,然后将结果取反赋值到P2口delay(20); }
//  led=0xFF; //熄灭所有LED
}
void Led_Pipeline_2() //两侧向中间,再中间向两侧亮灭
{unsigned  char i,High,Low;delay(20);led=0x7E; //初始状态将两侧点亮High=led&0xF0;  //高四位 0111 0000Low=led&0x0F;   //低四位 0000 1110 delay(30);for(i=0;i<3;i++){High=~(~High>>1);    //将0x8F右移1位 0100 0111, 1011 1000Low=~(~Low<<1);       //将0xFE左移1位led=(High&0xF0)|(Low&0x0F);//保证高位、低位不受到移位影响delay(30);}
//  led=0xFF; //熄灭所有LED
//  delay(20);
//  led=0xE7;//初始状态将中间两颗LED点亮
//  delay(30);for(i=0;i<3;i++){                        //1110 0111High=~(~High<<1);     //将0x1*左移i位Low=~(~Low>>1);       //将0x*8右移i位  led=(High&0xF0)|(Low&0x0F);//保证高位、低位不受到移位影响delay(30);}   led=0xFF; //熄灭所有LED
}void Led_Pipeline_3() //先右再左逐个亮起,不熄灭;再从左到右逐个熄灭;
{unsigned  char i;  delay(20);led=0xfe;    //初始状态将LED0点亮delay(10);for(i=0;i<8;i++){P2=0xFE<<i;     //将1111 1110左移i位,然后将结果赋值到P2口delay(10);  //大约延时100ms}led=0xFF; //熄灭所有LEDfor(i=0;i<8;i++){P2=~(0xFF>>i);     //将1111 1111右移i位,然后将结果取反赋值到P2口delay(10); }  led=0xFF; //熄灭所有LED
}void Led_Pipeline_4() //先左再右逐个亮起,不熄灭;再从右到左逐个熄灭;
{unsigned  char i;  delay(20);led=0x7F;    delay(10);for(i=0;i<8;i++){P2=0x7F>>i;  delay(10); }led=0xFF; for(i=0;i<8;i++){P2=~(0xFF<<i);delay(10); }    led=0xFF; //熄灭所有LED
}
void main()
{while(1){Led_Pipeline_1();Led_Pipeline_2();Led_Pipeline_3();Led_Pipeline_4();}
}

51单片机4种流水灯相关推荐

  1. 51单片机制作花式流水灯的三种方式总结与仿真运行

    制作流水灯,一共有三种方式,分别是左右移位,延时,与定时器(计数器)方式 其中移位方式较为简便,常与简单的延时一同使用在各类工程中.除此之外,也可以直接操作寄存器改变灯的亮度. 延时方式通过改变占空比 ...

  2. 【DIY】多模式51单片机心形流水灯+呼吸灯+蜂鸣器音乐

    目录: 总体设计 1.基础硬件DIY设计 1)整体原理图 2)PCB电路 3)3D_PCB 2.单片机程序设计 1)呼吸灯[简易模拟PWM] 2)蜂鸣器音乐 3)几种简易流水灯方式 3.效果展示 1) ...

  3. 基于51单片机的花样流水灯设计

    文章目录 一.前言 二.模块介绍及原理说明 三.硬件连接 四.程序说明 五.效果演示 六.代码链接 一.前言 花样流水灯就是让LED灯按照一定规律进行各种变化,流水灯在生活中也随处可见,例如在建筑物的 ...

  4. 用51单片机点亮流水灯

    用51单片机点亮流水灯的几种方法 1. 直接按位操作一个一个点亮 #include<reg51.h>//头文件 sbit LED0=P2^0; //位定义单片机接LED灯的端口 sbit ...

  5. 基于51单片机的花样流水灯设计(源码+仿真+设计报告)

    资料编号:113 采用51单片机的IO控制多个LED灯,实现多种模式的流水风,全套资料齐全:具体功能请看下方演示视频 113-基于51单片机的花样流水灯设计(源码+仿真+设计报告) 单片机最小系统介绍 ...

  6. 51单片机点亮流水灯

    51单片机点亮流水灯 51单片机点亮流水灯 首先介绍开发板easyboard上的LED灯 P1端口通过74HC573连接到LED灯,查询74HC573芯片手册,内部由8个D锁存器构成,当OE为低电平, ...

  7. 51单片机按键控制流水灯

    1.按键的使用 <1>独立按键的原理图 按键所对应的引脚为P3的0.1.2.3引脚口,并且这里总共有四个独立按键,它们公共的一段都接到了GND电源的负极.这样我们就知道按键上电的默认电平为 ...

  8. 简单51单片机c语言编程流水灯,51单片机如何实现流水灯?51单片机实现流水灯的三种方法详细分析...

    描述 首先,介绍下原理.下图为主控芯片和流水灯模块的原理图.流水灯模块接在单片机的P1口,由原理图可以知道,在P1口给一个低电平即可点亮LED灯.相反,如果要LED灯熄灭,就要把P1口的电平变为高电平 ...

  9. 51单片机:LED流水灯的设计(两种方法)

    (一)首先要设计电路图,利用proteus软件进行电路图的设计.所需元器件:AT89C51单片机  1  个.LED-RED 8 个.电源VCC 1 个.设计电路如下图: (二)使用keil4软件进行 ...

  10. 基于51单片机的八位流水灯(三种形式)

    写一下寒假做的51小项目. 基本项目 基于AT89C51的流水灯:流水灯共八个,可以实现交替闪烁,一起闪烁,左右流水灯等效果. 模式一:按动key1,实现1,3,5,7和2,4,6,8交替闪烁: 模式 ...

最新文章

  1. 【转】C++中this指针的用法详解
  2. 5、时间日期的处理:Java Date类、Calendar类详解
  3. 矩形脉冲信号的频域分析_矩形周期脉冲信号MATLAB实现
  4. 使用Java流和In-JVM-Memory的超低延迟查询
  5. 《Head First设计模式》第三章笔记 装饰者模式
  6. 洛谷2149 Elaxia的路线(dp+最短路)
  7. matlab小波分析张德丰,MATLAB小波分析
  8. 关于路由器配置直连路由和静态路由
  9. linux u盘保护,如何解除U盘写保护状态?
  10. k8s(十三)、企业级docker仓库Harbor在kubernetes上搭建使用
  11. 虚拟机克隆的服务器怎么改mac地址,Centos6克隆虚拟机改IP和mac地址
  12. JAVA小游戏黄金矿工
  13. 软件项目管理 6.5.自下而上估算法
  14. 5G网络中TNL和RNL的理解
  15. 英文简历的写法和模板
  16. 笔记———计算机网络原理(二)
  17. 留学Paper写作中的门道怎么讲解?
  18. 【操作系统】进程:管程
  19. C语言递归(栈与递归)
  20. 做的一个wmp11播放器的LOGO

热门文章

  1. 阿里云服务器添加CDN
  2. java 连接163邮箱_java调用163邮箱发送邮件
  3. 【源码】结构支持向量机的块坐标Frank-Wolfe优化
  4. 清华大学计算机科学系王瑀屏,清华大学材料科学与工程系
  5. 推荐几本大学生必看的书单
  6. Ubuntu下全命令行部署Android模拟器
  7. 网络状态检测的利器 - ss命令
  8. 无法创建视频捕捉过滤器怎么办
  9. vue实战项目-ego商城
  10. html如何转换成中文,html页面中如何将编码转换成中文的示例代码