目录
一、主要功能
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);
}
}
五、实验现象
演示视频: