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

}

}

五、实验现象

演示视频:

相关推荐
cen__y11 小时前
Linux12(Git01)
linux·运维·服务器·c语言·开发语言·git
社交怪人11 小时前
【算平均分】信息学奥赛一本通C语言解法(题号2071)
c语言·开发语言
chao18984412 小时前
STM32 HAL库驱动AT24C02 EEPROM例程
stm32·单片机·嵌入式硬件
卢锡荣12 小时前
单芯通吃,盲插标杆 —— 乐得瑞 LDR6020,Type‑C 全场景互联 “智慧芯”
c语言·开发语言·计算机外设
AI科技星13 小时前
《数学公理体系·第三部·数术几何》(2026 年版)
c语言·开发语言·线性代数·算法·矩阵·量子计算·agi
kkeeper~13 小时前
0基础C语言积跬步之字符函数与字符串函数(上)
c语言·开发语言
不会武功的火柴13 小时前
SystemVerilog语法(8)-有限状态机(FSM)
嵌入式硬件·fpga开发·自动化·ic验证·rtl·uvm方法学
東隅已逝,桑榆非晚14 小时前
字符函数和字符串函数
c语言·笔记
猫猫的小茶馆15 小时前
【Python】函数与模块化编程
linux·开发语言·arm开发·驱动开发·python·stm32
feifeigo12315 小时前
STM32矩阵键盘驱动(库函数版)实现
stm32·矩阵·计算机外设