基于51单片机的低成本音乐门铃设计毕业论文.doc

上传人:仙人指路1688 文档编号:3938002 上传时间:2023-03-28 格式:DOC 页数:39 大小:1.49MB
返回 下载 相关 举报
基于51单片机的低成本音乐门铃设计毕业论文.doc_第1页
第1页 / 共39页
基于51单片机的低成本音乐门铃设计毕业论文.doc_第2页
第2页 / 共39页
基于51单片机的低成本音乐门铃设计毕业论文.doc_第3页
第3页 / 共39页
基于51单片机的低成本音乐门铃设计毕业论文.doc_第4页
第4页 / 共39页
基于51单片机的低成本音乐门铃设计毕业论文.doc_第5页
第5页 / 共39页
点击查看更多>>
资源描述

《基于51单片机的低成本音乐门铃设计毕业论文.doc》由会员分享,可在线阅读,更多相关《基于51单片机的低成本音乐门铃设计毕业论文.doc(39页珍藏版)》请在三一办公上搜索。

1、基于51单片机的低成本音乐门铃设计摘 要门铃的应用,在现代社会里随处可见,但是出于多方面的考虑,如成本的高低,声音的模式等,需要我们进一步去挖掘。本论文的设计就是围绕低成本音乐门铃进行研究开发。其中主要运用到了51芯片,51芯片是微型处理器, 51单片机具有优异的性能价格比、集成度高、体积小、可靠性高、 控制功能强、低电压、低功耗等优点。本设计中音乐门铃的基本功能都能由51芯片提供,且价格低廉。除芯片基本电路部分外,还需要声音扩大部分,用到386DE芯片。整个系统围绕价格低廉展开,拓展功能由程序部分实现。先用c语言编写实现音乐门铃的程序代码,然后将c语言用keil软件生成hex文件下载到stc

2、89c51集成芯片中,利用不同的频率发出不同的音调,利用延时产生不同的节拍,通过功率放大器传送到喇叭使其发出美妙的音乐。为进一步降低成本,所以本设计主要完成部分在于程序,程序分为主体与扩展部分。扩展部分用于规定的歌曲节拍,音调控制。扩展部分由主程序,音乐曲目以及歌曲数组函数组成。在利用画图工具完成基本电路设计后,再焊接电路,最后再进入变成部分。关键词:单片机,低成本,程序,音乐AbstractDoorbell application, can be seen everywhere in modern society, but because of various considerations,

3、 such as low cost, voice pattern, we need to dig further. The design of this thesis is to focus on research and development cost music doorbell. Mainly applied to the 51-chip, 51 chip is a microprocessor, microcontroller 51 has excellent performance and low cost, high integration, small size, high r

4、eliability, high control, low voltage, low power consumption. The design of the basic functions of music doorbell can be from 51 chips, and low prices. In addition to the basic part of the circuit chip, but also need to expand the sound section, use 386DE chip. Expand the system around the low cost

5、and expand the function by the program partially achieved. First with the c language code to achieve musical doorbell, and then use keil software c language generated hex file to stc89c51 integrated chip, the use of different frequencies make different tone, the use of delay have different beats, tr

6、ansmitted through the power amplifier To the speaker to broadcast the wonderful music. To further reduce costs, so the design process the main part is completed, the program is divided into subject and extension. Extension of the provisions of the songs used in rhythm, tone control. Extension from t

7、he main program, music tracks and songs composed of an array of functions. In the use of drawing tools to complete the basic circuit design, and then soldering the circuit, and finally re-entering into a part. Key words:Single chip, Low-cost, Program,Music 目录1 绪论11.1 题目背景及目的11.2 国内外研究状况11.3 题目研究方法21

8、.4论文构成及研究内容22 电子音乐门铃系统简介32.1分析功能要求32.2 系统原理与控制方法42.3 单片机发音概述42.3.1 音调42.3.2 节拍53 系统硬件设计73.1 原理简介73.2 主电路设计83.3 音乐功放电路设计113.3.1 概述113.3.2 特性123.3.3应用电路123.3.4 芯片使用方法与自激啸叫防治措施144 系统软件设计164.1 软件介绍164.2 主程序设计184.3 播放文件程序设计205 系统调试与实现225.1 硬件调试与实现225.2 软件调试与实现22结论24参考文献25致谢26附录A 主文件程序27附录B 播放文件程序301 绪论以下

9、是关于此次毕业设计的题目北京以及目的,国内外研究状况,题目研究方法还有论文构成和研究内容的介绍。1.1 题目背景及目的随着时代的发展和进步,控制智能化、仪器小型化、功耗微小化得到广泛关注。在这些领域中,单片机起到了举足轻重的作用,这就把单片机的应用提升到重要的地位,单片机应用系统设计就成为新的技术热点。 近几年来,随着市场上智能化楼宇的不断升温,门铃系统已作为智能化办公室和智能化住宅小区的一个重要组成部分,被各商家和用户所接受。人们已开始习惯用门铃系统代替传统的铁钥匙去管理各通道门,这使门铃系统得到了飞跃性的发展。随着单片机技术的飞速发展,通过单片机实现人们对物质生活的满足,这将会日益成为今后

10、的一个重要发展的方向1。由于电子音乐门铃具有铃声悦耳动听,价格低廉、耗电少等优点,在现代家具中的应用越来越流行。有了电子音乐门铃,在有客人在拜访时,听到的将不再是单调的提示等候音,而是不同凡响的流行音乐旋律、特效音等个性化的电子声乐。1.2 国内外研究状况目前在家庭住宅中使用的电子门铃大多数是没用音乐,只有简单的叮咚叮当的声音,比较单调。其中绝大多数没有按钮提示以及其他功能,要不就是造价昂贵,诸多缺点。经了解,现在市场上所有销售的门铃主要有以下几种:1、敲击式电子音乐门铃,采用声控触发电路和音乐集成电路组成,通过一个可调电阻来控制喇叭的灵敏度,一个电容快速充电来维持后续工作;2、不用按钮的音乐

11、门铃,采用红外线发射接收电路和自激多谐振荡电路构成,荡发出的红外线被人遮挡住的一瞬间,扬声器就发出有没动听的音乐;3、带们演示电路的音乐门铃,采用低功耗交流继电器TLP3502和高频小功率管组成。只要按下门铃按钮就会同时打开门灯,使主人可以通过门镜来识别来客身份。门灯经一段时间的延时后自动熄灭;4、无限遥控门铃,采用脉冲调制发射,及石英晶振稳频技术,实现远距离遥控。1.3 题目研究方法充分调查研究并且认真深刻学51芯片功能以及使用方法,掌握单片机应用系统的开发流程、硬软件系统设计以及相关工具软件的使用方法,同时对被控的实际应用对象有更深入的了解,达到学以致用、系统地整合所学专业知识的目的,达到

12、设计的系统抗干扰能力强、稳定可靠、成本低廉、使用方便,满足相关的功能要求。掌握单片机的体系结构、工作原理、指令系统与编程技巧以及相关接口技术,熟悉单片机开发工具并掌握单片机应用系统的设计开发流程;选择并设计合理的补偿算法与程序结构;掌握相应的抗干扰措施;设计出系统的硬件结构与接口电路,编写相关软件。1.4论文构成及研究内容论文主要有绪论、电子音乐门铃系统简介(分析功能要求、系统原理与控制方法)、系统硬件设计、系统软件设计、系统调试与实现、结论、参考文献、致谢、附录各部分组成。研究内容为开发研究出低成本音乐门铃。本文利用单片机体积小、速度快、功能强、性能可靠、价格低廉等优点,介绍了用AT89C5

13、2单片机设计电子音乐门铃的方法,系统实现简单、功能稳定。日后可在此基础上进一步完善,如增加语音防盗报警功能、有人无人语音门铃切换功能,甚至增加可视对讲功能等。2 电子音乐门铃系统简介了利用单片机为主控制器设计电子门铃的具体方法。该电子门铃具有普通门铃的功能,而且还具有一些扩展功能。2.1分析功能要求本设计要求是要完成低成本音乐门铃设计,芯片可采用51芯片,89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压,高性能CMOS 8位微处理器,俗称单片机。2AT89C2051是一种

14、带2K字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。主要特性:与MCS-51 兼容 , 4K字节可编程闪烁存储器,寿命:1000写/擦循环,数据保留时间:10年,全静态工作:0Hz-24MHz,三级程序存储器锁定, 1288位内部RAM, 2可编程I/O线

15、,两个16位定时器/计数器, 5个中断源,可编程串行通道,低功耗的闲置和掉电模式,片内振荡器和时钟电路2。因为需要用到播放音乐功能,所以需要用到功放电路,其中采用LM386芯片, LM386是一种音频集成功放,具有自身功耗低、电压增益可调整、电源电压范围大、外接元件少和总谐波失真小等优点的功率放大器,广泛应用于录音机和收音机之中。LM386是美国国家半导体公司生产的音频功率放大器,主要应用于低电压消费类产品。为使外围元件最少,电压增益内置为20。但在1脚和8脚之间增加一只外接电阻和电容,便可将电压增益调为任意值,直至 200。输入端以地位参考,同时输出端被自动偏置到电源电压的一半,在6V电源电

16、压下,它的静态功耗仅为24mW,使得LM386特别适用于电池供电的场合。2.2 系统原理与控制方法利用单片机89C52产生乐曲音符,再把乐谱翻译成计算机音乐语言,由单片机进行信息处理,在经过信号放大,由喇叭放出乐曲声。通过控制定时器的定时时间来产生不同频率的方波,驱动喇叭发出不同音阶的声音,再利用延迟来控制发音时间的长短,即可控制音调中的节拍。把乐谱中的音符和相应的节拍变换为定常数和延迟常数,作为数据表格存放在存储器中。由程序查表得到定时常数和延迟常数,分别用以控制定时分别代表某一频率的声音。3以STC89C52RC为核心,加上芯片最小系统电路,按钮,外围电源,LM386功放电路,扬声器电路组

17、成。该系统通过STC89C52RC单片机的中断调用来实现将音符转换为相应的电信号输出到扬声器,组成一首完整的音乐,并通过按钮实现歌曲的转换。2.3 单片机发音概述一般来说,单片机不像其他专业乐器那样能奏出多种音色的声音,即不包含相应幅度的谐振频率。单片机演奏的音乐基本都是单音频率。因此单片机演奏音乐比较简单,只需能清楚“音调”和“节拍”两个概念即可。音调表示一个音符唱多高的频率。节拍表示一个音符唱多长的时间。知道了一个音符的频率后,便可以让单片机发出相应频率的振荡信号,从而产生相应的音符声音。通过单片机的定时器进行定时中断,在中断服务程序中将单片机上完结LM386的I/O口来回置高电平或者是低

18、电平的,从而让扬声器发出声音。通过节拍计算出每个音符所需要的时间,采用循环延时的方法来实现控制一个音符唱多长的时间,从而构成一首完整的音乐。2.3.1 音调音调主要由声音的频率决定。对一定强度的纯音,音调随频率的升降而升降;对一定频率的纯音、低频纯音的音调随响度增加而下降,高频纯音的音调却随响度增加而上升。 音调的高低还与发声体的结构有关,因为发声体的结构影响了声音的频率。 大体上,2000 赫兹以下的低频纯音的音调随响度的增加而下降,3000 赫兹以上高频纯音的音调随响度的增加而上升。例如,在音乐中常常把中音C上方的A音定位标准高音,其频率F=440HZ,其余音均与其进行比较。F1和F2为两

19、个音符,如果这两个音符的频率相差一倍时,也即F2=2*F1时,则称F2比F1高一个频程。在音乐中音符1与音符2,音符2与音符3等等之间正好相差一个倍频程,在音乐学中称它相差一个八度音。在一个八度内,有12个半音。由于人耳的听觉效果,这12个音阶的分度基本上是以对数的关系来划分的。只要知道12个音符的音高,也就是其基本频率,就可以根据音符之间的倍频关系得到其他音符的基本音调频率3。以标准高音A的频率F=440HZ,其对应的周期为:T=1/F=1/440=2272us因此需要在单片机I/O端口输出周期为T=2272us的方波脉冲,也就是t=T/2=2272/2=1136us也就是说,单片机上定时器

20、的中断出发时间为1136us。如果单片机采用定时器为工作方式1,它以振荡器的十二分频信号为计数脉冲。设外接晶振的振荡器频率为f,则定时器的预置初始值有以下公式来确定:Temp = 65536-(50000/CurrentFre)*10/(12000000/SYSTEM_OSC)TH = Temp /256TL = Temp %2562.3.2 节拍在音乐中,时间被分成均等的基本单位,每个单位叫做一个“拍子”或 称一拍。拍子的时值是以音符的时值来表示的,一拍的时值可以是四分音符(即以四分音符为一拍),也可以是二分音符(以二分音符为一拍)或八分音符(以八分音符为一拍)。拍子的时值是一个相对的时间概

21、念,比如当乐 曲的规定速度为每分钟 60 拍时,每拍占用的时间是一秒,半拍是二分之一 秒;当规定速度为每分钟 120 拍时,每拍的时间是半秒,半拍就是四分之一 秒,依此类推。拍子的基本时值确定之后,各种时值的音符就与拍子联系在一起。例如,当以四分音符为一拍时,一个全音符相当于四拍,一个二分音符相当于两拍, 八分音符相当于半拍,十六分音符相当于四分之一拍;如果以八分音符做为 一拍,则全音符相当于八拍,二分音符是四拍,四分音符是两拍,十六分音 符是半拍4。对于一拍的发音时间,如果乐曲没有特殊说明,一般来说,一拍大约为400450ms。对于计算机编程 节拍码及节拍数如图2.15所示:图2.1 节拍码

22、及节拍数3 系统硬件设计系统以AT89C51单片机为核心,加上外围电源时钟电路、LM386功放电路及扬声器电路组成。Atmel公司的生产的AT89C51单片机是一种低功耗1氐电压、高性能的8位单片机,内部除CPU外,还包括128字节RAM,4个8位并行IO口,5个中断优先级,2层中断嵌套中断,2个16位可编程定时计数器,片内集成4K字节可改变程序Flash存储器,具有低功耗,速度快,程序擦写方便等优点,完全满足本系统设计需要。系统通过P3连接功放电路从而驱动扬声器产生电子声乐,P1口连接门铃按键。3.1 原理简介总体设计方案本系统采用STC89C52作为系统核心,音乐是由音符组成不同的音符是由

23、相应频率的振动产生产生不同的音频需要有不同固定周期的脉冲信号。要产生音频林冲,只要算出某一音颉的周期T,将此周期T除2即为毕周期的时间。我们利用单片机的内部定时器TO,使其工作在计数器模式MODEl下韧始化适当的计数值THO及TLO以计时这个半周期时间每当计时时间到后就将输出脉冲的P1.0口反相然后重复计时此半周期时间。再对P1.0口反相就可在单片机Pl.0引脚上得到此频率的脉冲。P1.0引脚脉冲接LM386作音频功放,然后辅出到扬声器从而发出美妙的乐音6。通过音频功放电路,把信号输出到扬声器,播出美妙的音乐。只要一按下按钮,就会有音乐播出,等一首歌播放完毕后,当再次按下按钮,就会播放下一首音

24、乐,如此循环,知道再次出现第一首音乐为止。本系统可以奏出三首不同旋律的歌曲。为绘制此次电路图,采用DXP2004软件,Protel DXP2004是Altium公司于2004年推出的最新版本的电路设计软件,该软件能实现从概念设计,顶层设计直到输出生产数据以及这之间的所有分析验证和设计数据的管理。当前比较流行的Protel 98、Protel 99 SE,就是它的前期版本。 Protel DXP 2004已不是单纯的PCB(印制电路板)设计工具,而是由多个模块组成的系统工具,分别是SCH(原理图)设计、SCH(原理图)仿真、PCB(印制电路板)设计、Auto Router(自动布线器)和FPGA

25、设计等,覆盖了以PCB为核心的整个物理设计。该软件将项目管理方式、原理图和PCB图的双向同步技术、多通道设计、拓朴自动布线以及电路仿真等技术结合在一起,为电路设计提供了强大的支持。 与较早的版本Protel99相比,Protel DXP 2004不仅在外观上显得更加豪华、人性化,而且极大地强化了电路设计的同步化,同时整合了VHDL和FPGA设计系统,其功能大大加强了7。此电子音乐门铃的电路设计方案如图3.1所示图3.1 PCB绘制电路图3.2 主电路设计AT89C5l单片机简介:单片机发展至今已有20余年的历史,形成了约50个系列400余种机型,设计者不可能对每一种芯片都熟悉,因此在选择芯片时

26、切勿追赶时髦,使用从未接触过的芯片。单片机控制系统的核心器件是单片机芯片,它提供的功能和资源对整个应用系统所需要的支持电路、接口硬件设计以及软件程序设计起着关键的作用。ATMEL公司以E2PROM技术和Intel公司的80C31单片机核心技术交换,从而取得80C31核的使用权。ATMEL公司把自身的优势,即先进的Flash技术和80C31核相结合,从而生产出Flsah单片机AT89C51系列8。ATMEL89系列单片机具有下列优点:内部含Flsah存储器,在系统开发过程中,可以十分容易进行程序的修改,大大缩短了系统的开发周期9。同时,在系统工作过程中,能有效地保存一些数据信息,即使外界电源损坏

27、也不影响到信息的保存;输出引脚和指令系统与80C51兼容用89系列单片机取代80C51时,可以直接进行代换;静态时钟方式,89系列单片机采用静态时钟方式,所以可以节省电能,这对降低产品的功耗十分有利;错误编程亦无废品产生错误编程之后仍可以重新编程,直到正确为止,故不存在废品;可进行反复系统试验到最优。而且随用户的需要和发展,还可以修改,使系统不断适应用户的最新要求13。ATMEL9系列单片机是以80C31核构成的,它和8051系列单片机是兼容的系列,故对于8051的用户来说,用ATMEL公司的89系列机进行取代8051的系统设计,是轻而易举的事10。AT89C51是一种低功耗低电压、高性能的8

28、位单片机,其输出引脚和指令系统都与MCS一51兼容,双列直插封装图如3.214所示。它具有下列主要功能:图3.2 51芯片引脚图其最小系统电路如图3.3所示:图3.3 最小系统电路其最小系统实物电路如图3.4所示:图3.4 最小系统实物电路图3.3 音乐功放电路设计LM386引脚图,特性及典型功放电路和芯片使用方法与自激啸叫防治措施介绍。3.3.1 概述LM386是美国国家半导体公司生产的音频功率放大 器,主要应用于低电压消费类产品。为使外围元件最少,电压增益内置为20。但在1脚和8脚之间增加一只外接电阻和电容,便可将电压增益调为任意值,直至 200。输入端以地位参考,同时输出端被自动偏置到电

29、源电压的一半,在6V电源电压下,它的静态功耗仅为24mW,使得LM386特别适用于电池供电的场合。 LM386的封装形式有塑封8引线双列直插式和贴片式。其封装图如3.5所示: 图3.5 LM386引脚图3.3.2 特性静态功耗低,约为4mA,可用于电池供电,工作电压范围宽,4-12V or 5-18V, 外围元件少,电压增益可调,20-200, 低失真度。LM386电源电压4-12V,音频功率0.5w。LM386音响功放是由NSC制造的,它的电源电压范围非常宽,最高可使用到15V,消耗静态电流为4mA,当电源电压为12V时,在8欧姆的负载情况下,可提供几百mW的功率。它的典型输入阻抗为50K。

30、3.3.3应用电路如图3.6所示图3.6 功放电路图焊接功放电路实物图如3.7所示图3.7 功放电路实物图喇叭实物图如3.8所示图3.8 喇叭实物图3.3.4 芯片使用方法与自激啸叫防治措施LM386是电子产品和家庭业余制作中广泛使用的音频功率放大Ic。其典型应用电路如图3.9所示。在绝大多数场合或单独使用的情况下,LM386比较正常;但在和其它电路搭配之后,有可能产生自激和灵敏度降低等现象。就该Ic的使用方法和自激啸叫的防治措施介绍如下。图3.9 典型应用电路1、入信号过强引起的自激啸叫。对于由于输入信号过强引起的啸叫,可在LM386第、脚之间加阻容网络,批量应用时,R的阻值可由实验决定,或

31、将R代换为微调电位器w,若信号仍然过强,可将LM386第、脚悬空。2、高频自激。防高频自激电路原理如图3.10所示。对高频自激引起的啸叫可在信号输入端与地之间接一只47oo#-o F的瓷片电容,在第脚与地之间接一只l00 470opF瓷片电容。作单端输人时,闲置的输入端不要悬空而要接地。3、低频自激。对于低频自激引起的啸叫可试在输入端与地之间接一只6822kn电阻,将第脚的滤波电容增大到1000F,在制作印制板时,iM386尽量靠近电源输出端。4、在使用其它品牌产品(如(jI386、l(A386等)时,有的IC会对高音频的灵敏度有影响。可在其第脚与地之间接一只01 F瓷片电容,在第、脚间(注:

32、不同于第脚接地)接一保01 F瓷片电容11。图3.10 防高频自激电路原理图4 系统软件设计本设计需要用到的软件都是大众一般使用的软件,具有方便简易快捷的优点,程序用C语言编程,也是编程的主流语言,方便日后修改与调试。4.1 软件介绍本系统程序开发需要用到keil、STC-ISP V35 软件以及郭天祥51开发板。以下是关于keil和STC-ISP的简介。现代电子系统的基本核心是嵌人式计算机系统,而单片机是最典型、最广泛、最普及的嵌入式系统。学好单片机,灵活应用Keil软件在电子、科技领域灵活应用单片机技术,将是带动国家科技发展、增强国家综合实力的必经之路。Keil软件是目前最流行开发MCS-

33、51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。运行Keil软件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP等操作系统。掌握Keil软件的使用对于使用51系列单片机是十分必要的,即使不使用c语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令单片机开发事半功倍。12STC-ISP 是单片机下载编程烧录软件,

34、是针对STC系列单片机而设计的,可下载STC89系列、12C2052 系列和12C5410等系列的STC单片机,使用简便,现已被广泛使用。程序控制流程图如图4.1所示。准备调用初始化程序读P3口,判断有无按键按下调用延时子程序读P3口,判断有无按键按下调用延时子程序调用延时子程序调用播放子程序调用播放子程序读P3口,判断有无按键按下读P3口,判断有无按键按下读P3口,判断有无按键按下读P3口,判断有无按键按下调用播放子程序图4.1 程序控制流程图4.2 主程序设计本系统首先建立音乐,把音乐的音符找出,建立各个音符的常数表,如下图4.2:图4.2 音符常数表编写程序时,我们把表建立在一个数组内,

35、每个发音符使用一个字节,字节高四位(简谱码)代表音符的高低,低四位(节拍码)代表音符的节拍。如果一拍为0.4秒,1/4秒就是0.1秒,只要设定延时时间就可以求得节拍的时间。假设1/4拍为1 DELAY,则1拍应该为4 DELAY,以此类推。所以只要求得1/4拍的DELAY时间,其余的节拍就是它的倍数。1/4拍的延时时间在此我们设为125毫秒。主文件程序由主程序、延时程序以及歌曲程序组成。主程序首先对所有端口进行初始化操作,接着进入不断循环部分,直到按键按下,进入防止抖动程序,如果不是抖动,则进入音乐播放程序,直到音乐播放完毕,再次进入等待按键按下部分,直到第二次按键按下,再次进入防止抖动程序,

36、如果不是抖动,则再次进入音乐播放程序,直到音乐播放完毕,直到第三次按键按下,最后一次次进入防止抖动程序,如果不是抖动,则最后一次次进入音乐播放程序,直到音乐播放完毕,回到循环起点,等待第四次按键按下部分,如此类推。程序如下:main()InitialSound();while(1)if(key=0)Delay1ms(10);if(key=0)Play(Music_Girl,0,3,360);dowhile(key=1);if(key=0)Delay1ms(10);if(key=0)Play(Music_Same,0,3,360);dowhile(key=1);if(key=0)Delay1ms

37、(10);if(key=0)Play(Music_Two,0,3,360);延时程序部分。为防止按键抖动,对门铃进行有效保护,设计了防止抖动延时程序,程序如下:void Delay1ms(unsigned int count)unsigned int i,j;for(i=0;icount;i+)for(j=0;j120;j+);4.3 播放文件程序设计播放文件程序由初始化程序函数,音符发生中断函数,播放函数组成。初始化函数是对芯片端口进行初始化操作,以确定中断模式以及端口初始值,程序如下:void InitialSound(void)BeepIO = 0;Sound_Temp_TH1 = (6

38、5535-(1/1200)*SYSTEM_OSC)/256;/ 计算TL1应装入的初值 (10ms的初装值)Sound_Temp_TL1 = (65535-(1/1200)*SYSTEM_OSC)%256;/ 计算TH1应装入的初值 TH1 = Sound_Temp_TH1;TL1 = Sound_Temp_TL1;TMOD |= 0x11;ET0 = 1;ET1 = 0;TR0 = 0;TR1 = 0;EA = 1;音符发生中断函数用于接收到中断信号时,进行的声音播放操作,程序如下:void BeepTimer0(void) interrupt 1/音符发生中断BeepIO = !BeepI

39、O;TH0 = Sound_Temp_TH0; TL0 = Sound_Temp_TL0;播放函数用于主文件程序中调用音符的音调以及节拍,从而产生中断,播放音乐,其部分程序如下:while(Point = 2; /低音 if (SM=3) CurrentFre = 2; /高音Temp_T = 65536-(50000/CurrentFre)*10/(12000000/SYSTEM_OSC);/计算计数器初值Sound_Temp_TH0 = Temp_T/256; Sound_Temp_TL0 = Temp_T%256; TH0 = Sound_Temp_TH0; TL0 = Sound_Te

40、mp_TL0 + 12; /加12是对中断延时的补偿 5 系统调试与实现这是本设计较为困难的一部分,需要经过反反复复的调试,才能达到理想中的效果,以下将分文硬件与软件两部分介绍此次调试的过程,以及调试过程中遇到的困难和解决办法。5.1 硬件调试与实现考虑到本设计以低成本为主,所以一切原件以便宜为上,本设计开发工具需要用到一个电烙铁,一个铁架,一卷焊锡,一盒松脂,1块6X7CM开发板,1块6X10CM开发板,一块STC89C52芯片以及一块芯片底座,一个USB接口,一个电源开关,1个10uf电容,2个30pf电容,1个12Mhz晶振,一个抖动开关,1个10k电阻,一个10k滑动变阻器,一块lm3

41、86芯片及其底座,1个220uf电容,1个0.05uf电容,一个8欧姆5瓦的扬声器,以及杜邦线若干,插排若干。为方便调试,把系统焊接分为两个部分,其一是51单片机最小系统部分,其二是声音功率放大播放部分。这样的焊接不仅有利于系统的调试,还有利于日后对于其他系统的开发,直接利用最小系统以及杜邦线引出端口即可。由于本人焊接技术不到位,常常出现短路问题,在第一次焊接完成后,多出出现短路,最后用万用表蜂鸣档位逐点测试,在重新焊接。其中还试过由于本人疏忽,直接把芯片焊接(没通过芯片底座)在开发板上,导致芯片烧坏,不得将其更换。开始时选用的音乐功放电路,也是基于LM386芯片,采用的是较为复杂的功放电路,

42、但是焊接后,经过一系列调试,反复查找了失败原因,还是没有找到解决办法,但是后来突然想到,这次的设计是基于低成本的基础,一切得从简,所以选择了就只有一个10k滑动变阻器,一块lm386芯片及其底座,1个220uf电容,1个0.05uf电容所组成的功放电路,再次调试后,放出了声音,但是声音的音调和频率都与理想中有所差距,应该是由于喇叭的自身额定功率与质量有关,需要调整的话应该是在电源供电以及喇叭的质量方面修正,但这是基于低成本的设计,只要喇叭有声音,效果一般就可了。5.2 软件调试与实现程序主要取自一个音乐播放程序,但没有功率放大部分,更没有多音乐轮流播放部分,按钮部分。在此基础之上,首先是对其进

43、行一定的修改,在保留原来音乐播放程序的前提下,进行主程序的设计,首先对所有端口进行初始化操作,接着进入不断循环部分,直到按键按下,进入防止抖动程序,如果不是抖动,则进入音乐播放程序,直到音乐播放完毕,再次进入等待按键按下部分,直到第二次按键按下,再次进入防止抖动程序,如果不是抖动,则再次进入音乐播放程序,直到音乐播放完毕,直到第三次按键按下,最后一次次进入防止抖动程序,如果不是抖动,则最后一次次进入音乐播放程序,直到音乐播放完毕,回到循环起点,等待第四次按键按下部分,如此类推。在keil软件经不断改进后,生成hex文件,再用郭天祥51开发板烧入程序,并通过stc-isp烧录软件烧录后,最终得以

44、完成。再把烧录好的STC89C52芯片摆放到已经焊接好的电路板上,按下按钮,听到第一首音乐,在第一首音乐播放完毕后,再按下按钮,听到第二首音乐,在第二首音乐播放完毕后,再次按下按钮,听到第三首音乐,在第三首音乐播放完毕后,再按下按钮,听到第一首音乐,如此类推。程序在开始之初是用简单的中断延迟来实现,对于编歌曲来讲需要很大的工作量,在网上查找大量的资料之后,找到了一个做音乐播放器的程序,他也是基于中断延迟来实现播放功能,但是他对于歌曲编辑的灵活性,有很大的发展空间,所以我就采用了他的部分程序。并且利用一个名为MusicEncode的软件,可以把基本上所有的音符都转化为16位的二进制编码,大大提高

45、了编程效率。其次是主程序的编辑,原来的音乐播放程序只是假单的等待按钮按下后,直接播放一首完整的歌曲后紧接着另外一首完整的歌曲歌。但是这次的设计是要制作一个门铃,而不是音乐播放,考虑到设计需要,我们要实现的功能是按下按钮,播放一小段音乐,停止,等待下一个按钮,再播放,不断循环。所以,主要考虑到的是如何在播放完一首歌曲后,进入在此等待状态。因此,运用了C里面DOWHILE语句,一直等待按钮的按下。 对于该段程序中的主要保护手段,就是按钮防治抖动部分,因此在等待按钮按下后,采用一小段的延迟程序,再次判定是否有按钮的按下,在进入播放程序。结 论这次毕业设计,是我大学四年来学到知识的一次综合运用,对于此次工作,首要考虑到的是低成本的概念,音乐门铃在市面上一早就存在,想要继续得以发展,必须在成本上下功夫,这次设计的主要亮点是功放电路采用最简单的电路设计,只有一块芯片跟两个电阻以及两个电容。其次是程序方面的设计,主要解决的问题是如何在一个按钮的基础上,实现歌曲的轮换以及播放,这是此次设计的难点之一,另外,焊接是此次设计所用时间最多的一部分,因为本人的焊接技术不到位,焊接能力不高,所以造成焊接的屡次失败,不过我在失败中吸取经验,在完成焊接后,焊接技术得到很大的提高。毕业设计还是本科学习阶段一次非常难得的理论与实际相结

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号