流水灯可以用三种方法实现

一.通过移位函数  _crol_()  和  _cror_()

二.位移实现流水灯

三.数组流水灯实现

首先说一下流水灯的原理

让0从左往右位移或者从右往左位移

从而实现流水灯依次点亮

电路图如下,使用软件是project


一.通过移位函数  _crol_()  和  _cror_()
_crol_()是左移函数
_cror_()是右移函数
使用移位函数需要包含头文件#include<intrins.h>

使用左移函数代码如下

 ///运行结果是LED灯从上到下依次点亮

右移函数代码如下

 ///运行结果是LED灯从下到上依次点亮

二.位移实现流水灯

左移 “<<” 流水灯代码

///运行结果是LED灯从上到下依次点亮

左移 “>>” 流水灯也是同理

三.数组流水灯实现

原理是新建一维数组,利用循环依次赋值11111110(0xFE),11111101(0xFD)........

代码如下

///运行结果是LED灯从上到下依次点亮

补充,如果要从上到下依次点亮,再从下到上点亮,再加一个for(),就可以实现了

比如运用位移实现流水灯从上到下闪烁,再从下到上闪烁

代码如下

#include<reg51.h>      //51头文件
void delay(int t)      //定义延时函数
{
    int j;
    while(t--)
    {
    for(j=0;j<500;j++);
    }
}

void main()
{
    int i;
    while(1)
    {
        for(i=0;i<7;i++)    //循环点亮LED,到第7个LED延时一会就结束循环
        {

//P1对应的是P1端口,对端口赋值
        P1=~(0x01<<i);    //根据原理,0x01转换2进制是00000001,所以取反变成11111110,依次位移i位,就形成了流水灯
        delay(100);       //调用延时函数
        }
        
        for(i=0;i<7;i++)
        {
         P1=~(0x80>>i);       //0x80取反对应的是第8个led灯亮,LED从下到上依次点亮
         delay(100);
        }
    }
}

小白51单片机笔记,有不足之处欢迎指出,谢谢啦

51单片机流水灯三种实现方法相关推荐

  1. 单片机流水灯三种实现

    单片机流水灯的三种实现方式(由上至下,再重下到上) 原理图 一般使用单片机的P1口 输出,不需要加上拉电阻: 由原理图可以看出这里采用低电平输出. 一.采用数组方式进行字节定义,最好理解的方式 #in ...

  2. keil流水灯c语言程序两个一起亮,Keil单片机点亮一个灯及循环流水灯三种实现方法详解...

    实验名称:keil工程建立,点亮一个led灯 实验目的:学会keil软件安装,熟悉keil界面并学习如何新建一个工程 实验器材:安装有keil的电脑一台 预习内容及原理: Keil C51已集成到一个 ...

  3. 51单片机流水灯制作

    文章目录 51单片机流水灯制作 初试与复试 初试 复试 制作 分工 制作之硬件 制作之软件 总结 51单片机流水灯制作 我不得不承认自己的毅力实在是太差了,原先准备一星期写一篇博客的目标一致没有实现, ...

  4. 51单片机流水灯现象1

    **` 51单片机流水灯程序 `** 初学者小白,分享上课时写的小程序和普中科技程序,感兴趣的可以瞧瞧. 程序如有相同冒犯了. /*********************************** ...

  5. 51单片机流水灯的三种实现方法

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

  6. 51单片机流水灯控制(5种方法)

    实现流程: 1. 新建一个工程(新项目)2. 查看原理图确定需求(流水灯)对应LED引脚在单片机上的哪个引脚3. 编写程序(通过查看原理图可以看到我们需要控制整个P2口以控制8个LED灯)4. 编译程 ...

  7. 如何用多种代码实现51单片机流水灯

    用51单片机实现流水灯的方法有多种:普通电灯法,位移法,数组法.其次模拟电路的电流图也与点一盏LED相似.具体如下: 一   首先是最简单的代码: #include <reg52.h>   ...

  8. 51单片机-------流水灯(实验报告)

    实验二:LED流水灯 一.实验目的 掌握51单片机开发板的使用步骤: 掌握51单片机开发板所需软件的安装过程: 以LED流水灯实验为例子,掌握软件KEIL4的使用方法. 二.实验设备 实验仪器设备: ...

  9. 设计一:51单片机流水灯控制

    目录 一.设计内容 二.硬件电路分析 三.仿真原理图 四.程序设计 五.仿真结果 六.思考题 作者有话说 一.设计内容 本次设计使用4个按键,当KEY1按下时,P0口所接的发光二极管(D1~D8)以1 ...

  10. 51单片机——流水灯

    51单片机--单向流水灯 编写程序8个LED灯从最高位依次点亮,每次只亮一盏灯,依此循环. 电路原理图 源代码 #include "reg51.h" #define u8 unsi ...

最新文章

  1. ubuntu安装KVM虚拟机管理virt-manager
  2. python 400集大型视频下载_Python400集大型视频,无偿分享,从正确方向学习python...
  3. java对象赋值_Java 对象不使用时为什么要赋值为 null?
  4. castle windsor学习----- Services and Components 两者的定义
  5. 测试题的答案(技术博客)
  6. 前端需要了解的http知识
  7. OFD文件结构--带签名
  8. 面试时如何在众多Java工程师中脱颖而出
  9. Vue调试工具 vue-devtools的安装
  10. python模块datetime_Python模块学习 datetime介绍
  11. 使用/调用 函数的时候, 前面加不加 对象或 this?
  12. android数据绑定_Android数据绑定
  13. Struts2出现的问题:
  14. border 0px和border none的区别
  15. win10-64位-汇编环境配置
  16. Python 的图形用户界面
  17. 上市集团计算离职率sql案例
  18. 猿创征文|我的Python成长之路
  19. C++ 头文件系列(set)
  20. oracle 监听 宕机,由重启引起的Oracle RAC节点宕机分析及追根溯源

热门文章

  1. 自考本科计算机要学什么,计算机自考本科需要考哪些科目
  2. opengl 加载obj模型
  3. VMS-B230/260如何登录存储控制器
  4. Android热修复Sophix的使用
  5. Xshell v6 Build 0193 绿色特别版及全套产品
  6. 大气数据计算机输出形式,大气数据计算机
  7. 二叉树非递归遍历(先序、中序、后序)(C++)
  8. php中字符串分割函数是,php分割字符串的函数是什么
  9. 日常生活开支记账明细_你的理财小管家!简单明了!皮面理财记账本明细流水支出笔记本!...
  10. 图像识别的原理、过程、应用前景,精华篇!