【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=table1[i];

delay(100);

}

P2=0xff;

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

{

P3=table1[i];

delay(100);

}

P3=0xff;

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

{

P1=table1[i];

delay(100);

}

P1=0xff;

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

{

P0=table0[i];

delay(100);

}

P0=0xff;

}

void disp2()

{

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

{

P0=table1[i];

delay(100);

}

P0=0xff;

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

{

P1=table0[i];

delay(100);

}

P1=0xff;

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

{

P3=table0[i];

delay(100);

}

P3=0xff;

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

{

P2=table0[i];

delay(100);

}

P2=0xff;

}

void disp3()

{

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

{

P0=table1[i];

P1=table1[i];

P2=table1[i];

P3=table0[i];

delay(100);

}

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

{

P0=table0[i];

P1=table0[i];

P2=table0[i];

P3=table1[i];

delay(100);

}

P3=0xff; P0=0xff;

}

void disp4()

{

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

{

P2=table1[i];

P1=table1[i];

delay(100);

}

P2=0xff; P1=0xff;

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

{

P3=table1[i];

P0=table0[i];

delay(100);

}

P3=0xff; P0=0xff;

}

void disp5()

{

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

{

P0=table1[i];

P3=table0[i];

delay(100);

}

P0=0xff; P3=0xff;

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

{

P1=table0[i];

P2=table0[i];

delay(100);

}

P1=0xff; P2=0xff;

}

void disp6()

{

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

{

P0=table3[i];

P2=table3[i];

delay(100);

}

P0=0xff; P2=0xff;

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

{

P1=table2[i];

P3=table3[i];

delay(100);

}

P1=0xff; P3=0xff;

}

void disp7()

{

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

{

P1=table3[i];

P3=table2[i];

delay(100);

}

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

{

P0=table2[i];

P2=table2[i];

delay(100);

}

}

void main()

{

while(1)

{

disp0();

disp1();

disp2();

disp3();

disp4();

disp5();

disp6();

disp7();

}

}

五、实验现象

演示视频:

相关推荐
多看多敲多思考16 小时前
华润微CS32ME10 MCU使用教程(2)---CS32ME10之UART串口模块使用
stm32·单片机·嵌入式硬件·mcu
神一样的老师16 小时前
【兆易创新GD32VW553开发板试用】天气时钟设计与调试实战
单片机·嵌入式硬件·物联网
代码中介商17 小时前
银行管理系统的业务血肉 —— 流程、状态机、输入校验与持久化(下篇)
c语言·算法
国科安芯17 小时前
核电站仪控与监测系统中抗辐射 MCU 芯片应用研究
单片机·嵌入式硬件·macos·无人机·cocos2d·核电站
黑白园17 小时前
STM32系统时钟由72M修改为36M验证示例
stm32·单片机·嵌入式硬件
LCG元18 小时前
基于ARM7的LCD设计与实现:S3C4510B通用IO口控制液晶模块
stm32·单片机·嵌入式硬件
山后太阳18 小时前
Keil5(MDK-ARM)完整下载安装教程+入门教程:从零搭建STM32开发环境
arm开发·stm32·嵌入式硬件
爱编码的小八嘎19 小时前
C语言完美演绎9-12
c语言
The_superstar619 小时前
衡山派学习之串口
单片机·嵌入式硬件·串口·衡山派
Ww.xh19 小时前
STM32按键去抖动软件实现详解
stm32·单片机·嵌入式硬件