音乐喷泉作为一种观赏性较高的艺术水景已经得到了越来越广泛的应用。论述了一个以C8051F单片机为核心的适于室内使用的小型移动式音乐喷泉控制系统,给出了单片机控制电路,水泵控制电路,彩灯控制电路及部分单片机I/O口初始化程序。喷泉水型随音乐的高低旋律发生变化,再辅以LED彩灯的亮灭,便于移动,实用性强,适宜家庭和室内观赏。
关键词: C8051F单片机;音乐喷泉;单片机控制
目前在公共场所喷泉一般只是将音乐和喷泉高低简单配合, 无法真正体现音乐的旋律、节奏;或者是采用了高成本复杂的控制系统,搭建复杂的外围电路实现功能;并且多数只能在现场观赏,不能进入家庭。本文介绍基于C8051F单片机控制的小型室内移动式音乐喷泉。它使用了较少的外围器件和较为简单的电路设计,成本低、体积小、水型变换多样,实用性强,适合室内观赏。
1 系统设计
本系统采集音乐信号,根据音乐信号的强弱来控制水泵电机的转速以及LED彩灯的亮灭。系统的总体结构如图1所示,由音乐输入部分、音响放大部分、单片机控制部分和输出控制部分组成。C8051F单片机作为系统的主芯片,一方面采集音乐信号,另一方面依据采集到的音乐信号的强弱输出延时不等的矩形波来控制可控硅的导通时间,进而控制水泵电机的转速,从而达到控制喷水高度的目的。彩灯的亮灭也由单片机依据音乐采样值的大小来控制。
2 系统硬件设计
硬件系统由单片机电路、音频电路、水泵控制电路、彩灯控制电路、电源电路等组成。
2.1 单片机电路
单片机要采集音乐信号,并据此调节I/O口的输出来控制水泵和彩灯。主芯片选用C8051F系列单片机中的C8051F310。C8051F系列单片机是集成的混合信号片上系统SoC,它具有与MCS-51内核及指令集完全兼容的微控制器。除了具有标准8051的数字外设部件之外,片内还集成了数据采集和控制系统中常用的模拟部件和其他数字外设及功能部件,包括模拟多路选择器、可编程增益放大器、ADC、DAC、电压比较器、电压基准、温度传感器等等。
这样不仅可以简化单片机的外围电路,而且处理速度和灵活度都大大增强,并且具有片内调试电路,通过10针的JTAG接口可以进行非侵入式、全速的在系统调试,设计调试周期短。所选的C8051F310内部集成了一个10位ADC,两个模拟比较器,4个通用16位计数器/定时器,1个可编程精密内部振荡器,32脚LQFP封装,2.7V~3.6V供电电压。
C8051F310的最小系统电路如图2所示。包括复位和晶振,JTAG程序下载和调试端口,AS1117供电芯片,把单片机的I/O口都用插针转接出来以便于设计和调试。
2.2 音频电路
音频电路由音响放大器和音乐预处理电路两部分组成。音响放大电路将音乐外放,包括两级放大和一级功放。音乐预处理电路是将音频信号经由放大滤波输入到单片机供片内AD采集。整个系统采用单电源5V供电,选用可以使用单电源供电的运算放大器LM324。功放由4V~12V供电,功率由可达1.25W的LM386完成,可以推动喇叭达到扬声器的作用。信号经音频电路初步处理后送入单片机内部AD,由定时器控制以8k采样率采集音乐信号。
2.3 水泵控制电路
本系统采用可控硅调相的方法控制喷泉水泵的转速。电路如图3所示,由单片机的I/O口输出矩形波,通过光耦控制可控硅的导通角,进而控制水泵电机的转速,调整喷泉的输出高度。选用单相可控硅BT169控制220V的双向交流电。交流通过二极管1N4007(耐压值1000V)组成的整流桥后变为100Hz脉动的直流,由单片机P0.4依据音乐采样结果输出矩形波,通过光耦控制可控硅的通断,以达到调相的目的。
早期的单片机,代码是交给芯片制造商制成掩膜ROM。有两种加密的机制,一是彻底破坏读取代码的功能,无论是开发者还是使用者都永远无法读取其中的内容。从安全上来说,这种方式很彻底,但是已经无法检查ROM中的代码了。另一种方法是不公开读取方法,厂商仍可以读取代码。这种方式留有检查代码的可能性,但是并不能算是一种真正的“加密”,被破解的可能性是存在的。
采用这种方法关键是要保证矩形波与100Hz脉动直流保持同相,由AD采样的结果决定100Hz脉动直流的每一个周期有多长时间是导通的。所以将100Hz脉动直流分压后作为单片机内部比较器的一个输入端,另一个输入端接一个由5V分来的固定电压(本系统使用了0.5V),当比较器的输出结果发生变化时,由定时器定一段时间(本系统定为100Hz脉动直流由0.5V下降到0V的时间),这样就找到了每个周期的起点,然后再根据AD采样的结果决定不等的延时来输出矩形波导通可控硅。AD采样结果大,每个周期的延时短,可控硅导通的时间长,水泵电机转速快,反之亦然。
2.4 彩灯控制电路
彩灯是为了渲染色彩增强节奏感而设计的。电路如图4所示,使用高亮LED,有红绿蓝白黄五种颜色,设计成内外环绕的三圈,每圈六个灯,颜色搭配得当。每圈的灯并联占用一个I/O口,用三极管8050放大提供足够的电流驱动,依据音乐采样值大小决定点亮的灯的圈数。
3 系统软件设计
在硬件上本系统使用了单片机内部的AD、比较器、定时器、中断等资源,故软件编程就包含这几个方面的设置和使用。定时器T0控制AD的采样速率。定时器T1在比较器的下降沿中断中被启动,延时一段时间,找到100Hz脉动直流每个周期的起点。定时器T2在定时器T1的中断中被启动,依据不同的AD采样值延时不等的时间,在T2的中断程序中输出矩形波启动可控硅。
单片机的I/O口采用交叉开关配置,用端口输入方式寄存器(PnMDIN)选择所有端口引脚的输入方式(模拟或数字,复位后为数字输入方式),用端口输出方式寄存器(PnMDOUT)选择所有端口引脚的输出方式(漏极开路或推挽,复位后为漏极开路输出方式),被配置为模拟输入的端口要用端口跳过寄存器(PnSKIP)选择为被交叉开关跳过。I/O口初始化程序如下:
XBR1=0x40; //交叉开关使能
P0MDOUT=0x10 | P0MDOUT; //P0.4为推挽输出,
//作为矩形波输出口
P1MDIN=0xfb & P1MDIN;//P1.2为模拟输入,
//作为音乐输入口
P1SKIP=0x04 | P1SKIP; // P1.2被交叉开关跳过
AMX0P=0x02; //设置P1.2为AD输入通道
AMX0N=0xff;
P1MDIN=0xde & P1MDIN; //P1.0,P1.5为比较器模拟输入
P1SKIP=0x21 | P1SKIP; //P1.0,P1.5被交叉开关跳过
CPT0MX=0x10; //选择P1.0为比较器正输入,
//P1.5为比较器负输入
4 设计结果
设计的音乐喷泉LED彩灯经过热缩管的绝缘处理后用导线缠绕在塑料软管上,然后再固定在盆内。围绕塑料软管开几个小孔,再安装塑料插头作为喷水装置。可以用电脑或者mp3作为音源,喷泉高低和彩灯随着音乐的启停节奏发生变化。系统的主要控制电路被安装在盒子里放置于旁边,注意绝缘,安全用电。
设计的喷泉控制系统基于C8051F单片机,采用了音频放大,可控硅控制等简洁的外围电路,经过焊接、组装、调试后,可以很好实现控制功能,具有很强的实用性,尤其是具有体积小、易移动、适合家庭和室内使用的特点。本方案也可以在功能上加以扩展,如加上对乐曲的频域分析,结合频域特点控制水泵;还可以制作雾化器来渲染效果等
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
单片机出现的历史并不长,但发展十分迅猛。它的产生与发展和微处理器的产生与发展大体同步,自1971年美国Intel公司首先推出4位微处理器以来,它的发展到目前为止大致可分为5个阶段。下面以Intel公司的单片机发展为代表加以介绍。