收藏 分销(赏)

毕设-简易音乐喷泉设计.doc

上传人:天**** 文档编号:10696942 上传时间:2025-06-10 格式:DOC 页数:22 大小:587.55KB 下载积分:10 金币
下载 相关 举报
毕设-简易音乐喷泉设计.doc_第1页
第1页 / 共22页
毕设-简易音乐喷泉设计.doc_第2页
第2页 / 共22页


点击查看更多>>
资源描述
. 电 子 系 统 设 计 大 作 业 课 题: 简易音乐喷泉的制作 组 员: 任课老师: 教育资料 目 录 一、 设计任务和分析 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
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 学术论文 > 毕业论文/毕业设计

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服