简易电子琴Word文件下载.docx
- 文档编号:18485306
- 上传时间:2022-12-17
- 格式:DOCX
- 页数:25
- 大小:419.14KB
简易电子琴Word文件下载.docx
《简易电子琴Word文件下载.docx》由会员分享,可在线阅读,更多相关《简易电子琴Word文件下载.docx(25页珍藏版)》请在冰豆网上搜索。
附录二14
附录三24
附录四26
摘要
随着社会的发展进步,音乐逐渐成为我们生活中很重要的一部分,有人曾说喜欢音乐的人不会向恶。
我都会抽空欣赏世界名曲,作为对精神的洗礼。
本论文设计一个基于单片机的简易电子琴。
我对于电子琴如何实现其功能,如声音强弱控制、节拍器、自动放音功能等等也很好奇。
电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。
它在现代音乐扮演着重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。
本文的主要内容是用AT89S52单片机为核心控制元件,设计一个电子琴。
以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有16个按键和扬声器。
本系统运行稳定,其优点是硬件电路简单,软件功能完善,控制系统可靠,性价比较高等,具有一定的实用和参考价值。
关键词
电子琴;
单片机;
汇编语言;
4×
4键盘
课设题目:
摘要:
电子琴是现代电子科技与音乐结合的产物,它在现代音乐中扮演着重要角色。
本文阐述的主要内容是一种基于AT89S52单片机的简易电子琴的设计。
设计的电子琴以52单片机为核心,通过与4x4键盘、音频放大电路、音乐播放模块、电源电路、复位电路相连,采用汇编语言编写程序,实现音乐播放和使用琴键自编曲目功能。
关键词:
引言
单片微型计算机是大规模集成电路技术发展的产物,属第四代电子计算机,它具有高性能、高速度、体积小、价格低廉、稳定可靠、应用广泛的特点。
它的应用必定导致传统的控制技术从根本上发生变革。
因此,单片机的开发应用已成为高科技和工程领域的一项重大课题。
电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。
本文主要对使用单片机设计简易电子琴进行了分析,并介绍了基于单片机电子琴统硬件组成。
利用单片机产生不同频率来获得我要求的音阶,最终可随意弹奏想要表达的音乐。
并且本文分别从原理图,主要芯片,各模块原理及各模块的程序的调试来详细阐述。
一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,当然对于单片机来产生不同的频率非常方便,我可以利用单片机的定时/计数器T0来产生这样方波频率信号,因此,我只要把一首歌曲的音阶对应频率关系弄正确即可。
1、方案论证
方案一:
用可控硅制作电子琴,将220V交流电经变压器降压,再经过滤波,整形获得+13.5V直流电压,将单向可控硅SCR和电阻、电容组成驰张振荡器电路。
但该方案制作成本高且复杂。
故不采用。
方案二:
采用AT89C52单片机进行控制,但由于AT89C52在属于低档的单片机,已经面临淘汰,且仿真器价格昂贵,不易擦除。
方案三:
采用两个555集成定时器组成简易电子琴,整个电路由主振荡器,颤音振荡器,扬声器和琴键按钮等部分组成。
由于555产生的信号不稳定且精度不高。
方案四:
采用采用AT89S52单片机进行控制,以AT89S52单片机为核心控制元件,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有16个按键和扬声器。
程序易擦除,比较方便。
根据以上比较可知应采用四种方案
二、系统设计
本电子琴系统主要包括AT89S52单片机,4x4键盘,发声模块,选播音乐模块,系统框图如图1所示。
图1
三、功能模块介绍
3.1时钟电路分析
此系统的时钟电路设计是采用的内部方式,即利用芯片内部的振荡电路。
AT89S52内部有一个用于构成振荡器的高增益反相放大器。
引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。
这个放大器与作为反馈元件的片外晶体谐振器一起构成一个自激振荡器。
外接晶体谐振器以及电容CX1和CX2构成并联谐振电路,接在放大器的反馈回路中。
对外接电容的值虽然没有严格的要求,但电容的大小会影响震荡器频率的高低、震荡器的稳定性、起振的快速性和温度的稳定性。
因此,此系统电路的晶体振荡器的值为12MHz,电容应尽可能的选择陶瓷电容,电容值约为30pF。
在焊接刷电路板时,晶体振荡器和电容应尽可能安装得与单片机芯片靠近,以减少寄生电容,更好地保证震荡器稳定和可靠地工作。
3.2复位电路的论证和分析:
AT89S52的复位是由外部的复位电路来实现的。
片内复位电路是复位引脚RST通过一个斯密特触发器与复位电路相连,斯密特触发器用来抑制噪声,它的输出在每个机器周期的S5P2,由复位电路采样一次。
复位电路通常采用上电自动复位和按钮复位两种方式,此电路系统采用的是上电与按钮复位电路,当时钟频率选用12MHz时,C取10μF,Rs约为100Ω,Rk约为10KΩ。
3.3音频放大电路:
音频放大电路(图2)的选用对电子琴的音色及音量具有决定性的作用。
本设计发声模块主要采用LM386,LM386是一种音频集成功放,具有自身功耗低,电压增益可调整,电源电压范围大,外接元件少和总谐波失真小等优点。
广泛应用于录音机和收音机之中。
LM386内部电路原理图(图3)所示与通用型集成运放相类似,它是一个三级放大电路第一级为差分放大电路T1和T3T2和T4分别构成复合管作为差分放大电路的放大管T5和T6组成镜像电流源作为T1和T2的有源负载T3和T4信号从管的基极输入,T2管的集电极输出为双端输入单端输出差分电路,使用镜像电流源作为差分放大电路有源负载可使单端输出电路的增益近似等于双端输出电容的增益第二级为共射放大电路,T7为放大管,恒流源作有源负载,以增大放大倍数第三级中的T8和T9管复合成PNP型管,与NPN型管T10构成准互补输出级。
二极管D1和D2为输出级提供合适的偏置电压可以消除交越失真。
引脚2为反相输入端,引脚3为同相输入端。
电路由单电源供电故为OTL电路。
输出端引脚5应外接输出电容后再接负载。
电阻R7从输出端连接到T2的发射极,形成反馈通路,并与R5和R6构成反馈网络,从而引入了深度电压串联负反馈使整个电路具有稳定的电压增益。
图2音频放大器电路
图3LM386内部电路原理图
3.4键盘模块
当按键较多时会占用更过的控制器端口,为减少对端口的占用,本设计采用4×
4矩阵键盘(图4),键盘矩阵行线连接P2.0~P2.3,列线连接P2.4~P2.7,扫描过程如下:
程序首先判断是否有键按下,为判断16个按键中是否有键按下,程序首先在4条行线上放置4个0,即在P2端口输出0XF0,如果有任一按键按下,则4条列线上必有一位为0.如果已有键按下,则判断按键所在行、列位置,并返回按键序号。
代码中行扫描码初值为0xFE,通过将该值循环右移,可对P2.0~P2.3对应的4行逐行发送0,每次发送扫描码后即判断高4位的4个1中是否有0出现,如果出现0说明按键在该行上,这时可将发送的低4位于读取的高4位取反,也就是P2取反,这样P2中将出现2个1,其余位均变为0,2个1分别处在低4位和高4位中,高低4位中1所处的位置各有4种可能,共有16种可能,对应十六个不同的按键,根据取反后的值查询键盘矩阵按键特征码表,即可得到按键序号。
图44x4键盘
3.5供电电路
采用9v直流供电,分出两个电源,9v直接供给音频发大电路,另一部分经7805稳压到5v然后供给单片机。
四.发声原理即程序流程图
4.1音乐发声原理
用电子琴可以演奏出各种美妙的音乐,而音乐是由音符组成,不同的音符是由相应频率的振动产生。
由单片机模拟产生音符只需算出音频周期T=1/f,利用音频的变化产生不同电平驱动发声模块来达到产生音乐的目的。
因此我们只要把一首歌曲的音阶对应频率关系弄正确,即可利用AT89S52的内部定时器使其工作计数器模式MODE1下改变计数值TH0及TL0以产生不同频率的方法产生不同音阶。
例如频率为523Hz其周期T=1/523=1912us,因此只要令计数器计时956us/1us=956每计数956次时将I/O反相就可得到中音DO523Hz
计数脉冲值与频率的关系式是:
公式1
式中N是计数值;
fi是机器频率(晶体振荡器为12MHz时,其频率为
1MHz;
fr是想要产生的频率
其计数初值T的求法如下:
公式2
例如设K=65536fi=1MHz求低音DO(261Hz)中音DO(523Hz)高音
DO(1046Hz)的计数值.
T=65536-N=65536-
i
2
fr=65536-1000000
fr=65536-500000/fr
低音DO的T=65536-500000/262=63627
中音DO的T=65536-500000/523=64580
高音DO的T=65536-500000/1046=65059
本程序所采用的音符频率及简谱码对应表如表1所示
表1.作品采用的音符频率与简谱码对应表
音符
频率(Hz)
简谱码
低音mi
330
64021
中音fa
698
64820
低音fa
349
64103
中音so
784
64898
低音so
392
64260
中音la
880
64968
低音la
440
64400
中音xi
988
65030
低音xi
494
64524
高音do
1046
65058
中音do
523
64580
高音re
1175
65110
中音re
587
64684
高音mi
1318
65157
中音mi
659
64777
高音fa
1397
65178
4.2音乐发声程序框图(图5)
图5音乐发声程序框
5、调试步骤
1、先调试手动弹奏乐曲,关键问题在于键盘的扫描及识别定位。
是开始我尝试了好几种方法都无法完成扫描功能,经过多次探索我终于找到了一种合适的键盘连接方式,并成功完成了各种功能。
2、自动音乐播放程序的调试。
最开始的问题在于单片机晶振的选择上,我必须使用11.0592MHZ的晶振频率才能保证播放的音乐不走调。
然后又涉及到功能转换模块中的暂停、重复和转换,不但涉及到键盘的扫描,而且部分程序需要嵌套在音乐程序内部才能执行,难度很大,耗费了我很长时间。
3、功能转换程序的调试。
首先需要将其做成一个单独的模块,确保其能独立运行,而且还能将手动弹奏模块和自动播放模块巧妙的结合在一起。
在调试中,我出现的重复多次使用一个键的情况,需要特别的仔细,不然就会出错。
尤其在是使用暂停功能时,为了保证其能在暂停后继续从断点处播放音乐和返回开始处重新播放音乐,我设置了两条不同的路径通过两个不同的键进行控制,才最终得以实现。
6、总结
6.1课程设计心得及体会:
通过这次单片机课程设计,我弄懂了不少课本上的知识,还扩展了一些课本没有的知识,再通过去图书馆查阅资料,很好的完成了这次课程设计。
首先在课程设计刚开始的调研阶段,我学会了怎么通过各种方式查询相关的资料。
通过对这些资料的学习,我大致了解了单片机的发展现状以及未来的发展趋势,认识到目前单片机在各方面的应用。
了解了单片机方面的先进技术,这些都为我的未来的学习指明了方向。
我的课程设计主要涉及硬件和软件两方面的内容,通过这些我的硬件和软件开发能力都获得了提高。
首先硬件方面,基本了解了电子产品的开发流程和所要做的工作。
虽然本次课程设计的硬件焊接工序对大二焊接了一年的我来说不算什么难事,但是在焊接过程中我没有半点马虎,对电路的分析在指导老师卢毓俊老师的帮助下更是步步深入。
在软件方面,因为程序的编写都是我的弱项,所以我是先从网上找来类似的程序模板,然后借助各方面的资料对程序的每一步进行分析,按题目的需求进行修改,最终才得到我现在的程序方案。
6.2不足之处有:
1.可弹奏的音符数较少,只能在一定范围内满足用户需要。
可通过改进键盘识别模块和发生模块来增加其复杂度。
2.音色不可调,只有一种波形的频率输出。
可以在外围电路设计滤波电路,接在不同的输出口,通过软件实现不同端口的输出,从而接入不同的滤波电路,输出不同的波形,从而获得不一样的音色。
3.不能以和弦形式演奏,只能单个键按下输出单个的音阶。
4.由于没有足够的设计经验,本次选用的按键不易按下,所以导致演奏时不够流畅。
七、参考文献
[1]陈明荧.8051单片机课程设计实训教材[M].北京:
清华大学出版社,2003年9月.
[2]徐新艳.单片机原理、应用与实践[M].北京:
高等教育出版社,2005年3月.
[3]吴金戌,沈庆阳,郭庭吉.8051单片机实践与应用[M].第一版.北京:
清华大学出版社,2002年.
[4]吴金戌,沈庆阳,郭庭吉,8051单片机实践与应用[M].清华大学出版社,2001
[5]冯博琴,微型计算机原理与接口技术[M].清华大学出版社,2004
[6]张毅刚,MCS-51单片机应用设计[M].哈尔滨工业大学出版社,2004
[7]张淑清,姜万录等,单片微型计算机接口技术及应用[M].国防工业出版社,2003
附录一
电路原理图:
附录二
源程序:
KEYBUFEQU30H
STH0EQU31H
STL0EQU32H
TEMPEQU33H
SPKEQUP1.0;
蜂鸣器所在端口
ORG0000H
LJMPSTART
ORG0BH
LJMPINT_T0
START:
MOVTMOD,#01H
SETBET0
SETBEA
WAIT:
MOVP2,#0FFH
CLRP2.4;
从第四行开始扫描
MOVA,P2
ANLA,#0FH;
屏蔽高四位,高四位为行,低四位为列
XRLA,#0FH
JZNOKEY1;
判断是否有键按下,没有就跳转
LCALLDELY10MS
MOVA,P2;
消除抖动和干扰
ANLA,#0FH
JZNOKEY1
确定有键按下以后的处理
CJNEA,#0EH,NK1;
是否为第四行第一列的键被按下
MOVKEYBUF,#0;
保存列号
LJMPDK1
NK1:
CJNEA,#0DH,NK2
MOVKEYBUF,#1
NK2:
CJNEA,#0BH,NK3
MOVKEYBUF,#2
NK3:
CJNEA,#07H,NK4
MOVKEYBUF,#3
NK4:
NOP
DK1:
;
第四行的处理
MOVA,KEYBUF
MOVDPTR,#TABLE
MOVCA,@A+DPTR
MOVP0,A
MOVB,#2;
Table1以字保存,所以散转
MULAB
MOVTEMP,A
MOVDPTR,#TABLE1
MOVSTH0,A;
送入高字节
MOVTH0,A
INCTEMP
MOVA,TEMP
MOVSTL0,A;
送入低字节
MOVTL0,A
SETBTR0
DK1A:
MOVA,P2;
判断按键是否松开
JNZDK1A
CLRTR0
NOKEY1:
CLRP2.5
JZNOKEY2
CJNEA,#0EH,NK5
MOVKEYBUF,#4
LJMPDK2
NK5:
CJNEA,#0DH,NK6
MOVKEYBUF,#5
NK6:
CJNEA,#0BH,NK7
MOVKEYBUF,#6
NK7:
CJNEA,#07H,NK8
MOVKEYBUF,#7
NK8:
DK2:
MOVB,#2
MOVSTH0,A
MOVSTL0,A
DK2A:
MOVA,P2
JNZDK2A
NOKEY2:
CLRP2.6
JZNOKEY3
CJNEA,#0EH,NK9
MOVKEYBUF,#8
LJMPDK3
NK9:
CJNEA,#0DH,NK10
MOVKEYBUF,#9
NK10:
CJNEA,#0BH,NK11
MOVKEYBUF,#10
NK11:
CJNEA,#07H,NK12
MOVKEYBUF,#11
NK12:
DK3:
DK3A:
MOVA,P2
JNZDK3A
NOKEY3:
CLRP2.7
JZNOKEY4
CJNEA,#0EH,NK13
MOVKEYBUF,#12
LJMPDK4
NK13:
CJNEA,#0DH,NK14
MOVKEYBUF,#13
NK14:
CJNEA,#0BH,NK15
MOVKEYBUF,#14
NK15:
CJNEA,#07H,NK16
MOVKEYBUF,#15
NK16:
DK4:
DK4A:
JNZDK4A
NOKEY4:
JNBP1.0,MUSIC
LJMPWAIT
MUSIC:
MOVR3,#00H
NEXT:
MOVA,R3
MOVDPTR,#TABLE2
MOVCA,@A+DPTR
JZMUSIC
MOVR7,A
INCR3
MOVR2,A
ACALLSONG
SJMPNEXT
;
===============================================================================
===歌曲播放子程序===
SONG:
MOVA,R2;
取出节拍
RLA
JNZKEEP
MOVA,#01H
KEEP:
REPEAT:
ACALLEIGHTH
DJNZR2,REPEAT
RET
=========================================================
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 简易 电子琴