【51单片机】【protues仿真】基于51单片机彩灯控制器系统

目录

一、主要功能

二、使用步骤

三、硬件资源

四、软件设计

五、实验现象

一、主要功能

1、数码管显示彩灯模式,闪烁时间

2、按键切换彩灯模式和闪烁时间

3、四种彩灯模式

二、使用步骤

51单片机的彩灯控制器系统是一种常见的嵌入式应用,通过编程控制LED灯实现多种动态效果。这类系统通常以AT89C51或STC89C52单片机为核心,配合LED灯组、按键控制、电源模块等硬件组成。

三、硬件资源

1、51单片机核心模块

2、按键模块

3、LED灯模块

4、数码管显示模块

四、软件设计

#include <REGX51.H>

#include "intrins.h"

#include "main.h"

#include "keyscanf.h"

#include "time.h"

#include "dispaly.h"

#define LED P2

uchar keyvalue;

bit LEDSwitch = 0;

uchar LEDMode = 0;

int LEDTime = 50;

uint temp = 0x01;

char i;

void Delay1ms(int ms)

{

unsigned char i, j;

while(ms--)

{

nop();

i = 2;

j = 199;

do

{

while (--j);

} while (--i);

}

}

int main()

{

LED = 0xff;

Timer0Init();

while(1)

{

keyvalue = KeyScanf();

LEDFlag();

if(timefalg ==1)

{

timefalg = 0;

LEDUser();

}

if(LEDSwitch == 1)

{

display(0,LEDMode);

display(1,13);

display(2,LEDTime/100);

display(3,LEDTime/10%10);

}

else

{

displayNo(0,11);

displayNo(1,11);

displayNo(2,11);

displayNo(3,11); }

}

}

void LEDFlag()

{

if(keyvalue == 1)

LEDSwitch = !LEDSwitch; //控制开关灯

if(LEDSwitch == 1) //只有灯开了这些操作才有用

{

if(keyvalue == 2) //按键2控制四种间隔方式

{

LEDMode++;

if(LEDMode >= 4)

LEDMode = 0;

}

else if(keyvalue == 3)

{

LEDTime += 50;

if(LEDTime >= 300)

LEDTime = 300;

}

else if(keyvalue == 4)

{

LEDTime -= 50;

if(LEDTime <= 50)

LEDTime = 50;

}

}

keyvalue = 0;

}

五、实验现象

演示视频:

相关推荐
硅基手札42 分钟前
【Linux 内核专栏 17】进程间通信 IPC(上)— 管道·信号·System V IPC·mmap·文件锁
linux·运维·服务器·stm32·单片机·mcu
国科安芯1 小时前
无方向脚如何既快又稳:ASC0101S 自动方向感应机理与边沿加速应用研究
网络·嵌入式硬件·低轨卫星·商业航天·抗辐射
额额额对了1 小时前
Linux 驱动开发:基于 platform 总线 + misc 设备的 DS18B20 单总线温度驱动
linux·c语言·开发语言·驱动开发·嵌入式硬件
zcmodeltech1 小时前
沙盘模型控制系统STM32和PLC方案对比:选型逻辑与代码实现
stm32·嵌入式硬件·自动化
HQB20262 小时前
EG11731|屹晶微电子 100V 内置功率管大电流同步降压 DC‑DC
嵌入式硬件·硬件工程
2501_922639582 小时前
率能半导体 SS6209L半桥MOSFET驱动器:28V/4A集成方案,覆盖电子烟、无线充电、半桥应用三大场景
单片机·嵌入式硬件·硬件工程
HQB20262 小时前
EG1192S|屹晶微电子 100V 内置 MOS 异步降压 DC‑DC(零功耗使能)
嵌入式硬件·硬件工程
沐欣工作室_lvyiyi3 小时前
基于单片机的货物物流轨迹监测系统设计(论文+源码)
单片机·嵌入式硬件·腾讯云·云平台·货物物流轨迹监测
zhangduang_KHKW3 小时前
ECC - Hamming Code 汉明码
单片机
Lxx_Zw4 小时前
先把轮子转稳,才不会烧心:编码器速度环 PID 怎么接回 PWM
c语言·stm32·单片机·嵌入式硬件