【51单片机】【protues仿真】基于51单片机心形流水灯系统

目录

一、主要功能

二、使用步骤

三、硬件资源

四、软件设计

五、实验现象

一、主要功能

1、心形流水灯

2、几十种闪烁方式

二、使用步骤

基于51单片机的心形流水灯系统设计是一种结合LED阵列控制与创意视觉效果的经典嵌入式应用方案。

三、硬件资源

1、51单片机核心模块

2、LED灯模块

四、软件设计

#include <REGX52.H>

#define uint unsigned int

#define uchar unsigned char

uchar i,j;

uint tt=70;

void delay(uint time)

{

uint x,y;

for(x=time;x>0;x--)

for(y=110;y>0;y--);

}

void disp0()

{

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

{

P0=0x00; P2=0x00; P3=0x00; P1=0x00;

delay(300);

P0=0xff; P2=0xff; P3=0xff; P1=0xff;

delay(300);

}

}

void disp1()

{

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

{

P2=table1i;

delay(100);

}

P2=0xff;

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

{

P3=table1i;

delay(100);

}

P3=0xff;

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

{

P1=table1i;

delay(100);

}

P1=0xff;

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

{

P0=table0i;

delay(100);

}

P0=0xff;

}

void disp2()

{

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

{

P0=table1i;

delay(100);

}

P0=0xff;

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

{

P1=table0i;

delay(100);

}

P1=0xff;

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

{

P3=table0i;

delay(100);

}

P3=0xff;

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

{

P2=table0i;

delay(100);

}

P2=0xff;

}

void disp3()

{

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

{

P0=table1i;

P1=table1i;

P2=table1i;

P3=table0i;

delay(100);

}

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

{

P0=table0i;

P1=table0i;

P2=table0i;

P3=table1i;

delay(100);

}

P3=0xff; P0=0xff;

}

void disp4()

{

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

{

P2=table1i;

P1=table1i;

delay(100);

}

P2=0xff; P1=0xff;

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

{

P3=table1i;

P0=table0i;

delay(100);

}

P3=0xff; P0=0xff;

}

void disp5()

{

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

{

P0=table1i;

P3=table0i;

delay(100);

}

P0=0xff; P3=0xff;

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

{

P1=table0i;

P2=table0i;

delay(100);

}

P1=0xff; P2=0xff;

}

void disp6()

{

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

{

P0=table3i;

P2=table3i;

delay(100);

}

P0=0xff; P2=0xff;

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

{

P1=table2i;

P3=table3i;

delay(100);

}

P1=0xff; P3=0xff;

}

void disp7()

{

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

{

P1=table3i;

P3=table2i;

delay(100);

}

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

{

P0=table2i;

P2=table2i;

delay(100);

}

}

void main()

{

while(1)

{

disp0();

disp1();

disp2();

disp3();

disp4();

disp5();

disp6();

disp7();

}

}

五、实验现象

演示视频:

相关推荐
女神下凡14 分钟前
芯参谋(87):Linux 系统(SPI NOR)驱动开发指南
linux·运维·arm开发·驱动开发·嵌入式硬件·设计规范
wuminyu6 小时前
JVM规范学习总结:解释器与JIT编译器如何处理JVM字节码
java·linux·c语言·jvm·c++
起个网名真难~10 小时前
STM32F103_Bootloader_从零到UART升级成功_博客原稿
stm32·单片机·嵌入式硬件
二本咕咕-机械转码11 小时前
FreeRTOS深入解析(一)_链表与并发保护——哨兵循环链表、排序键游标、临界区与关调度
单片机·算法·链表
水饺编程12 小时前
第2章:Linux 基础,解压缩【.tar.bz2】压缩包文件
linux·c语言·汇编
Zwawa12 小时前
串口命令如何从字符串长成协议:帧头、长度、校验和与状态机
c语言·单片机·嵌入式
小李不想当小白13 小时前
BKP备份寄存器与RTC实时时钟(STM32标准库学习笔记)
笔记·stm32·单片机·嵌入式硬件·学习·嵌入式
Zw-awa14 小时前
串口命令如何从字符串长成协议:帧头、长度、校验和与状态机
stm32
La Pulga15 小时前
【FreeRTOS源码学习笔记】链表的实现
数据结构·笔记·stm32·mcu·链表·嵌入式·freertos
铅笔小新z18 小时前
【stm32】WWDG(窗口看门狗)
stm32·单片机·嵌入式硬件