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
    +关注

    关注

    241

    文章

    23135

    浏览量

    658445
  • C语言
    +关注

    关注

    180

    文章

    7598

    浏览量

    136188
  • 流水灯
    +关注

    关注

    21

    文章

    432

    浏览量

    59637
  • 程序
    +关注

    关注

    116

    文章

    3777

    浏览量

    80848
  • 命令
    +关注

    关注

    5

    文章

    678

    浏览量

    21984
收藏 人收藏

    评论

    相关推荐

    如何使用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

    简单流水灯程序仿真

    简单流水灯程序仿真,可以实现花式亮灭,循环。
    发表于 11-25 11:40 7次下载

    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次下载

    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单片机实现LED流水灯程序和仿真资料免费下载

    本文档的主要内容详细介绍的是使用51单片机实现LED流水灯程序和仿真资料免费下载。
    发表于 12-07 08:00 36次下载
    使用51单片机<b class='flag-5'>实现</b><b class='flag-5'>LED</b><b class='flag-5'>流水灯</b>的<b class='flag-5'>程序</b>和仿真资料免费下载

    如何通过FPGA实现流水灯

    流水灯,有时候也叫跑马灯,是简单、有趣又经典的实验,基本所有单片机的玩家们在初期学习的阶段都做过。本次我们也来介绍下如何通过小脚丫FPGA实现
    的头像 发表于 06-06 10:42 8110次阅读
    如何通过FPGA<b class='flag-5'>实现</b><b class='flag-5'>一</b><b class='flag-5'>个</b><b class='flag-5'>流水灯</b>?

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

    51单片机入门教程(2)——实现流水灯、搭建流水灯电路二、流水灯程序2.1 延时
    发表于 11-05 15:20 15次下载
    51单片机入门教程(2)——<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流水灯

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

    led流水灯luok 仿真电路和源码

    led流水灯luok 仿真电路和源码
    发表于 12-28 09:34 18次下载