目录

1.如何点亮LED

2.方案1

1.想法的提出

2.程序编写

3.方案二(改善后)

4.注意事项:


1.如何点亮LED

LED正极接正电,负极接负极则点亮;cup通过程序直接访问寄存器(8位一组),每一位对应一个I/O口,给高低电平的问题转化为配置寄存器p2口的问题。控制单片机引脚输出高低电平,可控制LED的亮灭。单片机采用TTL电平+5v为高电平1,0v为低电平0。如下图:vcc跟LED正极相连,此时想要点亮LED则LED则需TTL输出0v低电平。

在明白LED原理之后,就可以根据自己的需求来编写程序从而达到你想要的效果了。

2.方案1

1.想法的提出

先让第一个灯点亮,然后延时,再让第二个灯点亮再延时...直到所有灯都亮完一遍,然后不断循环。由于单片机运行很快,如果不加延时,再视觉上就感觉全部灯都亮了。

1111 1110

1111 1101

1111 1011

1111 0111

...

0111 1111

2.程序编写

虽然代码在计算机中是以二进制存储的,但编写程序却不能使用二进制进行编写。

#include<regx52.h>void Delay1ms(unsigned int xms)//延时函数
{unsigned char i,j;while(xms){i=2;j=239;do{while(--j);}while(--i);xms--;}
}void main()
{P2=0xFE;//1111 1110Delay1ms(500);//延时500msP2=0xFF;//1111 1111Delay1ms(500);P2=0xFD;//1111 1101Delay1ms(500);P2=0xFF;//1111 1111 Delay1ms(500);P2=0xFB;//1111 1011Delay1ms(500);P2=0xFF;//1111 1111Delay1ms(500);P2=0xF7;//1111 0111Delay1ms(500);P2=0xFF;//1111 1111 Delay1ms(500);P2=0xEF;//1110 1111Delay1ms(500);P2=0xFF;//1111 1111 Delay1ms(500);P2=0xDF;//1101 1111 Delay1ms(500);P2=0xFF;//1111 1111Delay1ms(500);P2=0xBF;//1011 1111Delay1ms(500);P2=0xFF;//1111 1111Delay1ms(500);P2=0x7F;//0111 1111Delay1ms(500);}

3.方案二(改善后)

#include<regx52.h>
void Delay1ms(unsigned int xms)
{
 unsigned char i,j;
    while(xms)
    {
     i=2;
        j=239;
        do
        {
        while(--j);
        }while(--i);
       xms--;
    }
}

void main()
{
  while(1)
    {
        int i;
        for( i=0;i<8;i++)
        {
        P2=~(0X01<<i);//左移一位再按位取反。
        Delay1ms(500);
        }
    }

}

4.注意事项:

头文件:#include<regx52.h>

reg52x是带x的,且大小写都可。

reg52.x中已经P2进行定义,可以直接用了。

程序中的P2是大写的,是0x不是ox;

51单片机LED流水灯相关推荐

  1. 流水灯c语言程序tm,51单片机LED流水灯课程设计任务书+论文

    郑州工程技术学院课程设计 设计题目:LED流水灯设计 学    院:机电与车辆工程学院 专    业:16电气自动化技术专业班 级普招二班 姓    名:王*&刘* 指导教师:李* 日    ...

  2. 51单片机LED流水灯、走马灯的实现

    目录 1. 硬件设计 2. 软件设计 流水灯: 跑马灯: 1. 硬件设计 流水灯的原理: 图中主要包括51单片机芯片和流水灯模块,流水灯模块接在了单片机的P2口,500欧电阻是用来保护电路的.由原理图 ...

  3. 金沙滩51单片机LED 流水灯程序

    我们学了点亮一个 LED 小灯,然后又学了 LED 小灯闪烁,现在我们要进一步学习如何让 8 个小灯依次一个接一个的点亮,流动起来,也就是常说的流水灯.先来看 8 个 LED的核心电路图,如图 4-1 ...

  4. 51单片机:流水灯蜂鸣器控制

    //51单片机:流水灯&蜂鸣器控制 //bglei@nuaa.edu.cn 2022/8/28<流水灯&蜂鸣器控制> #include<reg52.h> #in ...

  5. pic单片机流水灯循环右移c语言,PIC单片机LED流水灯程序

    PIC 单片机 LED流水灯程序 ;************************************************************* include ;*********** ...

  6. Proteus:单片机 LED流水灯模拟

    题目概述: 单片机LED流水灯. 编程: #include <reg51.h> #include <intrins.h> #define uint unsigned int # ...

  7. 51单片机循环流水灯源码

    51单片机循环流水灯源码 #include <reg52.h> #include <intrins.h> void delay(unsigned char a) {unsign ...

  8. Proteus使用教程并仿真51程序——LED流水灯

    目录 一.Proteus简介 二.安装Proteus软件 三.熟悉Proteus软件 1.如何创建工程 2.界面简介 四.51程序设计和仿真 1.绘制原理图 1)添加元件 2)摆放元件 2.编写51程 ...

  9. 单片机led流水灯实验c语言程序,单片机LED流水灯实验及流程图源代码详解

    利用实验室提供的单片机实验开发板的最小系统电路模块.流水灯电路模块,以及Protues仿真软件搭建电路,实现I/O口循环流水灯演示效果. LED流水灯控制电路如图2-1所示,八个LED灯D0-D7(可 ...

最新文章

  1. python实现ssh登录send_Python实现ssh批量登录并执行命令
  2. 06_jQuery_内容过滤
  3. 安装华为鸿蒙,魅族选择与鸿蒙合作,华为这下要成了?
  4. sql sum()对空值的处理
  5. 大数据管理:构建数据自己的“独门独院”
  6. SpringBoot之Thymeleaf
  7. Linux服务器被***不能上网
  8. 通过web的方式动态查看tomcat的catalina.out的日志(web.py)
  9. 第2章 创建你的第一个 LISP 程序 Creating Your First Lisp Progr
  10. HTML table 标签的 summary 属性
  11. Atitit 为什么oracle这类大型数据库比mysql的性能机制目录1. 分区机制差别 11.1. Join算
  12. 【图像融合】基于matlab小波变换全聚焦图像融合【含Matlab源码 1372期】
  13. Python爬虫编程思想(92):项目实战:抓取京东图书评价
  14. oracle日志可以存多久,oracle存档日志
  15. 跳马周游c++_C++——跳马问题(广搜)
  16. 大众点评各城市热门餐厅评分字体加密信息数据采集
  17. c语言switch怎么判断字符,c语言switch语句如何使用
  18. YOLOv5基础知识点——卷积神经网络
  19. 乐高收割机器人_乐高机器人制作~~农场收割机
  20. JavaWeb防止表单重复提交

热门文章

  1. MAC浏览器刷新/强制刷新
  2. 如何更改计算机睿频,笔记本电脑如何关闭睿频功能来降低CPU温度
  3. 【Python实践】关于python多任务设计基础
  4. 移植三星的uboot(三)
  5. VLC捕获网络摄像头视频(rtsp协议)
  6. 用外置显卡跑深度学习的一些注意事项
  7. mysql prepare语句使用
  8. 计算圆台高度的c语言程序,知道圆台的上面一个圆直径为2米下面圆的直径为3.6 米高为1.6米怎么算圆台的体积...
  9. 《盒格速M》上市在即,我们以第一张上市股票为先锋
  10. 计算机图形学----SDF介绍