按键控制蜂鸣器播放多段音乐的设计论文_第1页
按键控制蜂鸣器播放多段音乐的设计论文_第2页
按键控制蜂鸣器播放多段音乐的设计论文_第3页
按键控制蜂鸣器播放多段音乐的设计论文_第4页
按键控制蜂鸣器播放多段音乐的设计论文_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《单片机原理及应用》课程设计基于按键控制蜂鸣器播放多段音乐的设计姓名:XXX任课教师:XX院系:XXX专业:电子信息工程提交日期:2012年6月25日基于按键控制蜂鸣器播放多段音乐的设计引言这学期我们学习了单片机原理及接口技术这一门实用而又生动的课程,初次接触到它就被它丰富的内容所吸引。单片机自20世纪70年代问世以来,已得到了十分广泛的应用。随着单片机的集成度越来越高以及单片机系统的广泛应用,对软件编程的要求也越来越高,要求编程人员在短时间内编写出执行效率高、运行可靠的程序代码。单片机具有一些突出的有点:体积小、重量轻、耗电少、电源单一、功能强、价格低、运行速度较快、抗干扰能力强、可行性高,所以在如今的绝大数的领域中都能够看到单片机的身影。本次设计是基于AT89C51芯片的电路为基础,外加上三极管的放大、放音设备蜂鸣器,以此来实现音乐硬件控制器的硬件电路,通过软件程序来控制单片机内部的定时器使其播放出优美的音乐。此次设计共写进了三首歌曲程序,分别是《仙剑》、《月亮代表我的心》和《小星星》。关键字:单片机蜂鸣器AT89C51芯片音乐BasedonthebuttoncontrolplaymoreparagraphsmusicofthebuzzerdesignInstructionThistermwehavelearntthedigitalimageprocessingwhichisapracticalandvividcourse,Firstcontacttoit,Iwasattractivebyitsrichcontent.Sincethe1970s,thesinglechipmicrocomputerappearedhasbeenawiderangeofapplications.Withtheintegrationofsinglechipmoreandmorehighandthewideapplicationofsingle-chipmicrocomputersystem,thesoftwareprogrammingrequirementalsomoreandmorehigh,requestingprogrammingstaffinashorttime,writingexecutivehighefficiencyandreliableoperationprogramcode.SCMhassomeprominentabit:smallvolume,lightweight,lessconsumption,andthepowerofasingle,thefunctionisstrong,pricelow,theprocessisfastandstronganti-interferenceability,feasibilityishigh,soinmostofthenumbernowinyourfieldyoucanseethefigureofsinglechipmicrocomputer.ThisdesignisbasedonAT89C51chipsbasedcircuit,andthetransistoramplifierandletthesoundequipment,soastorealizemusichardwarehardwarecircuit,throughthesoftwareprogramtocontrolofthesinglechipmicrocomputertimerinternalplaysbeautifulmusic.Thedesignofthreesongswerewrittenintotheprogram,itisrespectivelyxianjian,themoonrepresentsmyheart,littlestar.Keywords:Single-chipmicrocomputer,buzzer,AT89C51chip,music目录致谢 17第一章绪论课程设计目的应用单片机,基于按键控制蜂鸣器播放多段音乐,利用它的原理组成一个简单的音乐盒。课程设计任务以单片机为核心部件组成一个简单音乐播放器;利用单片机的定时器产生乐谱的各种频率方波,信号经过放大后由蜂鸣器发出声音;自行定义按键盘,当有键按下时,能相应的播放出歌曲。有一个停止键能控制音乐的播放;课程设计的意义利用开发板及组成的器件,在软件及硬件上进一步了解单片机的原理,深入了解了单片机C51语言的实际应用,能更深地理解课堂上所学的内容,巩固C语言程序编写,亲身体会作为一名设计人员所需要具备的各种能力,学会理论知识联系实际,提高我们发现问题,分析问题,解决问题和实践动手的能力。第二章设计原理设计原理基本原理简述声音是通过振动产生的。单片机对某一引脚以一定的频率循环置1置0,该引脚便产生一定频率的方波,方波通过放大,作用于一定的物理实件(蜂鸣器),就产生了一定频率的声音。若改变输出方波的频率,产生的声音随之改变。通过控制输出方波的时间长短,声音的长短也可以得到控制,因此,根据乐谱,以类似的音节及同样的节拍,单片机就可以产生电子音乐。音乐的播放选择可以通过按键的输入得以实现。为简便起见,以一定的频率方波产生的音在其每个周期内高低幅值得时间各占一半因此,输出引脚在每个方波周期内要动作两次:一次升高,一次降低。即输出引脚的频率是原音频率的两倍。方波的产生由定时器控制。定时器T0工作在定时方式1,改变TH0及TL0,产生不同的音频频率。必须考虑到中断响应时间的影响,尤其在高音部分,若忽略中断响应时间,会使音频频率比标准值低几十Hz,相当于1/4音程,很容易听出来,对低音部分影响不大。一般中断响应时间为3~6个机器周期,经过反复试验取5个机器周期作为校正最为恰当,表1中所给的定时初值就是考虑中断响应后的定时常数。另外,为避免T1中断可能引起杂音,应将定时器T0中断设为高优先级。这样编写出来的程序播放的音与标准音叉进行差频校音,非常准确和谐。音乐播放器的基本硬件电路有六部分组成:单片机、时钟与复位电路、选择按键输入电路、音频发生器、音频放大器和扬声器。关于音乐的原理知识在音乐中使用的各个固定频率的音叫音级[1]。常用符号C、D、E、F、G、A、B、c、d、e、……a1、b1、c2、d2……表示,它们对应于钢琴上的白键。两音之间音高的距离叫音程。在上述音级中,E与F、B与C之间音高的距离仅为其它相邻音级之间距离的一半,称它们之间的音程为半音音程,而称其它相邻各音之间的距离为全音音程。在这些全音音程之间又加入新的半音音级,用符号﹟C、﹟D、﹟F、﹟G、﹟A、﹟c、﹟d、﹟f、……表示,对应于钢琴上的黑键。音持续时间的长短即时值,一般用拍数表示。休止符表示暂停发音。下面分别是各音符及对应频率(表)与节拍表(表)表各音符及对应频率音符低DO低#DO低RE低#RE低MI低EA简谱码DO_LDO#_LRE_LRE#_LMI_LFA_L频率262HZ277HZ294HZ311HZ330HZ349HZ音符低#FA低SO低#SO低LA低#LA低SI简谱码FA#_LSO_LSO#_LLA_LLA#_LSI_L频率370HZ393HZ415HZ440HZ466HZ494HZ音符中DO中#DO中RE中#RE中MI中EA简谱码DODO#RERE#MIFA频率523HZ554HZ587HZ622HZ659HZ698HZ音符中#FA中SO中#SO中LA中#LA中SI简谱码FA#SOSO#LALA#SI频率740HZ785HZ831HZ880HZ932HZ988HZ音符高DO高#DO高RE高#RE高MI高EA简谱码DO_HDO#_HRE_HRE#_HMI_HFA_H频率1047HZ1109HZ1174HZ1245HZ1318HZ1397HZ音符高#FA高SO高#SO高LA高#LA高SI简谱码FA#_HSO_HSO#_HLA_HLA#_HSI_H频率1480HZ1568HZ1661HZ1760HZ1865HZ1976HZ每个音符分为简谱码和节拍码。简谱码为D0-L到SI-H,节拍码为1到16。对应的节拍表如表所示。对应的拍子:2/2。。。。。。。。。。。以二分音符为一拍,每小节有两拍(二分音符代表一拍)2/4。。。。。。。。。。。以四分音符为一拍,每小节有两拍(四分音符代表一拍)3/4。。。。。。。。。。。以四分音符为一拍,每小节有三拍(四分音符代表一拍)4/4。。。。。。。。。。。以四分音符为一拍,每小节有四拍(四分音符代表一拍)表节拍表拍数字符拍数字符1/800H208H1/401H5/209H1/202H30AH3/403H7/20BH104H40CH5/405H50DH3/206H60EH7/407H80FH第三章ATMEL89C51概况ATMEL89C51简介AT89C51单片机AT89C51是美国ATMEL公司推出的系列单片机,将多种功能的8位CPU与FPEROM(快闪可编程/擦除只读存储器)结合在一个芯片上,是一种低功耗、高性能的CMOS控制器,为很多嵌入式控制应用提供了非常灵活而又价格适宜的方案,其性能价格比远高于同类芯片。它与MCS-51指令系统兼容,片内FPEROM允许对程序存储器在线重复编程,也可用常规的EPROM编程器编程,可循环写入/擦除1000次。89C51内含4KB的FPEROM,一般的EEPROM的字节擦除时间和写入时间基本上均为10ms,对于任一个实时控制系统来说,这样长的时间是不可能在线修改程序的。单片机CPU结构(如图)图单片机CPU结构AT89C51用户系统CPU为Atmel公司生产的89C51/89C52/89C55等。出厂所配晶振频率为,每个机器周期为,用户更换晶振以提高速度;存贮器为64K,前4K/8K20K在CPU内部,其它程序在EPR0M27512中;数据存贮器为32K(62256),地址为8000—FFFFH;Ⅰ/O扩展8155,片内RAM地址∶200O-20FFH;8155命令口地址为∶2100H;A口地址∶21O1HB口地址:2102HC口地址:2103H;T低八位∶2104HT高八位∶2105H;多路模拟开关的使用∶IN0∶P1=0F8H IN4:P1=0FCHIN1∶P1=0F9HIN5:P1=OFDHIN2∶P1=0FAH IN5:P1=0FEHIN3∶P1=0FBHIN7:P1=0FFH不掉电数据存贮器为∶500EH-507FH;控制板∶160x1O9(mm)供电∶+5V300mA+12V100mA-12V100mA;AT89C51是一种低功耗、高性能的片内含有4KB快闪可编程/擦除只读存储器(FPEROM-FlashProgrammableandEraseableReadOnlyMemory)的8位CMOS微控制器,使用高密度、非易失存储技术制造,并且与80C51引脚和指令系统完全兼容;主要性能:与MCS-51微控制器产品系列兼容;片内有4KB可在线重复编程的快闪擦写存储器。引脚分布如图()图89C51引脚图蜂鸣器原理如图()图蜂鸣器原理图第四章软件编程设计编程思路想要产生音频信号,只要算出某一音频的周期(频率的倒数),将此周期除以2即为半周期的时间,利用定时器计时此半周期时间,计时到后取反输出,重复此过程即得到此频率的声音信号。此信号从脚输出。定时器T0工作在定时方式1,改变TH0及TL0,产生不同的音频频率。必须考虑到中断响应时间的影响,尤其在高音部分,若忽略中断响应时间,会使音频频率比标准值低几十Hz,相当于1/4音程,很容易听出来,对低音部分影响不大。一般中断响应时间为3~6个机器周期,经过反复试验取5个机器周期作为校正最为恰当,表中所给的定时初值就是考虑中断响应后的定时常数。另外,为避免T1中断可能引起杂音,应将定时器T0中断设为高优先级。这样编写出来的程序播放的音与标准音叉进行差频校音,非常准确和谐。本设计中单片机晶振频率为。每个音符使用两个字节。低位字节(偶地址)代表音级,00H表示不发音(休止符),01H~30H依次表示的音级为c、﹟c、d、﹟d、e、f、……a3、﹟a3、b3,详见表。高位字节(奇地址)代表音符的时值(拍数),00H~0FH依次表示拍数为1/8拍()~8拍(),见表。乐曲的结束标志是两个字节:0FFH,0FFH。设计延时程序125ms,来控制节拍,并在延时中判断是否有停止键按下,以便随时停止音乐。改变延时程序的延迟时间,即可实现歌曲的快慢演奏。主程序的任务是按顺序读取数据表中的字节,根据情况调用音级子程序和演唱子程序,启动定时器T0;通过延时控制节拍,并循环回音级子程序,等待演唱完毕。要编写的乐谱按要求以音符字节数据表的形式存放在程序中,改变乐曲就是通过改变该数据表的内容来实现的。主程序的任务是按顺序读取数据表中的字节,根据情况调用音级子程序和音长子程序,启动定时器T0;根据定时器T1应中断的次数,启动定时器T1。数据表读完后,根据所设置的循环演奏次数决定是否结束程序。音级子程序的任务是取出字节中的音级部分,分析TH0和TL0中应送入何值,送给33H,34H。演唱子程序的任务是取出对应频率值,并乘以2,启动T0,实现发音。之后执行延时程序,体现节拍,依此循环,直到音乐结束。当乐曲较长时(超过254个字节),数据表指针溢出,应及时修改基址寄存器DPTR内容,即数据表的表头指针。编程方案的设计软件功能选择对于4个按键的功能设计,一个停止键,其余三个键,,分别对应三首歌曲。演奏过程中,按停止键可使乐曲停止,继续按其他键继续选择其他歌曲演奏。选歌的按键使用8279键盘扫描以获得键值。停止键使用的单片机的外部中断1实现其功能的。综合调试在开发板上进行调试,先是进行单个模块调试,在开发板上进行播放歌曲的调试,使其能单曲循环播放,当有开关键按下时,就停止播放歌曲,再按下时,又重新播放歌曲。最终实现当有控制键按下时,能够演奏对应的歌曲,再按播放下一首,当停止键按下时,停止播放歌曲。程序清单#defineucharunsignedchar:6_,71_2_|1--"};着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域,在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的。

回顾起此次单片机课程设计,我仍感慨颇多,的确,从选题到定稿,从理论到实践,在接近四星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说不懂一些元器件的使用方法,对单片机汇编语言掌握得不好……通过这次课程设计之后,一定把以前所学过的知识重新温故。

通过这次单片机课程设计,我不仅加深了对单片机理论

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论