单片机乐曲演奏控制器.docx
《单片机乐曲演奏控制器.docx》由会员分享,可在线阅读,更多相关《单片机乐曲演奏控制器.docx(18页珍藏版)》请在冰豆网上搜索。
单片机乐曲演奏控制器
设计报告
题目:
基于单片机乐曲演奏控制器
Title:
BasedonSCMmusicplayingcontroller
姓名:
学号:
系别:
专业:
年级:
指导教师:
题目:
基于单片机乐曲演奏控制器
摘要
单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。
本文的主要内容是用AT89C2051单片机为核心控制元件,设计一个奏乐器,以单片机作为主控核心与LM386、扬声器等模块组成。
本系统运行稳定,其优点是硬件电路简单,软件功能完善,控制系统可靠,性价比较高等,具有一定的实用和参考价值。
关键词:
AT89C2051;LM386
Title:
BasedonSCMmusicplayingcontroller
Abstract
MCUcontrolwithpowerfulandflexibleprogrammingfeatures,ithasbeenintegratedintomodernpeople'slivesandbecomeanirreplaceablepart.ThemaincontentofthisarticleisAT89C2051MCUasthecorecontrolelements,todesignamusicalinstrumenttomasterMCUasthecoreandLM386,speakersandothermodules.Thesystemisstable,theadvantageofsimplehardwarecircuit,software,functional,andreliablecontrolsystem,highcost,etc.,hascertainpracticalanduseful.
Keywords:
AT89C2051;LM386
目录
摘要…………………………………………………………………………………1
引言…………………………………………………………………………………3
一、系统整体结构………………………………………………………………4
1.1AT89C2051简介…………………………………………………………………………………4
1.1.1电源和晶振……………………………………………………………………………………4
1.2.1I/O口…………………………………………………………………………………………4
1.2.2控制线…………………………………………………………………………………………4
1.3.1LM386简介……………………………………………………………………………………5
1.3.2LM386内部电路及特性………………………………………………………………………5
二、系统硬件设计…………………………………………………………………6
1.1、设计原理………………………………………………………………………………………6
1.2.单片机最小系统………………………………………………………………………………6
三、软件设计………………………………………………………………………7
四、总结…………………………………………………………………………8
五、参考文献………………………………………………………………………9
六、附录……………………………………………………………………………9
附录一:
原理图……………………………………………………………………………………10
附录二;PCB图………………………………………………………………………………………11
附录三:
元器件清单…………………………………………………………………………………12
附录四:
程序框图……………………………………………………………………………………14
附录五:
程序…………………………………………………………………………………………15
附录六:
歌谱…………………………………………………………………………………………16
经验教训:
…………………………………………………………………………19
引言
对单片机的学习和认识,并通过本次课程设计加以应用,从而达到一个对所学知识的巩固、更深一步的理解,面对一个电子设计,应对出系统的方案,分析出各个板块来,再对各个板块进一步的具体的设计,先进行硬件电路设计,此时一定要考虑好要用什么元件、各个元件的具体参数、是否能实现应有功能,从而得到一个完整的硬件电路。
在根据该电路设计出软件的功能模块、从而完成程序流程图,在根据流程图完成程序的设计,并通过反复的调试、运行、更正,直至完成既定功能为止,最后将软件、硬件结合进行调试、运行,对其功能进行最终测试,并反复思考其测试中遇到相应问题的原因,并将其一一处理,从而完成本次设计的实验要求,以及本次课程设计的最终目的。
图2.1AT89C2051芯片的引脚图
一、系统整体结构
1.1AT89C2051简介
AT89C51芯片的引脚图如图2.1:
1.1.1电源和晶振
Vdd—运行和程序校验时加+5V。
Vss—接地。
XTAL1—输入到振荡器的反相放大器。
XTAL2—反相放大器的输出,输入到内部时钟发生器。
1.2.2I/O口
当使用片外存储器(ROM及RAM)时,作地址和数据总线分时复用。
在程序校验期间,输出指令字节(这时,需加外部上拉电阻)。
作输入口时,应先用软件置“1”。
P1--8位、准双向I/O口,具有内部上拉电阻。
在编程/校验期间,用做输入低位字节地址。
作输入口时,应先用软件置“1”。
P3--8位、准双向I/O口,具有内部上拉电阻。
作输入口时,应先软件置“ 1”。
P3提供各种替代功能。
在提供这些功能时,其输出锁存器应由程序置1。
串行口:
P3.0—RXD串行输入口
P3.1—TXD串行输出口
中断:
P3.2—/INT0外部中断0,输入。
P3.3—/INT1外部中断1,输入。
定时器/计数器:
P3.4—T0定时器/计数器0的外部输入。
P3.5—T1定时器/计数器1的外部输入。
1.2.3控制线
输入:
RST—复位输入信号,高电平有效。
在振荡器工作时,在RST上作用两个机器周期以上的高电平,将器件复位。
EA/Vpp—片外程序存储器访问允许信号,低电平有效。
在编程时,其上施加21V的编程电压。
1.3.1LM386简介
LM386是一种音频集成功放,具有自身低耗、电压增益可调整。
电源电压范围大、外接元件少和总谐波失真小等优点,广泛应用于录音机和收音机之中。
图2.2LM386芯片的引脚图
1.3.2LM386内部特性
LM386芯片的引脚图如图:
引脚2为反相输入端。
3为同相输入端;引脚5为输出端;引脚6和4分别为电源和地;引脚1和8为电压增益设定端;使用时在引脚7和地之间接旁路电容,通常取10uF。
查LM386的电源电压4-12V或5-18V;态消耗电流为4mA;电压增益为20-200dB;在1、8叫开路时,带宽为300KHZ;输入阻抗为50K;音频功率0.5W。
尽管LM386的应用非常简单,但稍微不注意,特别是器件上电、断电瞬间,甚至工作稳定后,一些操作都会带来瞬间冲击,在输出喇叭上会产生非常讨厌的噪声。
要注意以下几点:
1、通过接在1脚(接+极)8脚间的电容来改变增益,断开时增益为20dB。
用不到大的增益,电容就不要接了不光省了成本,还会带来好处,噪声减少。
2、PCB设计时,所有外围元件尽可能靠近LM386;地线尽可能粗一些;输入音频信号通路尽可能平行走线,输出亦如此。
3、选好调节音量的电位器,阻值不要太大,10K最合适,太大也会影响音质。
4、尽可能采用双音频输入/输出。
好处是:
“+”、“—”输出端可以很好地抵消共模信号,故能有效抑制共模噪声。
5第7脚的旁路电容不可少,起到滤除噪声的作用。
工作稳定后,该管脚电压值约等于电源电压的一半。
增大这个电容的容值,减缓直流准电压的上升、下降速度,有效抑制噪声。
在器件上电、掉电时的噪声就是由该偏置电压的瞬间跳变所致。
6、减少输出耦合电容。
此电容的作用有二:
隔直+耦合。
隔断直流电压,直流电压过大有可能会损坏喇叭线圈;耦合音频的交流信号。
它与扬声器负载构成一个高通滤波器。
减小该电容值,可使噪声能量冲击的幅度变小、宽度变窄;太低还会使截止频率(Fc=1/(*R*Cout))提高,分别测试,发现10uF/4.7uF最为合适。
7、如果系统中有很多组电源,由于电压不同、负载不同以及并联的去耦合电容不同,每组电源的上升、下降时间必有差异。
非常可行的方法:
将上电、掉电时间短的电源放到+12V处,选择上升相对比较慢的电源为LM386的Vs,但不要低于4V。
二、系统硬件设计
1、设计原理
声音的频谱范围约再几十到几千赫兹,利用程序控制单片机某I/O口产生一定频率地矩形波,经放大后接上扬声器就能发出一定频率地声音。
要奏出一首曲子,还必须准确地控制乐曲节奏,即音符地持续时间,常用节拍来表示。
音符的节拍可用定时器来控制。
因此,我们可以编制代码,规定每个音符使用1个字节,字节高4位为音符码代表音符的高低;低4位为节拍码代表音符的节拍。
2、单片机最小系统
(1)时钟电路
时钟电路是计算机的心脏,它是控制着计算机的工作节奏。
MCS-51内部都有一个反相放大器,XTAL1、XTAL2分别是反相放大器输入和输出端,外接定时反馈元件就组成震荡器产生时钟送至单片机内部的各个部件。
如下图所示,片内电路与片外器件构成一个时钟发生电路,CPU的所有操作均在时钟脉冲同步下进行。
片内振荡器的震荡频率fOSC非常接近晶振频率,一般多在1.2MHz~12MHz之间选取,这次用的时钟频率是11.0592MHz。
图3.8中C7、C8是反馈电容,其值在5pF~30pF之间选择,其典型值是30Pf。
作用有两个:
其一是使振荡器起振,其二是对振荡器的频率f起微调作用
(2)复位电路
系统在启动运行时都要复位,使中央处理器和系统中的其他部件都处于一个确定的初始状态,并从这状态开始工作。
采用按键复位方式。
在按键的瞬间,电容通过电阻充电,就在端出现一定时间的高电平。
只要保持RST引脚为高电平时间足够长,就可使CPU复位。
所需高电平时间的长短与Vcc上升时间和振荡器起振时间有关。
10MHz时,约1ms;1MHz时,约10ms。
若Vcc上升时间小于20ms,那么从上电时间算起,只要保持RST引脚在高电平停留时间不小于20ms即EA端接VCC,让单片机读取内部存储器的数据。
三、软件设计
1、音符的产生及编码
(1)、先找出每个音符对应的频率f,算出其周期的1/2,再除以机器周期1us得到计数值N,选用单片机内部的定时器/计数器0工作方式1,则其计数初值为65536-N。
(2)、分别赋予不同的计数初值,当定时器/计数器0计满溢出响应中断时,将P1.5取反,得到不同频率的脉冲,即产生不同的音调
(3)、将乐曲中所有用到的音符按低、中、高的顺序编码,如下所示:
音符
代码
定时初值
低音1
1
63628
低音4
2
64103
低音5
3
64260
低音6
4
64400
低音7
5
64524
中音1
6
64580
中音2
7
64684
中音3
8
64777
中音4
9
64820
中音5
A
64898
中音6
B
64968
中音7
C
65030
高音1
D
65058
高音2
E
65110
高音3
F
65157
(4)、按同样的顺序为各音符的计数初值建立一张表,通过代码就能获得表中对应的计数初值。
2、节拍的编码
(1)、找出简谱中最短的节拍(1/4节拍),并以其为基准,则各音符的节拍码如下图所示:
节拍
1/4
1/2
3/4
1
5/4
6/4
7/4
2
9/4
10/4
11/4
12/4
13/4
14/4
15/4
节拍码
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
(2)、用定时器/计数1中断的方法来实现音符的节拍,每50ms中断一次,重复循环8次,则1/4节拍为0.4s
3、编写音乐代码
根据简谱,依次找出每个音符代码及节拍码,按照把音符码放在高4位节拍码放在低4位的方法组合成一个字节,并建立一个表格按顺序存放,则通过顺序查表的方式,就能获得音符及节拍的信息。
四、实验及总结
1、实验操作
将程序烧写进芯片,然后接通电源,按下“播放键”就可以播放音乐,而且可通过调节单联电位器调节音量的高低。
2、设计总结
(1)、布图时有考虑到单联电位器的位置要方便调试时使用,却忘了考虑AT89C2051的位置导致在烧写程序时拆装芯片不方便。
(2)、设计时有不把地线接出来,在调试时不小心把地线和电源线一起接到变压器,过了几秒发现不能播放才把电源给拔了,结果电流过大,二极管被烧坏,电路板上的铜线也被烧断了3条。
换了二极管,并将断掉的铜线补上,再一次调试发现可以播放音乐。
五、参考文献或资料
1、胡健.单片机原理及接口技术实践教程.机械工业出版社
2、张俊谟.单片机中级教程原理与应用.北京航空航天大学出版社
3、张毅坤,陈善久,裘雪红.单片微型计算机原理及应用.西安电子科技大学出版社.2008年5月
4、楼然苗,李光飞,51系列单片机设计实例[M],北京航空航天大学出版社,2003:
77~82
5、齐国亮刘亚军,一种LED混合显示屏的研制[J],电子技术与应用,
2002年4月:
35~36
6、赵辉,刘印华.PROTEL99电子线路CAD.北京邮电大学出版社.2008年1月
附录
附录1:
原理图
附录2:
PCB图
附录3:
元件清单
附录4:
程序框图
附录5:
程序
附录6:
歌谱
附录1:
原理图
附录2:
PCB图
附录3:
元件清单
序号
名称
代号
型号和规格
数量
1
AT89C2051
1
2
LM386
1
3
电位器
R3
10K
1
4
电阻
R1
10K
1
5
电阻
R2
200
1
6
电阻
R4
2K
1
7
电阻
R5
50
1
8
按键
K
1
9
扬声器
Speak
1
10
晶振
Y
12MHZ
1
11
电容
104
3
12
电容
C7
473
1
13
电解电容
C6
220µF/25V
1
14
电解电容
10µF/25V
2
附录3:
程序框图
子程序
附录4:
程序
ORG0000H
LJMPSTART
ORG000BH
LJMPT0INT
ORG001BH
LJMPT1INT
ORG0040H
START:
MOVSP,#40H
MOVIP,#08H
MOVTMOD,#11H
SETBEA
SETBET1
SETBET0
SETBTR1
SETBTR0
MOVDPTR,#TAB1
NEXT:
MOVA,#00H
MOVCA,@A+DPTR
CJNEA,#'$',COUNT
LJMPEXIT
COUNT:
RLA
MOVR7,A
INCDPTR
MOVA,#00H
MOVCA,@A+DPTR
MOVR6,A
INCDPTR
PUSHDPH
PUSHDPL
MOVDPTR,#TABLE
MOVA,R7
MOVCA,@A+DPTR
MOVTH0,A
MOVA,R7
INCA
MOVCA,@A+DPTR
MOVTL0,A
MOVTH1,#3CH
MOVTL1,#0B0H
POPDPL
POPDPH
HERE1:
CJNER6,#00H,HERE1
LJMPNEXT
EXIT:
CLRTR0
CLRTR1
CLRP1.5
HERE:
AJMPHERE
T0INT:
CPLP1.5
PUSHDPH
PUSHDPL
MOVDPTR,#TABLE
MOVA,R7
MOVCA,@A+DPTR
MOVTH0,A
MOVA,R7
INCA
MOVCA,@A+DPTR
MOVTL0,A
POPDPL
POPDPH
RETI
T1INT:
MOVTH1,#3CH
MOVTL1,#0B0CH
DECR6
RETI
TAB1:
天仙子
DB17,05,17,05,17,10,16,05,16,05,16,10
DB15,05,15,05,15,10,13,05,13,05,13,10
DB13,05,12,05,13,05,15,05,13,15,15,05
DB16,05,16,05,16,10,15,05,15,05,15,10
DB14,05,14,05,13,10,12,05,12,05,10,10
DB09,05,09,05,10,05,12,05,10,10,10,03,12,03,13,03,08,03
DB13,15,12,05,13,10,10,03,12,03,13,03,15,03
DB09,15,10,05,09,10,06,03,08,03,09,03,10,03
DB09,15,10,05,12,05,10,05,09,05,08,05,06,05
DB06,40
DB06,40
DB13,05,10,05,12,05,13,05,15,10,14,05,15,05,14,05
DB13,40
DB13,05,12,05,10,05,12,05,09,05,10,05,12,05,11,05
DB10,40
DB09,15,09,05,08,10,09,10
DB12,05,09,05,10,20,10,05,12,05
DB13,30,15,05,14,05
DB13,30,13,05,15,05
DB16,10,15,10,14,05,13,05,12,10
DB13,40
DB09,15,09,05,08,10,09,10
DB10,05,12,05,09,05,11,05,10,20
DB13,05,13,05,13,05,15,05,16,05,17,05,15,10
DB16,30,13,05,15,05
DB16,10,16,05,17,05,16,10,15,05,14,05
DB13,30,10,05,12,05
DB09,30,10,05,12,05
DB13,30,13,05,15,05
DB16,10,15,10,14,05,13,05,12,10
DB13,30,13,05,15,05
DB16,10,16,05,17,05,14,05,13,05,12,10
DB13,40
DB13,40
xiajie1:
DB13,05,10,05,12,05,13,05,15,10,14,05,15,05,14,05
DB13,40
DB13,05,12,05,10,05,12,05,09,05,10,05,12,05,11,03
DB10,40
DB09,15,09,05,08,10,09,10
DB12,05,09,05,10,20,10,05,12,05
DB13,30,15,05,14,05
DB13,30,13,05,15,05
DB16,10,15,10,14,05,13,05,12,10
DB13,40
DB09,15,09,05,08,10,09,10
DB10,05,12,05,09,05,11,05,10,20
DB13,05,13,05,13,05,15,05,16,05,17,05,15,10
DB16,30,13,05,15,05
DB16,10,16,05,17,05,16,10,15,05,14,05
DB13,30,10,05,12,05
DB09,30,10,05,12,05
DB13,30,13,05,15,05
DB16,10,15,10,14,05,13,05,12,10
DB13,30,13,05,15,05
DB16,10,16,05,17,05,14,05,13,05,12,10
DB13,40
DB13,40,'$'
TABLE:
DW0
DW63628,63835,64021,64103,64260,64400,64524
DW64580,64684,64777,64820,64898,64968,65030
DW65058,65110,65157,65178,65217,65252,65283
END
附录6:
歌谱
经验教训
通过此次的课程设计,我对书上的知识有了更深刻的认识,发现只有理论联系实践才能对知识有更深刻的理解。
另外,通过查阅各种资料,我对单片机有了更深层次的理解。
单片机具有强大的功能,在日常生活中有广泛的应用,利用单片机可以开发出各种智能化的电子产品,单片机产业是一个朝阳产业,前途一片光明。
总之,通过这次课程设计,我发现自己的视野更宽广了,同时增加了应对各种问题的能力和与他人沟通交流的能力。
另外,我也深深认识到了自己的不足,知识体系还不够完备,对单片机设计还不够熟练,一些方面还有待加强与完善!