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单片机
    +关注

    关注

    278

    文章

    5716

    浏览量

    135139
  • 流水灯
    +关注

    关注

    21

    文章

    436

    浏览量

    62127
  • 程序
    +关注

    关注

    117

    文章

    3849

    浏览量

    85472
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    单片机里的程序运行方式

    我们想要理解单片机是如何运行程序的,我们首先需要了解单片机的组成,我们这里以80C51单片机为例来理解程序
    发表于 01-16 06:57

    学习单片机快速方法

    要知道流水灯是怎么和单片机连接的(一般学习板都配有电路图)。然后你要能编写不同的程序去控制LED的亮灭,花样就随你遍了。 有时间的话可以去网上下载些流水灯的源
    发表于 01-14 07:42

    单片机如何烧录程序

    单片机如何烧录程序
    发表于 01-08 07:04

    几个单片机技巧如果不了解,真的很难再进阶

    效率的开发,小编总结了几个技巧,帮助大家进阶,在优秀的开发者路上越走越远! 如何提高C的代码效率? 用C语言进行单片机程序设计是单片机开发与应用的必然趋势。如果使用C编程时,要达到最
    发表于 01-05 07:22

    单片机程序的执行

    更快的SRAM中,以得到更快的执行速度。而对于,单片机而言工作频率也就几M,几十M,从Flash中与从RAM中读的差异可能并不明显,不会成为程序执行的瓶颈。 而对于PC而言,Flash的速度太慢
    发表于 12-04 06:20

    32位单片机PY32F003的特性概述

    PY32F003是一款极具性价比的国产入门级32位单片机,基于ARM Cortex-M0+内核,主频最高32MHz。提供最大64KB的Flash存储器和8KB的SRAM,这个容量对于大多数简单的控制
    的头像 发表于 11-07 16:02 1478次阅读
    32位<b class='flag-5'>单片机</b>PY32F003的特性<b class='flag-5'>概述</b>

    蜂鸟E203在黑金XC7A200T型FPGA上点亮LED并实现流水灯

    。) 程序始终处于流水灯状态,当按下触发中断的按键后,所有LED都熄灭,松开按键每个LED又恢复到中断前的亮灭状态。 四、上板 将生成的.verilog文件转换成.coe文件,将其固化到itcm
    发表于 10-31 09:04

    单片机烧录原理是怎样的?辉芒微单片机烧录程序详细步骤讲解

    烧录(Programming)就是把 .hex/.bin 文件里的机器码搬运进单片机片内 Flash 的过程。辉芒微(FMD)单片机内部有一块 自举 BootROM,上电时会先跑这段程序;如果检测
    的头像 发表于 09-17 16:14 3121次阅读
    <b class='flag-5'>单片机</b>烧录原理是怎样的?辉芒微<b class='flag-5'>单片机</b>烧录<b class='flag-5'>程序</b>详细步骤讲解

    单片机的储存优点是什么

    单片机作为嵌入式系统的核心,其储存系统是实现数据存储与程序运行的关键部分。与独立存储芯片相比,单片机的储存单元在集成度、功耗、可靠性等方面具备独特优势,这些优点使其能适应从消费电子到工业控制的多样化
    的头像 发表于 07-31 10:09 822次阅读

    怎么测单片机系统频率

    单片机系统频率是指单片机工作时的时钟频率,它直接影响单片机的运行速度和处理能力,准确测量系统频率对单片机应用开发、程序调试和性能优化具有重要
    的头像 发表于 07-25 11:39 1081次阅读

    单片机怎么烧程序

    单片机程序是将编写好的程序代码写入单片机内部存储单元,让单片机按照预设逻辑工作的过程,是单片机
    的头像 发表于 07-23 11:47 2007次阅读

    【沁恒CH585开发板免费试用体验】GPIO 流水灯

    开发环境: IDE:MounRiver Studio MCU:CH585 1 GPIO工作原理 熟悉单片机的朋友都知道,学习的第一个例程就是流水灯,要想实现流水灯,首先必须了解GPIO的工作原理
    发表于 07-04 22:55

    STC单片机范例程序

    电子发烧友网站提供《STC单片机范例程序.zip》资料免费下载
    发表于 06-04 16:27 10次下载

    2.4寸TFT彩屏配套测试程序-51单片机

    如题,2.4寸TFT彩屏配套测试程序-51单片机
    发表于 06-04 16:26 0次下载

    【RA-Eco-RA4M2开发板评测】点灯实现6种LED花式流水灯操作

    很高兴收到瑞萨电子提供的RA4M2开发板,这次帖子就专门用来说说专业点灯操作,实现各种花式的流水灯,可以十分方便地控制LED的各种状态,甚至多个LED组合控制,如跑马灯等。 打开原理图,可以看到3个
    发表于 04-28 21:28