毕设答辩-简易音乐喷泉制作

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
STC89C52单片机的最小系统电路包含以 下几个部分:
单片机供电电路:AT89S52需要具有 可靠的5V供电,在电路图中的VCC和GND 为供电网络标识符;
振荡电路:AT89S52需要一个稳定的 振荡电路才能够正常工作,在该电路采 用了24Mhz的晶振作为AT89S52的时钟源 ;
复位电路:复位电路是单片机正常运 行的一个必要部分,复位电路应该保证 单片机在上电的瞬间进行一次有效的复 位,在单片机正常工作时将RST引脚置 低。此外通过一个按键进行手动复位, 在单片机运行不正常时使用。
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;
当时钟信号到第3 个脉冲的下降沿时,DO/DI端开始利用数据输出 DO进行转换数据的读取。从第4个脉冲下降沿开始由DO端输出转换数据 最高位DATA7,随后每一个时钟下降沿DO端输出下一位数据。直到第11 个时钟脉冲时发出最低位数据DATA0,一个字节的数据输出完成。也正 是从此位开始输出下一个相反字节的数据,即从第11个时钟下降沿输出 DATD0。随后输出8位数据,到第19 个时钟下降沿时数据输出完成,也 标志着一次A/D转换的结束。最后将CS置高电平禁用芯片,直接将转换 后的数据进行处理就可以了。
简易音乐喷泉的制作
任课老师: 组员:
目录
1、设计任务和硬件设计 2、软件设计 3、调试和测试结果分析
设计任务
基本任务:用MCS-51单片机设计一个音乐喷泉,要实现 喷水高度的连续控制,就必须能够调节喷头出水水压,而通 过调节水泵转速可以达到平滑调节水压的目的。系统采用对 单片机进行编程,通过单片机输出改变的PWM来控制直流电 机工作转速,进而使水柱发生变化。当有音乐信号时,获取 声音强度,通过A/D转换采集音频电压强度,再通过软件计 算占空比输出PWM,作用到电机上,使喷头产生随音乐起伏 的效果。同时通过将PWM的占空比与设定的8档值比较来控制 8盏LED灯随音乐起伏的效果。
h2= 255-date; 平时间,h1为高电平时间
h1=h2*10; out=0; delay((h2-100));
//读取音频信号电压值,通道CH0 //取PWM占空比,h2为低电
//占空比放大十倍,增加分辨率 //输出PWM低电平 //PWM低电平延时
if(h1>300) led1=1; else led1=0;
结果分析:
通过调试,已基本可以实现设计目标。通过喇叭输出的音 乐在高音量时基本听不出噪声,且LED的变化和喷水的变化已基 本能达到预想的效果。在此基础上未来可以通过增加电机和喷头 来实现连环喷水的效果,且LED也可以设置成专业的彩色频谱灯 ,来实现更加令人赏心悦目的效果。
2020/3/1
Thanks!
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; //开始从第四个下降沿接收数据
2020/3/1
主程序设计
void main()
{ while(1) { penquan()//调用PWM调压函数,通 过延时改变输出高低电平, //并根据占空比控制LED }
}
开始 A/D采集 PWM调压
ቤተ መጻሕፍቲ ባይዱ
A/D转换程序原理
如图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+进行输入。
调试和测试结果分析:
在软件调试方面,由于软件只有两部分组成,即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的变化效果可以更 加明显。
总体设计
本设计方案为当有音乐信号时,获取声音强度,
通过A/D转换采集音频电压强度,再通过软件计算占 空比输出PWM,作用到电机上,使喷头产生随音乐 起伏的效果。同时通过将PWM的占空比与设定的8档 值比较来控制8盏LED灯随音乐起伏的效果。
喇叭
频谱彩灯显示
功放
AD转换
单片机 驱动
水泵
电源
单片机的最小系统
A/D转换电路
ADC0832 是美国国家半导体公司生产的一种8 位分辨率、双通道A/D转换芯片。 ADC0832 具有以下特点: · 8位分辨率; · 双通道A/D转换; · 输入输出电平与TTL/CMOS相兼容; · 5V电源供电时输入电压在0~5V之间; · 工作频率为250KHZ,转换时间为32μS; · 一般功耗仅为15mW;
value<<=1;
if(DO)
value++; }
for(i=0;i<8;i++)
{
//接收校验数据
value1<<=1;
if(DO)
value1+=0x80;
SCL=1;
SCL=0;
}
CS=1;
则返回0
SCL=1; if(value==value1) //与校验数据比较,正确就返回数据,否
return value;
if(h1>2000) led7=1; else led7=0;
if(h1>2200) led8=1; else led8=0;
out=1;
delay((date-100));
}
调试和测试结果分析:
在硬件调试方面由于电机运转会给电路带来噪声,于是 在电源模块增加了滤波处理,主要通过与地之间串接电容来 实现。另一方面,在LM386功放输出端加了大电容接喇叭来 减少输出到喇叭的噪声。同时由于音频电路对走线有较高要 求,限于经验不足,未做到较完善的考虑,仅将喇叭接线的 地尽量远离电源输入的地。经过以上改动后,噪声有明显减 少,但不能完全消除。并且,功放的放大倍数对噪声也有影 响。放大倍数大,会将噪声一并放大。虽然减小放大倍数可 以一定程度上减小噪声,但是随着放大倍数的减小,A/D转 换的电压范围也随之减小,即PWM的分辨率减小而使喷水的 变化和LED的变化都随之减小,效果减弱。因此减小放大倍 数时要适度。
return 0;
}
PWM调压设计:
开始
读取音频电压
2020/3/1
更新PWM占空比
输出PWM低电平
根据PWM低电平时 间软件延时
根据PWM占空比控 制8盏LED亮灭,共8 档
返回
根据PWM高电平时 间软件延时
输出PWM高电平
PWM调压子程序:
void penquan() //PWM调压
{
uchar h1,h2,date; date=ad0832read(1,0);
开始
返回
初始化 通道选择 启动A/D转换 读取一位数据
返回转换值

两次数 据相等 ? 是
8位读取 完毕?
返回0 否

8位读取 完毕?

是 读取1位校验数据
A/D转换子程序代码:
unsigned char ad0832read(bit SGL,bit ODD)
{
unsigned char i=0,value=0,value1=0;
·8P、14P—DIP(双列直插)、PICC 多种封装
音频放大电路
LM386是一种音频集成功放,具有自身功 耗低、更新内链增益可调整、电源电压范 围大、外接元件少和总谐波失真小等优点 的功率放大器,广泛应用于录音机和收音 机之中。
LM386特性: 静态功耗低,约为4mA,可用于电池供
电; 工作电压范围宽,4-12V or 5-18V; 外围元件少; 电压增益可调,20-200; 低失真度;
相关文档
最新文档