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

}

}

五、实验现象

演示视频:

相关推荐
祈安_3 天前
C语言内存函数
c语言·后端
norlan_jame5 天前
C-PHY与D-PHY差异
c语言·开发语言
czy87874755 天前
除了结构体之外,C语言中还有哪些其他方式可以模拟C++的面向对象编程特性
c语言
悠哉悠哉愿意5 天前
【单片机学习笔记】串口、超声波、NE555的同时使用
笔记·单片机·学习
m0_531237175 天前
C语言-数组练习进阶
c语言·开发语言·算法
Lester_11015 天前
STM32霍尔传感器输入口设置为复用功能输入口时,还能用GPIO函数直接读取IO的状态吗
stm32·单片机·嵌入式硬件·电机控制
LCG元5 天前
低功耗显示方案:STM32L0驱动OLED,动态波形绘制与优化
stm32·嵌入式硬件·信息可视化
三佛科技-187366133975 天前
120W小体积碳化硅电源方案(LP8841SC极简方案12V10A/24V5A输出)
单片机·嵌入式硬件
z20348315205 天前
STM32F103系列单片机定时器介绍(二)
stm32·单片机·嵌入式硬件
古译汉书5 天前
【IoT死磕系列】Day 7:只传8字节怎么控机械臂?学习工业控制 CANopen 的“对象字典”(附企业级源码)
数据结构·stm32·物联网·http