【51单片机】【protues仿真】基于51单片机音乐喷泉系统

目录

一、主要功能

二、使用步骤

三、硬件资源

四、软件设计

五、实验现象

一、主要功能

1、ADC0832芯片对音频信号的采集,转换为数字信号给单片机,

然后PWM脉冲宽度调制控制水泵水柱对的高低

2、有LED流水灯表示音乐声音大小情况​

3、LM386芯片对音频信号进行放大

二、使用步骤

基于51单片机的音乐喷泉控制系统是一种结合音频信号处理与机电控制的综合性设计,其核心功能包括音乐信号采集、水柱高度调节、灯光同步控制等。

三、硬件资源

1、51单片机核心模块

2、LM386放大电路模块

3、ADC模块

4、蜂鸣器模块

5、流水灯模块

四、软件设计

#include <reg52.h> //调用单片机头文件

#include <intrins.h>

#define uchar unsigned char //无符号字符型 宏定义 变量范围0~255

#define uint unsigned int //无符号整型 宏定义 变量范围0~65535

sbit out=P3^7; //水泵IO口定义

sbit led1=P0^0; //发光二极管IO口定义

sbit led2=P0^1; //发光二极管IO口定义

sbit led3=P0^2; //发光二极管IO口定义

sbit led4=P0^3; //发光二极管IO口定义

sbit led5=P0^4; //发光二极管IO口定义

sbit led6=P0^5; //发光二极管IO口定义

sbit led7=P0^6; //发光二极管IO口定义

sbit led8=P0^7; //发光二极管IO口定义

//AD0832接口

sbit ADCLK =P1^2;

sbit ADDI = P1^3;

sbit ADDO = P1^3;

sbit ADCS = P1^0;

/***************************************************************

* 名称 : delay_10us()

* 功能 : 延时1ms函数

* 输入 : q

* 输出 : 无

****************************************************************/

void delay_10us(uint q)

{

uint i,j;

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

for(j=0;j<5;j++);

nop();

}

void main()

{

while(1)

{

adc0832(1,0);

delay_10us(100);

}

}

五、实验现象

演示视频:

相关推荐
没有医保李先生18 小时前
CAN协议入门
c语言·单片机
药95519 小时前
STM32开发(FreeRTOS实时操作系统)
stm32·单片机·嵌入式硬件
CoderBob20 小时前
【easy_tools】一个跨平台裸机工具库,包含任务/堆栈/消息/定时器/日志等实现
c语言·驱动开发·单片机·嵌入式硬件
大河qu20 小时前
嵌入式/STM32串口printf打印字符串,多出来的数据是哪里来的?
stm32·usart·printf·串口打印·打印异常
药95521 小时前
STM32开发(中断模式:外部中断、串口中断)
stm32·单片机·嵌入式硬件
文火冰糖的硅基工坊21 小时前
[硬件电路-320]:模拟电路与数字电路,两者均使用晶体管(如BJT、MOSFET),但模拟电路利用其线性区,数字电路利用其开关特性。
单片机·嵌入式硬件·数学建模·fpga开发·系统架构·信号处理
辰哥单片机设计21 小时前
D01粉尘传感器详解(STM32)
单片机·嵌入式硬件
兆龙电子单片机设计1 天前
【STM32项目开源】STM32单片机厨房安全监测系统
stm32·单片机·物联网·开源·自动化
10001hours1 天前
C语言第19讲
c语言·开发语言
谁刺我心1 天前
STM32环境配置keil5【保姆级】
stm32·keil5