按键控制蜂鸣器播放多段音乐的设计论文.docx
- 文档编号:9801761
- 上传时间:2023-02-06
- 格式:DOCX
- 页数:13
- 大小:135.25KB
按键控制蜂鸣器播放多段音乐的设计论文.docx
《按键控制蜂鸣器播放多段音乐的设计论文.docx》由会员分享,可在线阅读,更多相关《按键控制蜂鸣器播放多段音乐的设计论文.docx(13页珍藏版)》请在冰豆网上搜索。
按键控制蜂鸣器播放多段音乐的设计论文
《单片机原理及应用》课程设计
基于按键控制蜂鸣器播放多段音乐的设计
姓名:
XXX
任课教师:
XX
院系:
XXX
专业:
电子信息工程
提交日期:
2012年6月25日
基于按键控制蜂鸣器播放多段音乐的设计
引言
这学期我们学习了单片机原理及接口技术这一门实用而又生动的课程,初次接触到它就被它丰富的内容所吸引。
单片机自20世纪70年代问世以来,已得到了十分广泛的应用。
随着单片机
的集成度越来越高以及单片机系统的广泛应用,对软件编程的要求也越来越高,要求编程人员在短时间内编写出执行效率高、运行可靠的程序代码。
单片机具有一些突出的有点:
体积小、重量轻、耗电少、电源单一、功能强、价格低、运行速度较快、抗干扰能力强、可行性高,所以在如今的绝大数的领域中都能够看到单片机的身影。
本次设计是基于AT89C51芯片的电路为基础,外加上三极管的放大、放音设备蜂鸣器,以此来实现音乐硬件控制器的硬件电路,通过软件程序来控制单片机内部的定时器使其播放出优美的音乐。
此次设计共写进了三首歌曲程序,分别是《仙剑》、《月亮代表我的心》和《小星星》。
关键字:
单片机蜂鸣器AT89C51芯片音乐
Basedonthebuttoncontrolplaymoreparagraphsmusicofthebuzzerdesign
Instruction
Thistermwehavelearntthedigitalimageprocessingwhichisapracticalandvividcourse,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
第一章绪论
课程设计目的
应用单片机,基于按键控制蜂鸣器播放多段音乐,利用它的原理组成一个简单的音乐盒。
课程设计任务
1)以单片机为核心部件组成一个简单音乐播放器;
2)利用单片机的定时器产生乐谱的各种频率方波,信号经过放大后由蜂鸣器发出声音;
3)自行定义按键盘,当有键按下时,能相应的播放出歌曲。
有一个停止键能控制音乐的播放;
课程设计的意义
利用开发板及组成的器件,在软件及硬件上进一步了解单片机的原理,深入了解了单片机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_L
DO#_L
RE_L
RE#_L
MI_L
FA_L
频率
262HZ
277HZ
294HZ
311HZ
330HZ
349HZ
音符
低#FA
低SO
低#SO
低LA
低#LA
低SI
简谱码
FA#_L
SO_L
SO#_L
LA_L
LA#_L
SI_L
频率
370HZ
393HZ
415HZ
440HZ
466HZ
494HZ
音符
中DO
中#DO
中RE
中#RE
中MI
中EA
简谱码
DO
DO#
RE
RE#
MI
FA
频率
523HZ
554HZ
587HZ
622HZ
659HZ
698HZ
音符
中#FA
中SO
中#SO
中LA
中#LA
中SI
简谱码
FA#
SO
SO#
LA
LA#
SI
频率
740HZ
785HZ
831HZ
880HZ
932HZ
988HZ
音符
高DO
高#DO
高RE
高#RE
高MI
高EA
简谱码
DO_H
DO#_H
RE_H
RE#_H
MI_H
FA_H
频率
1047HZ
1109HZ
1174HZ
1245HZ
1318HZ
1397HZ
音符
高#FA
高SO
高#SO
高LA
高#LA
高SI
简谱码
FA#_H
SO_H
SO#_H
LA_H
LA#_H
SI_H
频率
1480HZ
1568HZ
1661HZ
1760HZ
1865HZ
1976HZ
每个音符分为简谱码和节拍码。
简谱码为D0-L到SI-H,节拍码为1到16。
对应的节拍表如表所示。
对应的拍子:
2/2。
。
。
。
。
。
。
。
。
。
。
以二分音符为一拍,每小节有两拍(二分音符代表一拍)
2/4。
。
。
。
。
。
。
。
。
。
。
以四分音符为一拍,每小节有两拍(四分音符代表一拍)
3/4。
。
。
。
。
。
。
。
。
。
。
以四分音符为一拍,每小节有三拍(四分音符代表一拍)
4/4。
。
。
。
。
。
。
。
。
。
。
以四分音符为一拍,每小节有四拍(四分音符代表一拍)
表节拍表
拍数
字符
拍数
字符
1/8
00H
2
08H
1/4
01H
5/2
09H
1/2
02H
3
0AH
3/4
03H
7/2
0BH
1
04H
4
0CH
5/4
05H
5
0DH
3/2
06H
6
0EH
7/4
07H
8
0FH
第三章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=0F8HIN4:
P1=0FCHIN1∶P1=0F9HIN5:
P1=OFDH
IN2∶P1=0FAHIN5:
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--"
};
着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域,在生活中可以说得是无处不在。
因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的。
回顾起此次单片机课程设计,我仍感慨颇多,的确,从选题到定稿,从理论到实践,在接近四星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。
在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说不懂一些元器件的使用方法,对单片机汇编语言掌握得不好……通过这次课程设计之后,一定把以前所学过的知识重新温故。
通过这次单片机课程设计,我不仅加深了对单片机理论的理解,将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。
创新可以是在原有的基础上进行改进,使之功能不断完善,成为真己的东西。
我们花费了大量的时间和精力,更重要的是,我们在学会创新的基础上,同时还懂得合作精神的重要性,学会了与他人合作。
学习单片机这门课程要掌握单片机指令系统中汇编语言各种基本语句的意义及汇编语言程序设计的基本知识和方法,以及单片机与其他设备相连接的输入输出中断等接口技术。
使学生从硬件软件的结合上理论联系实际,提高动手能力,从而全面掌握单片机的应用。
致谢
本文的撰写是在老师、同学和朋友的支持下完成的,在此向他们表示衷心的感谢,首先感谢我们的XX老师,X老师作为我们专业课的任教老师具有广博的专业知识,超前的学术思维,指引着我们在学术研究中前进的方向,正是在X老师的悉心授课下,我们从对单片机这门课的一无所知到受益匪浅。
X老师在工作中治学严谨、踏实认真;在生活中态度和蔼、平易近人,在平时的交谈中总可以从他的话语中得到思维上的启迪,他不仅是我们的良师更是我们的益友。
在此真诚的感谢他!
另外还要感谢我们的同学和朋友们,他们给了我许多的建议和帮助,帮助我们查漏补缺,真得很感激他们。
最后感谢在我们背后默默支持我们的家人,在他们的关爱和鼓励下,我们体会到了前所未有的动力,让我们能够克服重重的困难完成任务。
参考文献
[1]孙毅刚,彭宇,赵光权,《单片机原理及接口技术》,人民邮电出版社,
[2]马忠梅,籍顺心,张凯,马岩,《单片机的C语言应用程序设计》,北京航空航天大学出版社,2003年
[3]李朝青,《单片机原理及接口技术》,北京航空航天大学出版社.1998年
[4]赵建领,《51系列单片机开发宝典》,电子工业出版社.2007年
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 按键 控制 蜂鸣器 播放 音乐 设计 论文