电子琴毕业设计论文

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

简易电子琴设计
1绪论
1.1 课题的背景和目的
在信息技术急速发展的今天,计算机科学日新月异。

而单片机作为计算机科学的一个分支,在微机控制领域得到长足的发展。

随着单片机的发展与科学技术的提高,单片机已经成为人类生产生活中不可缺少的工具。

现在,单片机的应用已经渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。

导弹的导航装置、飞机上各种仪表的控制、计算机的网络通讯与数据传输、工业自动化过程的实时控制和数据处理、广泛使用的各种智能IC卡、民用豪华轿车的安全保障系统、录象机、摄象机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。

更不用说自动控制的机器人、智能仪表、医疗器械了。

单片机要解决的问题多数是仍是老问题,新颖之处是比以前用较少的元件。

尤其是设计逻辑关系复杂的控制系统,过去用通用的逻辑门集成电路芯片将需要几十片甚至上百片,而现在只用几片就能够实现,而且方便灵活,做设计修改或改动功能时,只消改写软件原文件重写芯片,免去了在硬件线路上大动干戈的苦差事。

减少芯片个数主要是靠单片机的可编程性和高度集成化。

使开发周期更短,制造成本更低,用电更省和可靠性更高。

要求用各种逻辑门芯片实现的逻辑电路,可以用一片单片机芯片加上相应的控制软件就可以实现领域。

该次的毕业设计课题是基于单片机基础上的简易电子琴设计。

主要是用单片机的I/O端口的原理控制并制作的电子琴,设计出相应的琴键使之发出声音。

通过做这次毕业设计能使我对单片机知识的应用更为熟练一些,对单片机的兴趣也将大大的增加,也能在这方面做出相应的成就。

1.2 国外研究状况
技术工艺,是衡量一个企业是否具有先进性,是否具备市场竞争力,是否能不断领先于竞争者的重要指标依据。

随着我国电子琴市场的迅猛发展,与之相关的核心生产技术应用与研发必将成为业企业关注的焦点。

了解国外电子琴生产核
心技术的研发动向、工艺设备、技术应用及趋势对于企业提升产品技术规格,
提高市场竞争力十分关键。

国外对电子琴的研究都很深也很广泛,在电子琴领域也都取得了很多令人可喜的研究成果。

如省双排键电子琴教学研究中心,曾多次被评为市甲级办学单位,多年来一直以培养优秀的音乐人才为教学宗旨,先后向国家重点音乐学院输送了大批双排键音乐人才,为我国双排键音乐事业的发展起到了积极的推动作用。

1.3课题的研究方法
本课题是基于51系列单片机基础上的简易电子琴设计。

该毕业设计要求设计出高、中、低音调的21个琴键,并使这21个琴键能发出声音。

所知道的是演奏音乐即是对音符和节拍的控制。

音符对应不同的声音频率,节拍则是音符持续的时间。

用单片机对这两个参数实行控制方便且操作简单。

用定时器T0控制音符,用单片机的某个I/O端口(在这里我们选用的是P3.0)输出音频脉冲,脉冲的频率由T0控制,是之对应1--7的高、中、低音。

用延时程序来实现对节拍的控制。

假设1个节拍为0.8秒,则1/4拍为0.2秒。

以此做延时程序,使其延时为DELAY=1个节拍=0.2秒,则其它节拍就是DELAY的倍数,该倍数作为DELAY的延时程序。

键盘是计算机系统必不可少的输入设备,鉴于该次设计的按键数目比较多,接成线性键盘,这种接法占用的口线相对较多。

因此可将键盘接成矩阵的形式,该种接法既节省口线有操作起来较方便。

在该设计中用P0、P1两个端口来接成8*8矩阵形式的键盘,选用21个琴键作为设计中的按键,其余的留作备用。

且由P3.0输出的音频脉冲,经音频放大器LM386放大,推动喇叭。

1.4论文的构成及研究容
该毕业设计主要包括封面、毕业设计任务书、中文摘要、英文摘要、目录、正文、致、参考文献、附录。

本次设计主要研究用单片机设计简易电子琴,设计出21个琴键使之发出声音。

且每次的按键都有一定的延时作用。

2 设计的主题
2.1 毕业设计总体方案设计与选择的论证
(1) 方案一:
单片机的选择,MCS-51系列单片机有多种型号的产品,如基本型(51子系列)8031、8051、89C51、89S51等,增强型(52子系列)8032、8052、89C52、89S52等。

它们的结构基本相同,其主要差别反映在存储器的配置上。

MCS-51增强型单片机的存储容量是基本型的一倍。

在这次设计中我选用的是AT89S51单片机。

键盘的设计,键盘是计算机系统中不可缺少的输入设备。

键盘的接法接成线性键盘。

(2) 方案二:
单片机仍选用AT89S51单片机,键盘接成矩阵形式。

由上面两个方案的比较,选用方案二。

因为本次的简易电子琴设计要求设计出1—7的高、中、低音的21个按键,案件的数目较多,所以在这里才有矩阵键盘式接法。

这种矩阵键盘式接法不仅能节省口线也操作起来比较方便。

在本次设计中采用P0、P1两个端口来控制接成8*8矩阵形式的键盘。

这样可以接成64个按键,选用其中21个按键作为本次电子琴设计中的琴键,其余的按键留作备用。

矩阵键盘按键的状态同样需要变成数字量1和0。

开关的一端(列线)通过电阻接电源端Vcc,开关的另一端(行线)的接地时通过程序输出数字0实现的。

矩阵键盘每个按键都有它的行值和列值,行值和列值的组合就是这个按键的编码。

矩阵键盘的行线和列线分别通过P0和P1这两个并行接口和CPU实现通信,其中P0口输出扫描码,使按键逐行动态接地(称为行扫描、行值),P1端口输入按键状态(称为回馈信号、列值)。

由行扫描值和列回馈信号共同构成按键编码。

因此采用矩阵式键盘,选用方案二是更为合理的选择。

2.2 硬件部分的设计和计算
2.2.1 定时器的选择
演奏音乐是对音符和节拍两个参数的控制。

音符对应不同的声音频率,节拍则是音符持续的时间。

单片机对这两个参数的控制采用以下的方式。

MCS-51系列单片机中,89S51单片机有两个16位的定时/计数器T0、T1。

在本次的设计中选用定时器T0,定时器T0由寄存器TH0、TL0组成。

它们均为8位寄存器,映射在特殊功能寄存器中,地址为8AH~8DH。

它们用于存放定时的初始值。

2.2.2 定时器的工作方式
工作方式的选择由单片机部的八位方式控制寄存器TMOD和八位控制寄存器TCON来控制的。

89S51单片机的定时器有四种工作方式,且不同的工作方式有不同的工作特点。

方式0为13位定时/计数方式,最大计数值为8192个脉冲。

方式1与方式0基本相同,唯一的区别在于寄存器的位数是16位的,最大计数值为65535个脉冲,是4种定时方式中计数值最大的方式。

方式2是8位自动重装载的定时方式,最大计数值为256个脉冲。

方式3只适合定时器T0。

根据上述4种定时方式的比较,在该设计中选用定时方式1。

2.2.3初值的计算
如音符1的中音频率是523,使端口P3.0输出频率为523的脉冲即可输出音符“1”的声音。

其周期T=1/523=0.001912=1912(us)。

则定时器T0的定时时间=1912(us)/2=956(us)。

选用单片机的晶体振荡频率为12MHz,即机器周期MC=1 us,由前面选择的工作方式1,则初始值:T0的初始值=65535-956=64580=FC44H
已给出了1——7高、中、低音符的频率,如:
表2.1
经上面计算初值的处理,得到1—7高、中、低音符不同频率对应的初值,如:
表2.2
2.2.4 用延时程序控制节拍
按键在单片机智能控制系统中常用作为人机交互中输入信息作用,通过按键输入各种信息,调整各种参数或发出控制指令。

按键处理是一个很重要的功能模块。

在单片机应用系统中,按键主要有两种形式:(1)直接按键(2)矩阵编码键盘。

在该毕业设计中采用的是矩阵键盘。

矩阵键盘通过行列交叉按键编码进行识别。

通常所用的按键为轻触机械开关,正常情况下按键的接点是断开的,当按下按钮时,由于机械触点的弹性作用,按键在闭合时不会马上稳定地接通,在断开时也不会一下子断开。

因而机械触点在闭合及断开的瞬间均伴随有一连串的抖动,抖动时间的长短由按键的机械特性及操作人员按键动作决定,一般为5ms~20ms。

按键闭合时间的长短由操作人员按压时间的长短来决定,一般为零点几秒至数秒不等。

在这里假设1拍为0.8秒,则1/4拍为0.2秒。

用此做延时程序,使其延时DELAY=1个节拍=0.2秒,则其它节拍就是DELAY的倍数,该倍数作为DELAY的延时常数,按表格方式存储起来,如:
表2.3
2.2.5 音频放大器LM386
LM386是一种音频集成功放,具有自身功耗低、电压增益可调整、电源电压围大、外接元件少和总谐波失真小等优点,广泛应用于录音机和收音机之中。

由P3.0输出的音频脉冲,经音频放大器LM386放大,才能推动喇叭。

喇叭是一种电声元件,其作用是将电信号转换为声音,也叫扬声器。

2.2.6 电源
选用的电源模块AC/DC,两输入端输入的是交流220V ,两个输出端其中一段输出为+5V(电源端),另一端的0V (接地端)。

2.2.7 硬件方框图,如:
图2.1
由上面的硬件方框图可知,键盘是输入设备,也即是本次所设计的简易电子琴的琴键,外界的信息通过键盘输送给单片机。

在这里即是通过按下键盘上某个按键,该键值所确定的某音符的频率,经由单片机处理,由单片机的某个端口输出对应的该音符的音频脉冲,输出端接有喇叭,这样前面输出的音频脉冲经由喇叭发出声音。

这也是用单片机制作简易电子琴的原理。

2.2.8 硬件原理图,见附录A 2.2.9 元器件明细表,见附录B 2.3 软件部分的设计 2.3.1 软件流程图,见附录C 2.3.2 程序 (1) 源程序
--------------------------------初始化-------------------------------- PULSE EQU 10h
;声音脉冲输出位(“1”或“0”)
TONEHIGH EQU 40h ;音调高字节
TONELOW EQU 41h ;音调低字节
SPEAKER BIT P2.0 ;扬声器
ORG 0000H ;主程序开始地址
LJMP START ;转移到主程序进行
ORG 000BH ;定时器T0中断入口地址
LJMP TIMER0 ;转移到T0中断子程序进行
-----------------------------------------------主程序--------------------------------------------- START: MOV SP, #70h ;设置栈底地址
MOV TMOD, #01 ;设置T0工作在方式1,
MOV IE, #82H ;开中断
MLOOP: MOV P1, #0FFH
MOV A, P1
CPL A ;扫描键盘,读入键状态
JZ MLOOP ;判断有无键按下
CALL GETKEY ;调用按键子程序处理
MOV B, A
JZ MLOOP ; = 0, < 1
ANL A, #8
JNZ MLOOP ; > 8
DEC B
MOV A, B
RL A ; A = A*2
MOV B, A
MOV DPTR, #TONETABLE
MOVC A, A+DPTR
MOV TONEHIGH, A
MOV TH0, A
MOV A, B
INC A
MOVC A, A+DPTR
MOV TONELOW, A
MOV TL0, A
SETB TR0
MOV P1,#0FFH
WAIT: MOV A,P1
CJNE A,#0FFH, WAIT
MOV R6,#10
ACALL DELAY
CLR TR0
LJMP MLOOP
--------------------------------------- ---获取键码子程序
------------------------------------------
GETKEY: MOV R6,#10
ACALL DELAY ;延时去抖动
MOV A,P1
CJNE A,#0FFH,K01 ;确有键按下分析键码
LJMP MLOOP ;无键按下重新扫描盘K01: MOV R3,#7 ;7个键
MOV R2,#0 ;键码的指针
MOV B,A ;暂存键值
MOV DPTR,#KEYTABLE ;DPTR指向键值表首元K02: MOV A,R2
MOVC A,A+DPTR ;从键值表中取键值
CJNE A,B,K04 ;键值比较
MOV A,R2 ;得键码
INC A
AJMP RET1
K04: INC R2
DJNZ R3,K02
MOV A,#0FFH ;键值不在键值中,即多键按下
RET1: RET
-----------------------------延时子程序------------------------------ DELAY: MOV R7, #0
DLOOP: DJNZ R7, DLOOP
DJNZ R6, DELAY
RET
-------------------------定时器T0中断子程序------------------------- TIMER0: PUSH PSW ;将psw压入堆栈,断点CLR TR0 ;关T0中断
MOV TH0, TONEHIGH
MOV TL0, TONELOW ;重新给T0赋初值
SETB TR0 ;开T0中断
MOV C, PULSE
MOV SPEAKER,C ;输出声音
CPL PULSE ;将声音输出关闭
POP PSW ;将psw弹出堆栈断点
RETI ;返回主程序
----------------------------------------------音调数据表
--------------------------------------------
TONETABLE: DW 64578,64686,64778,64821
DW 64898,64968,65029
-------------------------------------------------键值表
------------------------------------------------
KEYTABLE: DB 0FEH,0FDH,0FBH,0F7H
DB 0EFH,0DFH,0BFH,07FH END
(2) 目标程序
0000H 02000E LJMP 000EH
0003H FF MOV R7, A
0004H FF MOV R7, A
0005H FF MOV R7, A
0006H FF MOV R7, A
0007H FF MOV R7, A
0008H FF MOV R7, A
0009H FF MOV R7, A
000AH FF MOV R7, A
000BH 02007F LJMP 007FH
000EH 758170 MOV SP, #70H
0011H 758901 MOV TMOD, #01H
0014H 75A882 MOV IE, #82H
0017H 7590FF MOV P1, #FFH
001AH E590 MOV A, P1
001CH F4 CPL A
001DH 60F8 JZ 0017H
001FH 120054 LCALL 0054H
0022H F5F0 MOV B, A
0024H 60F1 JZ 0017H
0026H 5408 ANL A, #08H
0028H 70ED JNZ 0017H
002AH 15F0 DEC B
002CH E5F0 MOV A, B
002EH 23 RL A
002FH F5F0 MOV B, A
0031H 900094 MOV DPTR, #0094H 0034H 93 MOVC A, A+DPTR 0035H F540 MOV 40H, A
0037H F58C MOV TH0, A
0039H E5F0 MOV A, B
003BH 04 INC A
003CH 93 MOVC A, A+DPTR
003DH F541 MOV 41H, A
003FH F58A MOV TL0, A
0041H D28C SETB TR0
0043H 7590FF MOV P1, #FFH
0046H E590 MOV A, P1
0048H B4FFFB CJNE A, #FFH, 0046H 004BH 7E0A MOV R6, #0AH
004DH 1178 ACALL 0078H
004FH C28C CLR TR0
0051H 020017 LJMP 0017H
0054H 7E0A MOV R6, #0AH
0056H 1178 ACALL 0078H
0058H E590 MOV A, P1
005AH B4FF03 CJNE A, #FFH, 0060H 005DH 020017 LJMP 0017H
0060H 7B07 MOV R3, #07H
0062H 7A00 MOV R2, #00H
0064H F5F0 MOV B, A
0066H 9000A2 MOV DPTR, #00A2H 0069H EA MOV A, R2
006AH 93 MOVC A, A+DPTR
006BH B5F004 CJNE A, B, 0072H
006EH EA MOV A, R2
006FH 04 INC A
0070H 0177 AJMP 0077H 0072H 0A INC R2
0073H DBF4 DJNZ R3, 0069H 0075H 74FF MOV A, #FFH 0077H 22 RET
0078H 7F00 MOV R7, #00H 007AH DFFE DJNZ R7, 007AH 007CH DEFA DJNZ R6, 0078H 007EH 22 RET
007FH C0D0 PUSH PSW
0081H C28C CLR TR0
0083H 85408C MOV TH0, 40H 0086H 85418A MOV TL0, 41H 0089H D28C SETB TR0
008BH A210 MOV C, 10H 008DH 92A0 MOV P2.0, C 008FH B210 CPL 10H
0091H D0D0 POP PSW
0093H 32 RETI
0094H FC MOV R4, A 0095H 42FC ORL FCH, A 0097H AEFD MOV R6, FDH 0099H 0A INC R2
009AH FD MOV R5, A
009BH 35FD ADDC A, FDH 009DH 82FD ANL C, F8H.5 009FH C8 XCH A, R0
00A0H FE MOV R6, A
00A1H 05FE INC FEH
00A3H FD MOV R5, A
00A4H FB MOV R3, A
00A5H F7 MOV R1, A
00A6H EF MOV A, R7
00A7H DFBF DJNZ R7, 0068H
00A9H 7FFF MOV R7, #FFH
2.4 试验方案设计的可行性、有效性以
选用设计简易电子琴的方案具有一定的可行性和有效性。

用AT89S51单片机满足设计电子琴的要求,音频放大器LM386,喇叭,AC/DC电源模块都是经过一定的条件选出来用的。

矩阵形式的键盘能节省口线的使用,并且操作简单。

音符初值的计算和处理都是根据相应的公式来计算的,因此该实验方案具有可行性和有效性。

2.5 对本次研究的容及研究成果较全面、较客观的理论阐述
本次研究是用单片机制作简易电子琴,键盘作为琴键,输出端接上喇叭。

通过按下键盘中的某个按键,再由单片机处理后,有单片机某个输出端口输出对应的音频脉冲,利用定时器可发出不同频率的脉冲,不同频率的脉冲经喇叭驱动放大滤波后,就会发出不同音调。

另外,定时器设置的定时参数产生中断,这一次终端发出脉冲低电平,下一次反转发出脉冲高电平,由于定时器参数不同,就会发出不同频率的脉冲。

本次设计中按键以此,会发出一定数量的脉冲,松开后有一定的延时,但在延时期间继续检测键盘,若此时又有键按下,若被按下的仍未原键则声音不变。

否则键盘会译出被按下的另一个键的音调。

结论
通过本次设计,我懂得了如何解决电路中出现的问题,从而能够使自己跟很好
的学习和掌握一些电路常识。

在本次毕业设计中,我又相当于把以前学过的知识重新温习了一遍,对以前学过的知识加以巩固。

我又对一些电子元件有了进一步的了解,如:电阻、电容、晶体振荡器、电位器、等。

还对一些常用的集成模块有也有了一些了解。

如:电源模块、AT89S51。

在Protel 99SE绘制硬件原理图和电路印制板时也用到了许多知识,也发现有很多的问题需要解决。

还有之前上课没有学到的知识,这些问题我可以去图书馆查些相关的资料,不好的是有些资料不是最新的,参考价值不很大。

现在是信息发展的高速时代,网络的应用很广泛,这就可以上网查到很多有用的且最新的资料,这些资料都还需要整理筛选出来使用。

另外还可以通过同学及指导老师来共同探讨和解决问题。

这次毕业设计对用Protel 99SE 绘制硬件原理图和电路印制版图的知识得到了更深的巩固。

由于对以前学过的知识掌握的不是很牢固,所以在本次设计中遇到了许多问题,不过经过指导老师及同学的共同探讨,最后根据大家掌握的知识和查到的相关的资料,把简易电子琴顺利完成设计。

总之,通过这次毕业设计我的确感受到自己还有许多的不足之处,在以后的工作和学习中继续学习,从而充实自己,并且在本次设计中使我学到了不少的东西,有的是我以前没有学过的东西,也有的是我以前没有掌握牢固的知识。

我会在日后的开发中深入学习加深研究我会争取把本系统应用到实际工作中,使之产生商业价值。

当今电子技术发展日新月异,我会在以后的研发中加入新技术,使之更趋完善,总之本次毕业设计我的电子研发之路的良好开端。

我会以此为挈机,在以后的电子开发工作中取得更好的成绩。

经过这一阶段的毕业设计,我深刻明白了理论知识和社会实践相结合的重要性,从中得到了以前课本知识所不曾得到的知识,更加明白了如今信息时代电子技能知识的重要性。

通过这次的毕业设计,我对自己的动手能力有了一定的信心。

面临着就业。

我将充分发挥我的主观能动性和在学校得到的一切知识。

为母校添光加瓦,为自己的前程奋斗!这次的毕业设计我感觉还好,我会利用这次的机会再努力的提高自己的能力。

也增强了我对实际工艺技术、电子技术和设备技术等方面的认识,掌握了分析处理的方法,调试、计算等基本技能的训练,具有一定
程度的实际工作能力。

面对如此激烈的市场竞争体系,只有努力掌握好电子技能知识方可在竞争中立于不败之地,我对从事电子产品的开发和研究有兴趣。

希望能通过以后的不断努力能获得更多的工艺和电子技术。

增强了我对实际工艺技术、电子技术和设备技术等方面的认识,掌握了分析处理方法,有一定的实际工作能力。

作为新时代的我们更应该知道现在的科学发展动向,随着知识经济和经济全球化的来临,通信技术和电子得到了快速的发展,带来了产业结构的调整和电子行业工作岗位的变化,电子技术应用型人才需求由操作型、技能型转向智能型、技术型,向高层次、复合型、综合性、多样性发展。

作为电子行业的我们更应该了解当前的科学发展,特别是作为电子专业的我们更应该了解这些基本知识,才能在以后的学习和工作中发挥特长。


在这里我首先衷心的感我的导师王质朴老师,本文不论是从选题到完成,还是从理论上的探讨到实际问题的解决,无不包含着王老师的心血,并且其他同学的相互鼓励和帮助为毕业设计的正常进行起到了非常大的效果。

在整个毕业设计的过程中我懂得了许多东西,也培养了我独立工作的能力,坚定了对自己工作能力的信心,相信会对今后的学习工作生活有非常重要的影响,而且大大的提高了我动手的能力,是我充分体会到了在创造过程中的艰难探索和成功的喜悦。

虽然这个项目还不是很完善,但是在这次设计过程中所学的东西是本次毕业设计的最大收获和财富,将使我终身受益。

王质朴老师的悉心指导和建议给了我极大的帮助和支持,使我受益匪浅,在该论文完成之际,谨向王质朴老师致以深深的意和崇高的敬意,更希望老师在以后的学医生涯中多加的指点,并提出宝贵的意见,使我们对学到的知识掌握的更为牢固些,从而在以后的实际应用中充分发挥。

参考文献
[1]群芳、肖看编著.单片机原理、接口及应用——嵌入式系统技术基础.:清华大学,2005.
[2]黑杰克.Protel Schenatic 99 SE[M].:科学,2001.
[3]金琪.机床电气自动控制[M].:工业大学,1999.
[4]吴飞青、丁晓编著.单片机智能控制技术.国防工业,2007.
[5]单片机原理与应用实践指导,机械工业.2009.
[6]江志红编著.51单片机技术与应用系统开发.:清华大学,2008.12.
[7]萌和湘江斌编著.单片机应用系统开发. :清华大学,2007.7.
[8]黄庆华永格主编.单片机开发技术与实训. :电子工业,2006.7. 附录
附录A 硬件原理图
图 A1 硬件原理图
附录B 元器件明细表
表B1 元器件明细表
附录C 软件流程图
图C1 主程序框图。

相关文档
最新文档