音乐盒正文.docx
- 文档编号:23423044
- 上传时间:2023-05-16
- 格式:DOCX
- 页数:18
- 大小:129.23KB
音乐盒正文.docx
《音乐盒正文.docx》由会员分享,可在线阅读,更多相关《音乐盒正文.docx(18页珍藏版)》请在冰豆网上搜索。
音乐盒正文
摘要
本文是应用MCS-51单片机原理和控制理论设计音乐演奏控制器的硬件电路,并利用汇编语言进行程序设计。
通过控制单片机内部的定时器来产生不同频率的方波,驱动喇叭发出不同音调的音乐,再利用延迟来控制发音时间的长短。
把乐谱转化成相应的定时常数就可以从发音设备中演奏出悦耳动听的音乐。
这种控制电路结构简单,可靠性高,应用性强;软件程序适应范围广,对于不同的音乐只需要改变相应的定时常数即可。
对单片机和音乐爱好者有一定的借鉴价值。
关键词:
AT89C51单片机;音乐盒;WAVE;PROTEUS
目录
摘要I
1设计任务和要求1
1.1设计任务1
1.2任务要求1
2总体设计2
2.1系统方案介绍2
3.2时钟振荡电路7
3.4系统总电路8
4软件设计9
5仿真与调试10
5.1PROTEUS软件简介10
5.2WAVE软件简介10
5.3系统仿真11
6总结12
附件13
参考文献17
1设计任务和要求
1.1设计任务
了解并熟悉单片机控制蜂鸣器的发声原理,把蜂鸣器与单片机构成系统,通过程序控制从而得到音乐的演奏。
利用定时器的定时产生不同频率的方波,使蜂鸣器发出不同的音调,同时通过调用延时程序控制节拍,把乐谱中的音符和相应的节拍变换为定常数和延迟常数,作为数据表格存放在存储器中。
由程序查表得到定时常数和延迟常数,分别用以控制定时器产生方波的频率和发出该频率方波的持续时间。
当延迟时间到时,再查下一个音符的定时常数和延迟常数。
依次下去,就可以自动演奏乐曲。
1.2任务要求
1、完成AT89C51的外围复位、时钟和电源等外围电路的设计,完成扬声器驱动设计。
2、根据各音阶频率算出定时器定时常数,根据节拍给出该音阶持续的时间。
3、完成音乐播放软件并完成乐谱表的翻译,最好能编写一个播放子程序用于播放。
4、播放音乐片段。
2总体设计
2.1系统方案介绍
采用单片机来设计电路。
此电路包括时钟电路、复位电路、音乐驱动电路和AT89C51单片机。
各部分功能如下:
(1)时钟电路:
由石英晶体振荡器产生单片机工作时所必须的时钟信号。
振荡器采用12M的晶振,使之机器周期Tcy=1us,方便发音程序的计算和编译。
(2)复位单路:
由复位按键使单片机的CPU和系统中其他部件都处于一个确定的初始状态,并从这个状态开始工作。
(3)音乐驱动电路:
由于单片机最大灌入电流为3.2mA,所以选用PNP管,并要在PNP的基极和发射极加限流电阻。
2.2系统组成框图
音乐盒的系统结构以AT89C51单片机位控制核心,加上时钟复位电路、蜂鸣器、组成。
单片机负责接收按键的输入,根据时钟复位电路的输入控制蜂鸣器发音。
系统组成框图如图2.1所示。
图2.1系统组成框图
2.1.2系统音符确定
单片机演奏音乐基本是单音频率,它不包含相应幅度的谐波频率,也就是说不能象电子琴那样能奏出多种音色的声音,但一定要弄清楚两个概念即可,也就是“音调”和“节拍”。
·音调表示一个音符唱多高的频率。
·节拍表示一个音符唱多长的时间。
音调
在音乐中所谓“音调”,其实就是我们常说的“音高”。
在音乐中常把中央C上方的A音定为标准音高,其频率f=440Hz,其余与其比较。
f1和f2为两个音符,当这两个音符的频率相差一倍时,也即f2=2×f1时,则称f2比f1高一个倍频程。
在音乐中1与
,2与
……,正好相差一个倍频程,在音乐学中称它相差一个八度音。
在一个八度音内,有12个半音。
以1—i八音区为例,12个半音是:
1—#1、#1—2、2—#2、#2—3、3—4、4—#4,#4—5、5一#5、#5—6、6—#6、#6—7、7—i。
这12个音阶的分度基本上是以对数关系来划分的。
如果我们只要知道了这十二个音符的音高,也就是其基本音调的频率,我们就可根据倍频程的关系得到其他音符基本音调的频率。
1.确定一个频率所对应的定时器的定时初值的方法
以标准音高A为例:
标准音高A的频率f=440Hz,其对应的周期为:
因此,需要在单片机I/O端口输出周期为T=2272μs的方波脉冲,如下图所示。
由上图可知,单片机上对应喇叭的I/O口来回取反的时间应为:
此处分两种方式叙述,请比较选用,其实结果相同:
Ⅰ.这个时间t也就是单片机上定时器应有的中断触发时间。
一般情况下,单片机奏乐时,其定时器为工作方式1,它以振荡器的十二分频信号为计数脉冲。
设振荡器频率为f0,则定时器的予置初值由下式来确定:
式中,TALL=216=65536,THL为定时器待确定的计数初值。
因此定时器的高低计数器的初值为:
TH=THL/256=(TALL–t×f0/12)/256
TL=THL%256=(TALL–t×f0/12)%256
将t=1136μs代入上面两式(注意:
计算时应将时间和频率的单位换算一致),即可求出标准音高A在单片机晶振频率f0=12Mhz,定时器在工作方式1下的定时器高低计数器的预置初值为:
TH440Hz=(65536–1136×12/12)/256=FBH
TL440Hz=(65536–1136×12/12)%256=90H
根据上面的求解方法,我们就可求出其他音调相应的计数器的予置初值。
Ⅱ.假设单片机晶振频率f0=12Mhz,定时器在工作方式1
计数脉冲值与频率的关系为:
其中N——计数值;
FI——内部计时一次为1us,故其频率为1MHz;
FR——要产生的频率。
其计数值的求法为:
则标准音高A(频率f=440Hz)的计数值为:
下面给出C调各音符频率值和定时器定时初值表1:
(晶振频率f0=12Mhz,定时器在工作方式1)
表1C调各音符频率值和定时初值对照表
C调音符
频率Hz
262
277
293
311
329
349
370
392
415
440
466
494
TH/TL
F88B
F8F2
F95B
F9B7
FA14
FA66
FAB9
FB03
FB4A
FB8F
FBCF
FC0B
C调音符
1
1#
2
2#
3
4
4#
5
5#
6
6#
7
频率Hz
523
553
586
621
658
697
739
783
830
879
931
987
TH/TL
FC43
FC78
FCAB
FCDB
FD08
FD33
FD5B
FD81
FDA5
FDC7
FDE7
FE05
C调音符
频率Hz
1045
1106
1171
1241
1316
1393
1476
1563
1658
1755
1860
1971
TH/TL
FB21
FE3C
FE55
FE6D
FE84
FE99
FEAD
FEC0
FE02
FEE3
FEF3
FF02
对于非C调的歌曲,要对各音符的频率做相应的变化
调号——音乐上指用以确定乐曲主音高度的符号。
升C调:
1=#C,也就是降D调:
1=bD;277(频率)
升D调:
1=#D,也就是降E调:
1=bE;311
升F调:
1=#F,也就是降G调:
1=bG;369
升G调:
1=#G,也就是降A调:
1=bA;415
升A调:
1=#A,也就是降B调:
1=bB。
466
3硬件设计
3.1AT89C51单片机简介
本次设计使用单片机芯片AT89C51,其引脚图如图3.1所示。
AT89C51的工作特性:
•内含4KB的FLASH存储器檫写次数1000次;
•内含128字节的RAM;
•具有32根可编程I/O线;
•具有2个16位编程定时器;
•具有6个中断源,5个中断矢量,2级优先权的中断结构;
•具有1个全双工的可编程串行通信接口;
•具有1个数据指针DPTR;
•具有可编程3级程序锁定位;
•AT89C51的工作电源为5(1±0.2)V且典型值为5V;
•AT89C51最高工作频率为24MHZ;
•AT89C51的编程频率为3~24MHZ,编程启动电流和启动电压分别为1mA、5或12V。
3.2时钟振荡电路
AT89C51中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。
这个放大器与作为反馈元件的片外石英晶体或者陶瓷谐振器一起构成自然振荡器。
外接石英晶体及电容C1、C2接在放大器的反馈回路中构成并联振荡电路。
对外接电容C1,C2虽然没有什么严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程序及温度稳定性。
如果使用石英晶体,我们推荐电容使用30PF
10PF,而如果使用陶瓷振荡器建议选择40PF
10PF。
用户也可以采用外部时钟。
采用外部时钟的电路如图示。
这种情况下,外部时钟脉冲接到XTAL1端,即内部时钟发生器的输入端,XTAL2则悬空。
由于外部时钟信号是通过一个2分频触发器后作为内部时钟信号的,所以对外部时钟信号的占空比没有特殊要求,但最小高电平持续时间和最大的低电平持续时间应符合产品技术条件的要求。
振荡器电路如图3.2
图3.2振荡器电路
3.3发声电路简介
发声电路经过P0.7口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而演乐曲。
发声电路如图3.3
图3.3发声电路
3.4系统总电路
总体硬件电路实现功能如下,如图3.4所示
1、电路中用按键控制复位电路。
2、P0.7控制蜂鸣器。
3、电路为12MHZ晶振频率工作,起振电路中C1、C2均为22PF。
图3.4系统总电路
4软件设计
本程序可以实现课程设计的基本要求,程序流程图如下:
程序初始化确定定时器初值、开中断、启动定时器;读取节拍和音符;判定音符是否为零,若为零的话则程序结束,若不为零则取下一音符,继续判定音符是否为零,一次循环。
程序流程图如图4.1所示。
图4.1程序流程图
根据程序流程图设计软件程序,在WAVE软件中编写程序,生成后缀为“.ASM”格式文件,编译后生成后缀为“.HEX”格式六进制文件。
5仿真与调试
本设计利用WAVE编程软件对音乐盒源程序进行编程并调试,配合PROTEUS仿真软件对硬件进行仿真调试,两种软件的简介如下:
5.1PROTEUS软件简介
Proteus软件是英国Labcenterelectronics公司出版的EDA工具软件(该软件中国总代理为广州风标电子技术有限公司)。
它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。
它是目前最好的仿真单片机及外围器件的工具。
虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。
Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。
是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年即将增加Cortex和DSP系列处理器,并持续增加其他系列处理器模型。
在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。
5.2WAVE软件简介
单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。
机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,WAVE软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持WAVE即可看出。
WAVE提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境将这些部份组合在一起。
5.3系统仿真
在PROTUES检查各硬件管脚是否连接正确,线路逻辑是否正确,例如:
晶振电路的连接,复位电路是否设计正确。
1.根据系统的原理结构检查各流程图是否正确,再根据流程图来检查程序是否也正确。
2.将所有程序组织起来,在软件环境下运行,检查程序是否正确。
通过对硬件和软件系统的认真检查,反复测试,如果没有出现问题即可把源程序编译成HEX文件装载到单片机中,对硬件进行仿真。
将WAVE软件生成的HEX文件装载到单片机中,对硬件进行仿真,进行调试。
PROTUES仿真如图5.1所示。
图5.1系统仿真图
6总结
此次设计过程中,我们查了一些相关资料,使得我们更深层的了解了单片机芯片的工作原理以及软件、硬件如何联系起来实现我们的要求。
经过我们共同努力之下,不仅完成本次设计的具体相关要求,也熟练掌握了AT89C51芯片的具体功能和注意事项。
此外,设计中所涉及到的元器件还有:
三极管、电阻、瓷片电容等,我们通过查了相关元器件的作用及其工作原理,并对其进行验算,从而进一步地减少实验误差。
在我们的不懈努力下加上老师的些许指导,最终还是发现了问题的原因,我们从而查找相关资料和不断地试验最终实现了乐曲的播放。
在整个设计过程中,我们不仅能将书本上学到的关于单片机相关的知识于实践相结合,而且还培养了团队合作精神以及提高了自学能力。
这将对我们今后的实践提供了有很大的基础。
它更加让我们意识到:
理论和实践相结合的重要性。
虽然电路看上比较简单,但实际行动起来将会遇到许多挫折以及其它一些客观的因素。
因此,设计过程中要保持一种持之以恒、严谨的设计作风思想,这样才会在遇到问题时能够发现和解决问题。
设计已经结束,但它留给我们的不单是作品,更是一堂生动的课程。
它教会我们只有不断努力、不断吸取经验和教训和团结合作才会取得最终的成功!
我相信经过此次设计,我们今后会取得更大的成功的!
附件
音乐程序
ORG0000H
LJMPMAIN
ORG000BH
LJMPTIME0
ORG0040H
MAIN:
MOVTMOD,#01H;设定定时器0为方式1
SETBEA;开中断总开关
SETBET0;开中断过0
SETBTR0;开定时器0
MAIN1:
MOV40H,#0
MAIN2:
MOVA,40H
MOVDPTR,#TABLE
MOVCA,@A+DPTR
CJNEA,#00H,PLAY;音符是否为零,不为零跳转至播放程序PLAY,为零跳转至停止
AJMPSTOP
PLAY:
MOVR1,A;播放程序
ANLA,#0FH
MOVR2,A
MOVA,R1
ANLA,#0F0H
CJNEA,#00H,MUSIC
CLRTR0
AJMPDEL
MUSIC:
SWAPA;音乐程序
DECA
MOV22H,A
ADDA,22H
MOVR3,A
MOVDPTR,#TABLE1
MOVCA,@A+DPTR
MOVTH0,A
MOV21H,A
MOVA,R3
INCA
MOVCA,@A+DPTR
MOVTL0,A
MOV20H,A
SETBTR0
DEL:
LCALLDELAY;取下一音符
INC40H
LJMPMAIN2
STOP:
CLRTR0;停止程序
LJMPMAIN1
TIME0:
PUSHACC;入栈保护现场
PUSHPSW
CPLP0.7
MOVTL0,20H
MOVTH0,21H
POPPSW
POPACC
RETI
DELAY:
MOVR7,#2;延时程序
LL1:
MOVR6,#125
LL2:
MOVR5,#248
DJNZR5,$
DJNZR6,LL2
DJNZR7,LL1
DJNZR2,DELAY
RET
TABLE1:
DW64580,64684,64777,64820,64898,64968,65030
DW63628,63835,64021,64103,64260,64400,64524
TABLE:
DB04H;1=C2/4军港之夜
DB32H,54H,52H,32H,54H,52H,32H,12H,12H,32H,32H,54H,52H,32H,52H,52H,32H,32H,21H,31H,24H,0E2H,0D1H,0E1H,0D2H,0C2H,14H,14H
DB0C2H,32H,32H,12H,21H,31H,24H,32H,34H,0D2H,0C2H,14H,14H,32H,52H,52H,32H,52H,54H,32H,34H,31H,21H,12H,24H,24H
DB34H,0E2H,0C2H,0D1H,0E1H,0D4H,12H,0E2H,32H,32H,0E2H,0D1H,0E1H,0D4H,0D2H,0E2H,32H,32H,0E2H,0E2H,0D1H,0E1H,0D4H
DB22H,0D1H,11H,0E2H,0D2H,0C4H,0C4H,32H,52H,52H,32H,62H,5H,61H,54H,31H,52H,31H,12H,31H,31H,32H,54H,52H,32H,52H,52H,32H
DB32H,21H,31H,24H,0E2H,0D1H,0E1H,0D2H,0C2H,34H,34H,32H,52H,52,32H,62H,51H,61H,54H,31H,52H,31H,12H,32H,12H,32H,32H,54H,52H
DB32H,52H,52H,31H,31H,32H,21H,31H,24H,0E2H,0D1H,0E1H,0D2H,0C2H,14H,14H
DB32H,52H,52H,32H,32H,21H,31H,24H,0E2H,0D1H,0E1H,0D2H,0C2H,14H,14H
DB0C2H,32H,32H,12H,21H,31H,24H,32H,34H,0D2H,0C2H,14H,14H,32H,52H,52H,32H,52H,54H,32H,34H,31H,21H,12H,24H,24H
DB34H,0E2H,0C2H,0D1H,0E1H,0D4H,12H,0E2H,32H,32H,0E2H,0D1H,0E1H,0D4H,0D2H,0E2H,32H,32H,0E2H,0E2H,0D1H,0E1H,0D4H
DB22H,0D1H,11H,0E2H,0D2H,0C4H,0C4H,32H,52H,52H,32H,62H,5H,61H,54H,31H,52H,31H,12H,31H,31H,32H,54H,52H,32H,52H,52H,32H
DB32H,21H,31H,24H,0E2H,0D1H,0E1H,0D2H,0C2H,34H,34H,32H,52H,52,32H,62H,51H,61H,54H,31H,52H,31H,12H,32H,12H,32H,32H,54H,52H
DB32H,52H,52H,31H,31H,32H,21H,31H,24H,0E2H,0D1H,0E1H,0D2H,0C2H,14H,14H
DB32H,52H,52H,32H,32H,21H,31H,24H,74H,0D2H,0C2H,14H,14H,14H,14H
DB00H
END
参考文献
[1]李朝青.单片机原理及接口技术[M],北京航空航天大学出版社,2006.12.
[2]THKSCM-1型单片机开发综合实验装置实验指导书[Z],浙江天煌科技实业有限公司.
[3]邱关源.电路[M],高等教育出版社,2006.5.
[4]张克农.数字电子技术基础[M],高等教育出版社,2003.4.
[5]耿苏燕.模拟电子技术基础[M],高等教育出版社,2004.7.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 音乐盒 正文