基于单片机的音乐喷泉设计第一章音乐喷泉控制系统硬件设计1.1控制系统硬件总设计方案1.2音乐信号的采集1.2.1 音频放大电路的设计1.2.2 采样定理1.3 单片机电路1.3.1 单片机的概述1.3.2 时钟电路的设计1.4 AD转换电路1.4.1 ADC0809与单片机AT89C51的连接1.4.2输入电路1.5潜水泵调速硬件方案设计1.6灯光硬件方案设计1.7解决系统时间滞后硬件电路设计.第二章喷泉控制系统软件设计2.1喷池数据2.2主程序框图.2.3 控制潜水泵软件设计模块2.3.1 潜水泵开关调速的原理2.3.2潜水泵开关调速的软件设计2.4控制电磁阀软件设计模块2.5 歌曲存储模块2.5.1音频脉冲的产生2.5.2音乐程序2.6灯光控制模块2.7看门狗子程序2.7实验仿真第一章音乐喷泉控制系统硬件设计1.1 控制系统硬件总体设计方案该音乐喷泉控制系统的总体结构如图2.1所示,由音乐输入系统、数模转换系统、单片机控制系统和输出控制系统等组成。
图1.1 系统总体结构框图1.2音乐信号的采集前面已经介绍过,本文的研究针对的是采用外部音源的喷泉系统,因此在对音乐信号进行特征识别前首先要完成对模拟音乐信号的采集。
音乐信号的采集主要包括音频放大和A/D 转换两个过程,下面分别进行分析。
1.2.1 音频放大电路的设计外部音源信号的幅度一般较弱,因此必须要对原信号进行放大处理后才能送入A/D 转换器。
本文选择了LM386 芯片设计音频放大电路。
LM386 是美国国家半导体公司(NS)推出的系列功率放大集成电路的一种,LM386 具有功耗低、工作电压范围宽、所需外围元件少等特点,在电子设备的音频放大电路设计中应用非常广泛,它使用了10 只晶体管构成了输入级、电压增益和电流驱动级。
其中T1~T6 组成PNP 型复合差分放大器,T5、T6 为镜像恒流源,作为T3、T4 的有6/32源负载,使输入级有稳定的增益。
电压增益级由接成共发射极状态的T7 承担,其负载也使用了恒流源,整个集成功放的开环增益主要由该级决定。
T8、T9 复合为一个PNP 管,和T10 共同组成互补对称射极输出电路,以供给负载以足够的电流。
D1、D2 提供了T8、T9、T10 所需的偏置,使末级偏置在甲乙类状态。
R5~R7 构成内部反馈环路。
从图 3.2.1 可以看出,LM386 采用双列8 脚封装结构,它的工作电压范围为4~12V,静态电流4mA,最大输出功率660mW,最大电压增益46dB,增益带宽300kHz,谐波失真0.2%。
图1.2.1 LM386 封装形式及引脚定义在LM386 的DataSheet 上,提供了两种典型放大电路的设计方案。
一种是在LM386 的 1 脚和8 脚之间不接其他元件,此时放大电路的增益仅由内部电阻R5~R7决定,为20 倍数(26dB),这种方式外部电路元件最少,也最为经济。
另一种通过在 1 脚和8 脚之间串接不同的阻容元件,改变放大电路的交流反馈量,从而改变放大电路的闭环增益。
音乐信号的放大采集如图 2.2.2 所示。
外部音源(声卡、CD 机等)的模拟音乐信号分左、右声道分别进入放大电路,经过信号放大后,得到幅值放大后的音频信号。
从图 3.2.2 可以看出放大电路的具体设计。
在LM386 的 1 脚和8 脚之间串接一个10 微法的电容C4,使内部电阻R6 被交流旁路,放大电路的增益能达到最大值,200 倍数(46dB)。
再对音频放大电路的外围电路进行设计,电路中电容C1、C6 作为隔直电容,电位器P1 用于调节音量的大小,元件R2、C5 有助于旁路高频噪音和改善输出的音质。
电容C3 作为去耦电容,一方面是本集成电路的蓄能电容,另一方面旁路掉该器件的高频噪声。
电容C2 则是作为旁路电容,将信号的中高频噪音旁路到地。
经过放大电路的音频信号就送入A/D 转换器进行采样,这里A/D转换器要设置为双极7/32性,即能接收负信号。
图 2.2.2 音乐信号放大采集1.2.2 采样定理采样是指用一较高频率的开关脉冲对模拟信号进行取样,取出脉冲到来时刻所对应的模拟信号的幅度,这样就可以得到一连串幅度变化的离散脉冲。
用这些离散脉冲序列代替原来时间上连续的信号,也就是在时间上将模拟信号离散化。
如图 3.2.2 所示,在对音乐信号进行放大处理后,就要通过A/D 转换将模拟信号采集进计算机,这就是音乐信号的采样。
我们在对一个连续的音乐信号进行采样时,为了使采样后的样本序列能够包含足够的信息以使其能够较正确地重现原来的模拟信号,在采样时应当使采样频率满足采样定理的要求。
采样定理的描述为“对一个模拟信号进行离散化时,只要满足采样频率fs 大于或等于被采样信号的最高频率fm的2 倍,就可以通过理想的低通滤波器,从样本值序列信号中无失真地恢复出原始模拟信号”,这里的fm称为香农频率,这个采样定理又称为香农采样定理。
实际应用中为了较好的防止频谱混叠失真,采样频率一般要稍大8/32于信号最高频率的 2 倍。
比如乐曲的音域频段如果在50Hz~4000Hz 内,就要将A/D 转换器的采样频率选定为10kHz,才能满足香农采样定理的要求。
1.3 单片机电路单片机要采集音乐信号,并据此调节I/O口的输出来控制水泵和彩灯。
主芯片选用AT89C51单片机。
AT89C51单片机是一个低功耗,高性能的51内核的CMOS 8位单片机,片内含8K空间的可反复擦写1000次的Flash只读存储器,具有256bytes的随机存取数据存储器(RAM),32个I/O口,1个看门狗定时器,3个16位可编程定时器,具有ISP功能,能够满足设计要求。
使用简单且价格非常低廉。
故系统的主控制器采用此方案。
图2.3 89C51芯片1.3.1 单片机的概述AT89C51是美国ATMEL公司生产的低电压,高性能CMOS 8位单片机,片内含4K bytes的可反复擦写的只读程序存储器(PEROM)和128 bytes的随机存取数据存取器(RAM),器件采用ATMEL公司的ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元。
AT89C51提供一下标准功能:4K字节Flash闪速存储器,128字节内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个双全工串行通信口,片内震荡器及时钟电路。
同时,AT89C51可降至0Hz9/32的静态逻辑操作,并支持两种软件可选的节电工作模式。
空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。
掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。
单片机有四个数据输出端口,P0口、P1口、P2口、P3口。
由于P3口还有许多特殊功能,如读写控制、串行通信、外部中断等功能,所以P3口不用作数据输入输出端口。
P0口具有很强的带负载的能力,除了用作地址总线低八位以外,还兼作访问外接扩展程序内存时数据总线以及与A/D转换器ADC0809L连接的资料线。
P1口、P2口带负载能力相对比教弱,而P2口需要用作访问外接内存的高八位地址线,因此P2口也不作为数据输入输出口,剩下的P1口作为资料输出口。
1.3.2 时钟电路的设计AT89C51芯片内部有一个高增益反相放大器,用于构成振荡器。
反相放大器的输入端为XTAL1,输出端为XTAL2两端跨接石英晶体及两个电容就可以构成稳定的自激振荡器,如图2—13所示:图2-13自激振荡器1.4 AD转换电路输入的电压为交流模拟量,不能直接送入单片机进行处理。
因此首先采用全桥整流,滤波。
使其成为直流信号,再采用全桥整流,滤波。
使其成为直流信号,再采用了ADC电路。
其中AD芯片为ADC0832。
ADC0832为8位分辨率A/D转换芯片,其最高分辨可达256级,可以适应一般的模拟量转换要求。
其内部电源输入与参考电压的复用,使得芯片的模拟电压输入在0~5V之间。
芯片转换时间仅为32 s,据有双数据输出可作为数据校验,以减少数据误差,转换速度快且稳定性强。
独立的芯片使能输入,使多器件挂接和处理器控制变得更加方便。
通过DI数据输入端,可以轻易的实现通道功能的选择。
串行通信节约单片机I/O资1.2.1音频放大电路的设计1.2.2采样定理1.3单片机电路1.3.1时钟电路设计1.4 AD转换电路1.4.1 ADC0809与单片机AT89C51的链接 1.4.2输入电路1.5 潜水泵调速硬件方案设计1.6灯光硬件方案设计1.7解决系统时间滞后硬件电路设计第二章喷泉控制系统软件设计2.1喷池数据2.2主程序框图2.3控制潜水泵软件设计模块2.3.1潜水泵开关调速的原理2.3.2潜水泵开关调速的软件设计2.4控制电磁阀软件设计模块2.5歌曲存储模块2.5.1音频脉冲的产生2.5.2音乐程序2.6灯光控制模块2.7看门狗子程序2.8实验仿真。