【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;

}

五、实验现象

演示视频:

相关推荐
_Ningye11 小时前
STM32 — 6.1 TIM定时中断
stm32·单片机·嵌入式硬件
小白学电子_11 小时前
proteus仿真51单片机通过矩阵按键和数码管制作简单计算器
嵌入式硬件·51单片机·proteus
FreakStudio13 小时前
把 Flask 搬进 ESP32,高中生自研嵌入式 Web 框架 MicroFlask !
python·单片机·嵌入式·cortex-m3·异步编程·电子diy
AnalogElectronic13 小时前
RP2040 pico 实验6,光敏电阻传感器模块(LM393 比较器版)
单片机
17(无规则自律)13 小时前
【Linux驱动实战】:字符设备之ioctl与mutex全解析
linux·c语言·驱动开发·嵌入式硬件
电子工程师成长日记-C5113 小时前
51单片机4乘4计算器
单片机·嵌入式硬件·51单片机
梅尔文.古13 小时前
ADCU-Ethernet-以太网在AUTOSAR与Linux架构下对比
arm开发·单片机·汽车
没有医保李先生14 小时前
esp32和stm32的工程宏定义
stm32·单片机·嵌入式硬件
炸膛坦客14 小时前
单片机/C/C++八股:(十五)内存对齐、结构体内存对齐
c语言·开发语言·单片机
szxinmai主板定制专家15 小时前
基于ZYNQ MPSOC船舶数据采集仪器设计(一)总体设计方案,包括振动、压力、温度、流量等参数
arm开发·人工智能·嵌入式硬件·fpga开发