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

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

3天内不再提示

几个使用单片机设计流水灯的程序概述

Wildesbeast 来源:单片机教程网 作者:豪杰电子工作室 2020-06-13 11:13 次阅读

51单片机流水灯C语言源程序(源创) **************************************************************

文件名称:flash_led.c

文件说明:流水灯C程序

编写人员:Jerry Yang

编写日期:2006年10月5日

程序说明:MCU采用AT89S51,外接12M晶振,P1口输出

*************************************************************/

#include《reg51.h》 //51系列单片机定义文件

#define uchar unsigned char //定义无符号字符

#define uint unsigned int //定义无符号整数

void delay(uint); //声明延时函数

void main(void)

{

uint i;

uchar temp;

while(1)

{

temp=0x01;

for(i=0;i《8;i++) //8个流水灯逐个闪动

{

P1=~temp;

delay(100); //调用延时函数

temp《《=1;

}

temp=0x80;

for(i=0;i《8;i++) //8个流水灯反向逐个闪动

{

P1=~temp;

delay(100); //调用延时函数

temp》》=1;

}

temp=0xFE;

for(i=0;i《8;i++) //8个流水灯依次全部点亮

{

P1=temp;

delay(100); //调用延时函数

temp《《=1;

}

temp=0x7F;

for(i=0;i《8;i++) //8个流水灯依次反向全部点亮

{

P1=temp;

delay(100); //调用延时函数

temp》》=1;

}

}

}

void delay(uint t) //定义延时函数

{

register uint bt;

for(;t;t--)

for(bt=0;bt《255;bt++);

}

/************************************************************

*89C51、S51单片机32个IO口流水灯测试程序

*Flash0、1、2、3分别对应单片机的P0、1、2、3四个口

*a程序对应流水灯从全灭到一个一个亮

*b程序对应流水灯从全亮到一个一个灭

*Author:大灵通

*2006-7-26 10:57,OK!

*************************************************************/

#include《reg51.h》

#include《intrins.h》

#include《absacc.h》

#define uchar unsigned char

#define uint unsigned int

#define TimeDelay 60000

void delay(uint n);

void Flash0a(void);

void Flash0b(void);

void Flash1a(void);

void Flash1b(void);

void Flash2a(void);

void Flash2b(void);

void Flash3a(void);

void Flash3b(void);

/************************************************************

*Function: 主函数

*parameter:

*Return:

*Modify:

*************************************************************/

void main(void)

{

while(1)

{

Flash1b();

Flash1a();

delay(TimeDelay);

delay(TimeDelay);

Flash0b();

Flash0a();

Flash2b();

Flash2a();

Flash1b();

Flash1a();

Flash3b();

Flash3a();

}

}

/************************************************************

*Function: 延时

*parameter:

*Return:

*Modify:

*************************************************************/

void delay(uint n)

{

while(n!=0)

{

n--;

}

}

void Flash0a(void)

{

uchar i;

uchar Temp;

Temp = 0x80;

for(i=0;i《8;i++)

{

P0 = ~Temp;

delay(TimeDelay);

Temp = Temp 》》 1;

}

P0 = 0xff;

}

void Flash0b(void)

{

uchar i;

uchar Temp;

Temp = 0x80;

for(i=0;i《8;i++)

{

P0 = Temp;

delay(TimeDelay);

Temp = Temp 》》 1;

}

P0 = 0;

}

void Flash1a(void)

{

uchar i;

uchar Temp;

P1 = 1;

Temp = 0x80;

for(i=0;i《8;i++)

{

P1 = ~Temp;

delay(TimeDelay);

Temp = Temp 》》 1;

}

P1 = 0xff;

}

void Flash1b(void)

{

uchar i;

uchar Temp;

P1 = 1;

Temp = 0x80;

for(i=0;i《8;i++)

{

P1 = Temp;

delay(TimeDelay);

Temp = Temp 》》 1;

}

P1 = 0;

}

void Flash2a(void)

{

uchar i;

uchar Temp;

P2 = 1;

Temp = 0x80;

for(i=0;i《8;i++)

{

P2 = ~Temp;

delay(TimeDelay);

Temp = Temp 》》 1;

}

P2 = 0xff;

}

void Flash2b(void)

{

uchar i;

uchar Temp;

P2 = 1;

Temp = 0x80;

for(i=0;i《8;i++)

{

P2 = Temp;

delay(TimeDelay);

Temp = Temp 》》 1;

}

P2 = 0;

}

void Flash3a(void)

{

uchar i;

uchar Temp;

P3 = 1;

Temp = 0x80;

for(i=0;i《8;i++)

{

P3 = ~Temp;

delay(TimeDelay);

Temp = Temp 》》 1;

}

P3 = 0xff;

}

void Flash3b(void)

{

uchar i;

uchar Temp;

P3 = 1;

Temp = 0x80;

for(i=0;i《8;i++)

{

P3 = Temp;

delay(TimeDelay);

Temp = Temp 》》 1;

}

P3 = 0;

}

===========

;P1口八个LED灯做三路流水灯实验

;***************************************************************

;* Date : 2004.4.20 *

;* Support Mb:020-34007281 E-mail:c51cn@163.com *

;* Create by :dengdewu http://www.c51.cn 更多例程请登陆网站 *

;* 网站单片机学习资料同步更新,敬请新老朋友随时关注 *

;***************************************************************

ORG 0000H

LJMP MAIN

ORG 030H

MAIN:MOV P1,#0DBH ;11011011--0为亮,1为灭

ACALL DELAY

MOV P1,#06DH ;01101101

ACALL DELAY

MOV P1,#0B6H ;10110110

ACALL DELAY

AJMP MAIN

DELAY:MOV R7,#255 ;延时子程序

D1: MOV R6,#255

D2: DJNZ R6,D2

DJNZ R7,D1

RET

END

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

    关注

    269

    文章

    5649

    浏览量

    120700
  • 流水灯
    +关注

    关注

    21

    文章

    432

    浏览量

    59104
  • 程序
    +关注

    关注

    114

    文章

    3631

    浏览量

    79541
收藏 人收藏

    评论

    相关推荐

    51单片机流水灯制作

    流水灯是学习51单片机的一个基本项目,是我们对单片机IO口输出认识的基本项目。当然学会了花样流水灯也很好玩。 下面就分享一种51单片机
    的头像 发表于 02-26 10:06 451次阅读
    51<b class='flag-5'>单片机</b><b class='flag-5'>流水灯</b>制作

    分享花样流水灯程序

    电子发烧友网站提供《分享花样流水灯程序.doc》资料免费下载
    发表于 11-18 09:59 3次下载
    分享花样<b class='flag-5'>流水灯</b>源<b class='flag-5'>程序</b>

    基于单片机流水灯电路设计

    前面一课掌握了嵌入式程序源代码级调试,为复杂单片机实验程序的调试做好了准备工作。本次实验完成流水灯电路模型设计和编程,在实验过程中,学习流水灯
    的头像 发表于 10-31 14:56 1448次阅读
    基于<b class='flag-5'>单片机</b>的<b class='flag-5'>流水灯</b>电路设计

    求分享c语言的51单片机流水灯循环流水程序

    [i][i][i][i] c语言 的51单片机流水灯循环流水程序
    发表于 10-18 06:57

    如何使用51单片机制作一个心形流水灯

    使用 51 单片机制作一个心形流水灯 心形流水灯,顾名思义,成品肯定是一个心形。随着程序的改变,通过单片机控制单个灯的亮灭达到不同的流动图案
    的头像 发表于 09-11 10:27 2522次阅读
    如何使用51<b class='flag-5'>单片机</b>制作一个心形<b class='flag-5'>流水灯</b>

    利用51单片机流水灯和LCD1602实现表白功能

    利用51单片机流水灯和LCD1602实现表白功能。
    的头像 发表于 08-17 09:45 826次阅读

    51单片机的8位按键流水灯设计

    本资源内容概要: 这是基于51单片机的8位按键流水灯设计包含了C语言程序源代码(keil软件打开)。 本资源适合人群: 单片机爱好者、电子类专业学生、电子diy爱好者。 本资源能学到什
    发表于 07-24 14:36 0次下载

    流水灯单片机解决方案,多种灯光效果可变

    的灯光效果是在控制系统的控制按照设定的顺序和时间来发亮和熄灭。通过单片机引脚输出低电平,LED灯导通发亮,单片机引脚输出高电平,LED灯截止熄灭。 流水灯方案工作原理: 流水灯控制原理
    的头像 发表于 07-20 17:45 523次阅读

    流水灯单片机解决方案,多种灯光效果可变

    流水灯,即LED从一边依次亮至另一边,光像流水一样流动,形成一定视觉效果的一组灯。流水灯在生活中的应用也是非常的广泛,常被安装于店面、招牌、夜间建筑物等地方,可以让门面或建筑变得更加美观显眼。
    的头像 发表于 07-15 16:36 825次阅读

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

    花样流水灯是一种常见的LED灯效果,被广泛应用于舞台表演、节日庆典、晚会演出等场合。
    的头像 发表于 06-11 10:00 2578次阅读
    基于51<b class='flag-5'>单片机设</b>计的花样<b class='flag-5'>流水灯</b>设计

    基于51单片机的查表法实现流水灯例程源代码

    基于51单片机的查表法实现流水灯例程源代码
    发表于 05-17 15:04 4次下载

    基于89C51单片机的24c02存储花样流水灯程序

    基于89C51单片机的24c02存储花样流水灯程序
    发表于 05-16 10:43 1次下载

    ARM Cortex-M学习笔记:初识GPIO流水灯

    熟悉单片机的朋友都知道,学习的第一个例程就是流水灯,要想实现流水灯,首先必须了解GPIO的工作原理。GPIO的基本结构如图1所示。
    的头像 发表于 05-15 11:31 2221次阅读
    ARM Cortex-M学习笔记:初识GPIO<b class='flag-5'>流水灯</b>

    基于ATmega8单片机流水灯设计Proteus仿真源程序

    基于ATmega8单片机流水灯设计Proteus仿真源程序
    发表于 05-05 09:29 1次下载

    基于AT89C51单片机TIMER0控制流水灯仿真及代码

    基于AT89C51单片机TIMER0控制流水灯仿真及代码
    发表于 05-04 14:31 1次下载