资源描述
.
电 子 系 统 设 计
大
作
业
课 题: 简易音乐喷泉的制作
组 员:
任课老师:
教育资料
目 录
一、 设计任务和分析 1
二、 硬件电路设计 1
2.1总体设计 1
2.2各模块设计 2
2.2.1单片机最小系统 2
2.2.2 A/D转换模块 2
2.2.3 音频放大模块 3
2.2.4 LED灯及电机 3
三、 程序设计 4
3.1主程序设计 4
3.1.1设计框图 4
3.1.2程序代码 4
3.2 A/D转换程序设计 5
3.2.1 A/D转换程序原理 5
3.2.2 A/D转换程序框图 6
3.2.3 A/D转换子程序代码 7
3.3 PWM调压设计 8
3.3.1 程序框图 8
3.3.2 PWM调压子程序 8
四、 调试和测试结果分析 10
4.1调试 10
4.2 结果分析 10
一、 设计任务和分析
基本任务:用MCS-51单片机设计一个音乐喷泉,要实现喷水高度的连续控制,就必须能够调节喷头出水水压,而通过调节水泵转速可以达到平滑调节水压的目的。系统采用对单片机进行编程,通过单片机输出改变的PWM来控制直流电机工作转速,进而使水柱发生变化。当有音乐信号时,获取声音强度,通过A/D转换采集音频电压强度,再通过软件计算占空比输出PWM,作用到电机上,使喷头产生随音乐起伏的效果。同时通过将PWM的占空比与设定的8档值比较来控制8盏LED灯随音乐起伏的效果。
二、 硬件电路设计
2.1总体设计
本设计方案为当有音乐信号时,获取声音强度,通过A/D转换采集音频电压强度,再通过软件计算占空比输出PWM,作用到电机上,使喷头产生随音乐起伏的效果。同时通过将PWM的占空比与设定的8档值比较来控制8盏LED灯随音乐起伏的效果。
单片机
AD转换
功放
喇叭
频谱彩灯显示
驱动
水泵
电源
图2.1 总体设计图
2.2各模块设计
2.2.1单片机最小系统
STC89C52单片机的最小系统电路包含以下几个部分:
u 单片机供电电路:AT89S52需要具有可靠的5V供电,在电路图中的VCC和GND为供电网络标识符;
图 2.2
u 振荡电路:AT89S52需要一个稳定的振荡电路才能够正常工作,在该电路采用了24Mhz的晶振作为AT89S52的时钟源;
u 复位电路:复位电路是单片机正常运行的一个必要部分,复位电路应该保证单片机在上电的瞬间进行一次有效的复位,在单片机正常工作时将RST引脚置低。此外通过一个按键进行手动复位,在单片机运行不正常时使用。
2.2.2 A/D转换模块
ADC0832 是美国国家半导体公司生产的一种8 位分辨率、双通道A/D转换芯片。
ADC0832 具有以下特点:
· 8位分辨率;
· 双通道A/D转换;
· 输入输出电平与TTL/CMOS相兼容;
· 5V电源供电时输入电压在0~5V之间;
· 工作频率为250KHZ,转换时间为32μS;
· 一般功耗仅为15mW;
图 2.3
· 8P、14P—DIP(双列直插)、PICC 多种封装
2.2.3 音频放大模块
LM386是一种音频集成功放,具有自身功耗低、更新内链增益可调整、电源电压范围大、外接元件少和总谐波失真小等优点的功率放大器,广泛应用于录音机和收音机之中。
LM386特性:
l 静态功耗低,约为4mA,可用于电池供电;
l 工作电压范围宽,4-12V or 5-18V;
l 外围元件少;
图 2.4
l 电压增益可调,20-200;
l 低失真度;
2.2.4 LED灯及电机
图2.5 电机驱动电路 图2.6 LED电路
教育资料
三、 程序设计
3.1主程序设计
开始
A/D采集
PWM调压
3.1.1设计框图
图3.1 主程序框图
3.1.2程序代码
void main()
{
while(1)
{
penquan(); //调用PWM调压函数,通过延时改变输出高低电平,
//并根据占空比控制LED
}
}
3.2 A/D转换程序设计
3.2.1 A/D转换程序原理
图3.2 ADC0832通道选择
如图2.1 所示,当SGL与ODD2 位数据分别为“1”、“0”时,只对CH0 进行单通道转换。当2位数据为“1”、“1”时,只对CH1进行单通道转换。当2 位数据为“0”、“0”时,将CH0作为正输入端IN+,CH1作为负输入端IN-进行输入。当2 位数据为“0”、“1”时,将CH0作为负输入端IN-,CH1 作为正输入端IN+进行输入。
图3.3 ADC0832转换时序图
当时钟信号到第3 个脉冲的下降沿时,DO/DI端开始利用数据输出DO进行转换数据的读取。从第4个脉冲下降沿开始由DO端输出转换数据最高位DATA7,随后每一个时钟下降沿DO端输出下一位数据。直到第11个时钟脉冲时发出最低位数据DATA0,一个字节的数据输出完成。也正是从此位开始输出下一个相反字节的数据,即从第11个时钟下降沿输出DATD0。随后输出8位数据,到第19 个时钟下降沿时数据输出完成,也标志着一次A/D转换的结束。最后将CS置高电平禁用芯片,直接将转换后的数据进行处理就可以了。
3.2.2 A/D转换程序框图
否
是
开始
初始化
通道选择
启动A/D转换
读取一位数据
8位读取完毕?
读取1位校验数据
8位读取完毕?
两次数据相等?
返回转换值
返回0
返回
是
是
否
否
图3.4 A/D转换程序框图
3.2.3 A/D转换子程序代码
unsigned char ad0832read(bit SGL,bit ODD)
{
unsigned char i=0,value=0,value1=0;
SCL=0;
DO=1;
CS=0; //开始
SCL=1; //第一个上升沿
SCL=0;
DO=SGL;
SCL=1; //第二个上升沿
SCL=0;
DO=ODD;
SCL=1; //第三个上升沿
SCL=0; //第三个下降沿
DO=1;
for(i=0;i<8;i++)
{
SCL=1;
SCL=0; //开始从第四个下降沿接收数据
value<<=1;
if(DO)
value++;
}
for(i=0;i<8;i++)
{ //接收校验数据
value1<<=1;
if(DO)
value1+=0x80;
SCL=1;
SCL=0;
}
CS=1;
SCL=1;
if(value==value1) //与校验数据比较,正确就返回数据,否则返回0
return value;
return 0;
}
3.3 PWM调压设计
开始
读取音频电压
更新PWM占空比
输出PWM低电平
根据PWM低电平时间软件延时
根据PWM占空比控制8盏LED亮灭,共8档
输出PWM高电平
根据PWM高电平时间软件延时
返回
3.3.1 程序框图
图3.5 PWM调压程序框图
3.3.2 PWM调压子程序
void penquan() //PWM调压
{
uchar h1,h2,date;
date=ad0832read(1,0); //读取音频信号电压值,通道CH0
h2= 255-date; //取PWM占空比,h2为低电平时间,h1为高电平时间
h1=h2*10; //占空比放大十倍,增加分辨率
out=0; //输出PWM低电平
delay((h2-100)); //PWM低电平延时
if(h1>300) led1=1; else led1=0;
if(h1>700) led2=1; else led2=0;
if(h1>1000) led3=1; else led3=0;
if(h1>1300) led4=1; else led4=0;
if(h1>1600) led5=1; else led5=0;
if(h1>1800) led6=1; else led6=0;
if(h1>2000) led7=1; else led7=0;
if(h1>2200) led8=1; else led8=0;
out=1;
delay((date-100));
}
四、 调试和测试结果分析
4.1调试
调试分为两步,一是硬件调试,二是软件调试。本人主要负责软件调试也参与了硬件调试。在硬件调试方面由于电机运转会给电路带来噪声,想要完全去除噪声在现有条件下很难做到,因此我们只能尽量减少了噪声。查阅资料发现电机的噪声对电源影响较大,于是在电源模块增加了滤波处理,主要通过与地之间串接电容来实现。另一方面,在LM386功放输出端加了大电容接喇叭来减少输出到喇叭的噪声。同时由于音频电路对走线有较高要求,限于经验不足,未做到较完善的考虑,仅将喇叭接线的地尽量远离电源输入的地。经过以上改动后,噪声有明显减少,但不能完全消除。并且,功放的放大倍数对噪声也有影响。放大倍数大,会将噪声一并放大。虽然减小放大倍数可以一定程度上减小噪声,但是随着放大倍数的减小,A/D转换的电压范围也随之减小,即PWM的分辨率减小而使喷水的变化和LED的变化都随之减小,效果减弱。因此减小放大倍数时要适度。
在软件调试方面,由于软件只有两部分组成,即A/D转换和PWM调压。A/D转换方面不需要十分精确的数据,也考虑到喷泉是实时性的,对反应速度有要求,所以没有用到滤波处理。PWM调压主要实现了电机的PWM输出和LED的控制。鉴于两者有一定联系,将两部分整合在了一起,也可以提高反应速度。由于电机的调速是由PWM来控制,因此软件通过根据占空比分别延时输出高电平和低电平来实现PWM。其占空比的计算则通过AD采集的8位分辨率决定,设AD采集值为U。因为满量程为255,高电平时间为U,则低电平时间为255-U.。另外,通过U的值与预设的8档量程比较来控制LED的变化效果,电压越高,亮的LED就越多。由于AD为8位精度,而单片机对浮点数的运算能力又有限。所以为了提高精度,将U放大10倍。这样LED的变化效果可以更加明显。
4.2 结果分析
通过调试,已基本可以实现设计目标。通过喇叭输出的音乐在高音量时基本听不出噪声,且LED的变化和喷水的变化已基本能达到预想的效果。在此基础上未来可以通过增加电机和喷头来实现连环喷水的效果,且LED也可以设置成专业的彩色频谱灯,来实现更加令人赏心悦目的效果。
图4.1 实验效果图1
图4.2 图4.1 实验效果图2
展开阅读全文