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

    关注

    277

    文章

    5714

    浏览量

    132102
  • 流水灯
    +关注

    关注

    21

    文章

    435

    浏览量

    61269
  • 程序
    +关注

    关注

    117

    文章

    3836

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    单片机程序的执行

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

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

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

    怎么测单片机系统频率

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

    单片机怎么烧程序

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

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

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

    STC单片机范例程序

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

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

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

    51+单片机TCP-IP+协议栈ZLIP源码

    概述 单片机上网技术,是当前的一个热门技术。单片机上网技术中的一个重要部分是在单片上实现 TCP/IP 协议栈。现在可获得的 TCP/IP 源代码一般并不为 51
    发表于 04-22 15:11

    新概念51单片机C语言教程入门、提高、开发、拓展全攻略

    库函数实现流水灯 第2篇 内外部资源操作篇 3.1 数码管显示原理 3.2 数码管静态显示 3.3 数码管动态显示 3.4 中断概念 3.5 单片机的定时器中断 4.1 独立键盘检测 4.2 矩阵键盘
    发表于 04-15 13:57

    #中国香河英茂科工#STC32G12K128#屠龙刀三.2 流水灯例程

    流水灯
    丙丁先生
    发布于 :2025年01月19日 14:19:35

    一个基于Cortex的单片机专为USB耳机设备设计的USBCodec芯片

    USBCodec芯片 - CJC6811A是一款基于Cortex的单片机,专为USB耳机设备而设计。它集成了一个32位的RISC CPU和16KB的SRAM、USB、UART、IIC、音频编解码器、GPIO、定时器、WDT、PWM、SPI、IIS、SARADC、PLL、L
    的头像 发表于 01-15 09:41 992次阅读
    一个基于Cortex的<b class='flag-5'>单片机</b>专为USB耳<b class='flag-5'>机设</b>备设计的USBCodec芯片

    【正点原子STM32H7R3开发套件试用体验】流水灯

    工程,之后使用 Keil MDK IDE 编译代码,实现流水灯的项目流程。从配置过程中发现,系统核心具有极高的运行速率,STM32H7系列具有32位Arm Cortex®-M7内核,运行频率高达 600 MHz,因此可以更快速地运行项目程序,为实现更高速的采样频率提供了可
    发表于 12-28 18:51

    低成本单片机方案——触摸流水灯开关控制

    概述本方案旨在提供一种基于低成本单片机的触摸流水灯开关控制解决方案。该方案结合了单片机技术、电容式触摸传感技术和LED驱动技术,实现了通过触摸操作控制
    的头像 发表于 12-26 16:37 1188次阅读
    低成本<b class='flag-5'>单片机</b>方案——触摸<b class='flag-5'>流水灯</b>开关控制

    单片机Debug与仿真区别

    是指在软件或硬件开发过程中,通过特定的工具和技术来查找、诊断和修复错误的过程。在单片机开发中,Debug通常涉及到以下几个方面: 硬件调试 :检查单片机的硬件连接是否正确,包括电源、时钟、I/O接口等。 软件调试 :使用调试器(
    的头像 发表于 12-19 09:47 1402次阅读

    【RA-Eco-RA4E2-64PIN-V1.0开发板试用】MDK+点灯+流水灯

    ” 文件,在 hal_entry 函数里面编写我们的代码。 直接运行,灯会常亮 流水灯实验,延迟200ms
    发表于 12-15 15:59