昆玉市网站建设_网站建设公司_ASP.NET_seo优化
2025/12/23 20:31:47 网站建设 项目流程

摘要
随着人们生活水平的提高和建立绿色城市的向往,音乐喷泉以其独特的魅力和特殊的功能,愈来愈成为休闲娱乐产业中的一项重要产品,音乐喷泉的兴建也越来越多。根据目前音乐喷泉的发展现状,介绍了一个以STC89C52单片机为核心的小型音乐喷泉控制系统。给出了一个简洁的单片机控制电路,本设计由STC89C52单片机电路、水泵控制电路、ADC0832采样电路、LM386功率放大器电路、LED灯显示电路和电源电路组成。通过ADC0832将音频信息采集,然后给单片机处理后,使灯光的亮灭、闪烁和喷泉水姿随音乐节奏而变化。同时通过LM386功率放大器和喇叭来播放音乐。
关键字:单片机;LM386;ADC0832;LED;音乐喷泉

第二章 方案的设计与论证

2.1控制方案的确定
本设计由STC89C52单片机电路+水泵控制电路+ADC0832采样电路+LM386功率放大器电路+LED灯显示电路+电源电路组成。
2.2控制方式的选择
2.2.1 单片机芯片的
方案一
采用可编程逻辑器件CPLD作为控制器,CPLD可以实现各种复杂的功能、规模大、密度高、体积小、稳定性高、I/O资源丰富、易于进行功能扩展。采用并行的输入输出方式,提高了系统的处理速度,适合作为大规模控制系统的控制核心。但本系统不需要复杂的逻辑功能,对数据的处理速度的要求也不是非常高。且从使用及经济的角度考虑,最终放弃了此方案。
方案二
采用ST公司的STC89C52单片机作为主控制器,STC89S52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程 Flash 存储器。该单片机功耗低、接口丰富,成本低廉,完全能满足本设计要求。
方案三
采用单片机芯片控制MSP430单片机是美国德州仪器(TI)推出的一种16位超低功 耗的混合信号处理器(Mixed Signal Processor),主要是针对实际应用需求,把许多模拟电路、数字电路和微处理器集成在一个芯片上,以提供“单片”混合信号处理的解决方案。MSP430F149是一个16位的、具有精简指令集的、超低功耗的混合型单片机,具有可靠性高、功耗低、扩展灵活、体积小、价格低和使用方便等优点,广泛应用于仪器仪表、专用设备智能化管理及过程控制等领域,有效地提高了控制质量与经济效益,已成为众多单片机系列中一颗耀眼的新星。然而其成本太高,故舍弃。
故选择方案二。
2.2.2 A/D采样芯片的选择
方案一
采用ADC0832芯片。ADC0832是美国国家半导体公司生产的一种 8 位分辨率、双通道 A/D 转换芯片。由于它体积小,兼容性强,性价比高而深受单片机爱好者及企业欢迎,其目前已经有很高的普及率。
方案二
采用PCF8591芯片。本系统选择PCF8591作为A/D采样芯片。PCF8591是一个单片集成、单独供电、低功耗、8-bit CMOS数据获取器件。PCF8591具有4个模拟输入、1个模拟输出和1个串行I²C总线接口。
根据性价比,选择方案一。
2.2.3扬声器驱动电路的选择
方案一
通过三极管8050对扬声器进行放大,此驱动电路简单,但是效率不高,而且声音大小不可调节。
方案二
采用LM386芯片,LM386是美国国家半导体公司生产的音频功率放大器,主要应用于低电压消费类产品。为使外围元件最少,电压增益内置为20。但在1脚和8脚之间增加一只外接电阻和电容,便可将电压增益调为任意值,直至200。输入端以地位参考,同时输出端被自动偏置到电源电压的一半,在6V电源电压下,它的静态功耗仅为24mW,使得LM386特别适用于电池供电的场合。
故选择方案二。

第三章硬件电路的设计

3.1系统的功能分析及体系结构设计
3.1.1系统功能分析
本设计由STC89C52单片机电路+水泵控制电路+ADC0832采样电路+LM386功率放大器电路+LED灯显示电路+电源电路组成。
1、本设计可以播放电脑、手机、MP3里面的音乐。
2、通过ADC0832芯片对音频信号的采集,转换为数字信号给单片机,然后PWM脉冲宽度调制控制水泵水柱对的高低。
3、同事有流水灯表示音乐大小情况。
3.1.2系统总体结构
本系统具体框图如下图所示:

系统框图
3.2模块电路的设计
3.2.1 STC89C52单片机核心系统电路设计
STC89C52RC是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有8K字节系统可编程Flash存储器。STC89C52使用经典的MCS-51内核,但是做了很多的改进使得芯片具有传统51单片机不具备的功能。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。具有以下标准功能:8k字节Flash,512字节RAM, 32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,3个16 位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。另外 STC89C52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35MHz,6T/12T可选。

第四章系统软件设计

完整的控制系统由硬件系统和软件系统组成,前一章主要阐述了系统的硬件电路的设计方案,若要充分发挥系统的设计功能,则需要支持硬件平台的软件程序,即烧写到单片机内部的程序。
4.1 编程语言选择
由于整个程序比较复杂,且计算量较大,用到了较多的浮点数计算,所以程序的编写采用了C语言。
对于大多数51系列的单片机,使用C语言这样的高级语言与使用汇编语言相比具有如下优点:
(1)不需要了解处理器的指令集,也不必了解存储器结构。
(2)寄存器分配和寻址方式由编译器进行管理,编程时不需要考虑存储器的地址和数据类型等细节。
(3)指定操作的变量选择组合提高了程序的可读性。
(4)可使用与人的思维更相近的关键字和操作函数。
(5)与使用汇编语言相比,程序的开发和调试时间大大缩短。
(6)C语言的库文件提供了许多标准的例程。
(7)通过C语言可实现模块化编程技术,从而可将已编制好的程序加到 新程序中。
(8)C语言可移植性好且非常普及,C语言编译器几乎适用于所有的目标系统,己完成的项目可以很容易的转换到其它的处理器或环境中与汇编语言相比,C语言在功能上、结构性、可读性、可移植性、可维护性上有明显的优势,易学易用。
4.2单片机程序开发环境
本设计中单片机开发环境是Keil uVision4,Keil uVision4开发软件是目前51系列单片机系统的主流程序开发软件,Keil uVision4是STC公司推出最新一代关于51系列单片机处理器的编译、连接和调试集成环境。可以降低开发周期,从而减少很多成本。Keil uVision4不仅提供了完整的Windows开发环境界面,支持C/C++语言开发,而且其C语言编辑效率很高,能够使开发者非常容易地使用C语言进行程序编程。其中Keil uVision4有以下特点:
(1)Keil uVision4软件同时支持WINXP和WIN7等多种操作系统,提供了丰富的库函数和功能强大的开发工具。
(2)Keil uVision4可以完成从编辑、编译、到连接、调试的一套开发流程。
(3)Keil uVision4 C51在Keil C51的基础上,增加了很多新的功能。如Keil uVision4更加增强了对内核微控制器的开发支持,并对Keil C51的开发形式和开发界面进行相应的改进。Keil uVision4软件界面如下图所示。

Keil uVision4开发界面图
4.3 Keil uVision4软件开发流程
首先,需要建立“Project”工程,点击Keil uVision4界面中菜单中“Project”,选择“New uVision Project”,为新建的工程命名后点击保存;然后选择开发单片机芯片的型号,本工程选择“STC89C52”,这样就完成了“Project”的建立;当工程建立完毕后,点击“Source Group”,可以往里面添加.c文件,点击Add就可以编辑了该文件了,也可以把常用的.c文件拷贝到建立的“Project”目录下面,最后一个完成的工程软件就建立完毕了。具体开发流程如图所示。

Keil uVision4软件开发流程图

第五章系统焊接与调试

5.1 电路焊接
手工焊接是常用原始的焊接方法,目前大量工厂焊接的生产基本上不采用原始方法了,但是普通元器件的修理、系统测试中经常使用原始的手工焊接。重要的是如焊接本质上出现问题,则会影响到整个控制系统的,可以这么说,焊接的会导致这个控制系统可不可以用的。手工焊接主要有如下四步组成的:
第一步开始焊接:
需要把需要焊接的地方打扫干净,主要去处油迹和灰尘,然后把需要焊接的元器件的两个角向一定的方向掰一掰,注意不能把元器件的脚相交在一起了,这样会影响焊接的。接下来让电烙铁头碰到需要焊接的元器件脚下,放上焊锡丝。此处需要注意的是,不能让烙铁头碰到其它元器件的脚了,要不然会把两个元器件焊接在一起了。
第二步给焊接升温:
当在完成第一步以后,接下来就是加热焊锡丝了,主要是将烧热的电烙铁放在器件管脚旁边,慢慢融化焊锡丝,需要注意电洛铁的温度和加热时间,若时间过长,很有可能焊坏面包板焊盘的,一般建议电洛铁温度调整在400℃左右,加热2秒钟左右,例外也要根据器件种类作出具体区别的。在焊接过程中,当需要把焊接好的元器件卸下来,则也需要给焊接处进行加热的,主要操作是首先在焊接处补好焊锡丝,使焊点是圆润的,然后用电洛铁在焊接处进行加热,在加热的过程中就可以直接把元器件卸下来了,此时一定要主要时间,要不然也会损坏焊盘的
第三部清理焊接面:
当在完成第二步时,有的时候会观察到焊接的不完美或者担心出现虚焊情况,这时候需要进行修改的。主要是两种情况的,第一种是焊锡不够,焊接点不圆润,这时需要给焊接处补焊锡,此时需要注意的是焊锡量不能补多,要不然容易连接到其它期间的引脚的。第二种是焊锡过多,这时候可以用电洛铁放在焊接处来回的滑动,会把多余的焊锡带走的,若不行,只能使用吸锡器了。
第四部检查焊点:
当完成以上三步了,最后就需要整体观察了,主要是观看焊接点是不是圆满、亮度好、紧固,有没有与其它管脚相连在一起了。
5.2 系统调试
整体系统上电调试前,大概观察下焊接的系统还存在问题,例如还有很显眼的断裂,正负极接反以及相连、虚焊、等问题,然后用万用表检测一下,电源正负极之间是否短路等严重的电源问题,最终保证系统焊接没有问题。
在搭建调试平台后,需要对软件程序进行调试,若程序调试没有问题,接下来开始验证系统功能是否满足要求,若功能有问题,需要继续调试程序,反复进行,直到所有功能都满足为止。
5.2.1 系统程序调试
软件调试步骤如下:
(1) 在Keil4软件中先创建一个工程:单击菜单栏中的“工程”,输入新建工程名“基于单片机的煤气报警器设计与实现”,并保存;然后器件选择“”目录下的“”。
(2)新建用户源文件:在新建的空白文本中编写程序源代码,编码完成保存文件并文件拓展名“基于单片机的煤气报警器设计与实现.c”,新文件创建完成。
(3)程序编译和调试:单击编译按钮,系统会对文件进行运行,在输出窗口中可看到提示信息,如果提示信息中有error信息,则须按提示找出错误并改正,直到提示没有错误为止,如图5.3所示。
提示信息无错误
(4)若程序编译无错误后,则通过PL2303串口烧写模块烧写程序,开始验证系统功能是否满足要求,若功能有问题,需要继续调试程序,反复进行,直到所有功能都满足为止。
5.2.2硬件测试
最后一步就是硬件整体测试了,主要运用万用表、直流电源或示波器对焊接好的板子进行整体调试,主要检查每一个器件是不是都正常工作了,主要分为两个环节动态调试和静态调试。
一、静态调试,其中静态调试主要分为以下四种:
(1)肉眼观察。主要观看焊接点是否饱满,以及相连器件之间是否相连或者器件管脚没有焊接好,出现短路现象。
(2)使用万用表调试。首先查看电源是否短路,然后测量管脚是否连接正确,有没有接线错误。
(3)上电检查。在完成第一步和第二步都没有问题,接下来就可以上电了,上电以后观看每个器件是否正常工作,然后在逐一测试功能。
(4)综合检查测试。这种测试方法只适合单片机开发板开发的系统才能使用这种方法,本文不适宜用这种方法测试。
二、动态调试:
动态调试主要是静态调试没有任何问题,做最后一步检查,就是每个器件能否正常工作,能否满足我系统开发的功能,防止器件内部损坏,影响系统性能。
5.3 实物测试
经过测试,系统测试正常,如下图所示。

系统测试图

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询