0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何实现一个LED流水灯程序

CHANBAEK 来源:工控小新 作者:工控小新 2023-11-10 11:37 次阅读

本节重点:实现一个LED流水灯程序

预备知识:

一、C语言常用到的预处理命令

1、define

define是宏定义,程序在预处理阶段将用define定义的内容进行了替换 。因此在程序运行时,常量表中并没有用define定义的常量,系统不为它分配内存。

使用#define定义的常量也称为符号常量,可以提高程序的运行效率。

其常见的用法包括两种,分别是:

1)#define 宏名 宏值
2)#define 宏名(参数列表)表达式

而define命令的用法一般分为两种:

第一种语法就是定义符号常量

第二种语法常用来定义符号函数。

举例说明一下:

#define A 3.14

执行这个条件之后,就是能直接将3.14的数值给到A上。

#define AREA(x,y)(x)*(y)

表示用来求长和宽分别是x和y的矩形的面积。

二、函数循环左移/右移

crol (a,b);循环左移函数,a是左移的值,b是左移的位数。包含在intrins.h库函数里面。

cror (a,b);循环右移函数,a是右移的值,b是右移的位数。包含在intrins.h库函数里面

编写程序:

有了上述的知识储备之后,我们在编写一个LED流水灯的程序。

流水灯思路:

首先点亮第一个LED灯,然后延时一段时间,再将当前LED熄灭,然后点亮第二个LED灯,这个过程通过一个函数移动的方式去实现,再延时一段时间,熄灭LED灯,如此往复的循环下去,就能实现一个LED灯的流水视觉。

(本此实验LED灯组采用的是共阴极接法,也就是说需要单片机引脚输出一个1,才会使得LED灯点亮)

程序编写:

#include< reg52.h >                         //头文件

#include< intrins.h >                       //头文件

typedef unsigned char u8;            //定义类型

typedef unsigned int u16;

#define led P2                              //定义LED灯组使用的是P2的八个引脚

void delay(u16 i)                          //延时函数delay

{

 while(i--);

}

void main()

{

u8 i=0;                                   //定义变量i

led=0x01;                             //设置LED灯组的初始状态值(0000 0001,使用的是共阴极)

  delay(50000);

  while(1)

  {

for(i=0;i< 7;i++)                   //for循环函数,初始值i为0,满足i< 7的条件,每次循环一次执行i自加1

   {

led=_crol_(led,1);             //LED左移函数,每次执行for循环执行一次函数移动

delay(50000);

   }

   for(i=0;i< 7;i++)

   {

led=_cror_(led,1);             //LED右移函数,每次执行for循环执行一次函数移动

delay(50000);

   }

  }

}

图片

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • led
    led
    +关注

    关注

    237

    文章

    22449

    浏览量

    645875
  • C语言
    +关注

    关注

    180

    文章

    7530

    浏览量

    128590
  • 流水灯
    +关注

    关注

    21

    文章

    432

    浏览量

    59104
  • 程序
    +关注

    关注

    114

    文章

    3631

    浏览量

    79541
  • 命令
    +关注

    关注

    5

    文章

    638

    浏览量

    21849
收藏 人收藏

    评论

    相关推荐

    LED流水灯设计

    微型计算机及控制技术(实训报告)微型计算机及控制技术实训班级:学号:姓名:实验LED流水灯设计、设计目的1、通过此次设计,熟悉并掌握实验系统原理和方法。2、掌握
    发表于 09-10 07:40

    基于51单片机实现流水灯

    51单片机入门教程(2)——实现流水灯、搭建流水灯电路二、流水灯程序2.1 延时
    发表于 11-10 08:03

    如何使用c语言实现LED流水灯

    单片机实验:使用c语言实现LED流水灯目的:实现简单的
    发表于 11-30 07:52

    LED流水灯功能实现

    )项目任务ü 任务1:点亮LEDn 子任务1.1 LED电路认识n 子任务1.2 C语言编程框架认识n 子任务1.3 实现点亮LED功能ü 任务2:
    发表于 11-30 07:13

    LED流水灯程序【汇编版】

    LED流水灯程序【汇编版】LED流水灯程序【汇编版】LED
    发表于 12-29 11:15 0次下载

    LED流水灯程序【C语言版】

    LED流水灯程序【C语言版】LED流水灯程序【C语言版】LE
    发表于 12-29 11:05 0次下载

    LED流水灯程序【C语言+汇编版】

    LED流水灯程序【C语言+汇编版】,感兴趣的朋友可以学习。
    发表于 12-31 10:36 0次下载

    一个流水灯的C51程序

    流水灯的C51程序流水灯的C51程序流水灯的C51程序
    发表于 01-07 16:55 3次下载

    花样流水灯程序

    用avr实现流水灯程序,希望对大家有所帮助
    发表于 06-27 16:22 5次下载

    VHDL例程流水灯LED程序

    VHDL例程 流水灯LED程序,感兴趣的小伙伴们可以瞧一瞧。
    发表于 11-11 11:20 12次下载

    LED流水灯程序免费下载

    本文档的主要内容详细介绍的是LED流水灯程序免费下载。
    发表于 03-13 08:00 4次下载
    <b class='flag-5'>LED</b><b class='flag-5'>流水灯</b>的<b class='flag-5'>程序</b>免费下载

    51单片机入门教程(2)——实现流水灯

    51单片机入门教程(2)——实现流水灯一、搭建流水灯电路二、流水灯程序2.1 延时程序2.2 延
    发表于 11-05 15:20 15次下载
    51单片机入门教程(2)——<b class='flag-5'>实现</b><b class='flag-5'>流水灯</b>

    STC单片机 闪烁灯,LED流水灯 程序讲解

    STC单片机 闪烁灯,LED流水灯 程序讲解
    发表于 11-11 15:21 8次下载
    STC单片机 闪烁灯,<b class='flag-5'>LED</b><b class='flag-5'>流水灯</b> <b class='flag-5'>程序</b>讲解

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

    Proteus使用教程并仿真51程序——LED流水灯
    发表于 11-15 15:21 8次下载
    Proteus使用教程并仿真51<b class='flag-5'>程序</b>——<b class='flag-5'>LED</b><b class='flag-5'>流水灯</b>

    C51单片机实验——LED流水灯

    (3)实现LED循环点亮流水灯实验效果硬件连线:电源口通电P2口接LED流水灯模块实验主要代码:
    发表于 11-21 11:06 12次下载
    C51单片机实验——<b class='flag-5'>LED</b><b class='flag-5'>流水灯</b>