电子琴论文Word格式文档下载.docx
- 文档编号:927988
- 上传时间:2023-04-29
- 格式:DOCX
- 页数:24
- 大小:634.99KB
电子琴论文Word格式文档下载.docx
《电子琴论文Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《电子琴论文Word格式文档下载.docx(24页珍藏版)》请在冰点文库上搜索。
第三章系统硬件设计.................................................4
3.1系统硬件总体设计..............................................4
3.2系统的工作原理................................................4
3.2.1矩阵键盘模块..............................................6
3.2.2数码管模块................................................7
3.2.3扬声器模块................................................8
第四章软件设计.....................................................9
4.1整体程序处理流程图............................................9
4.2LED数码管的显示.............................................10
4.3音乐播放设计.................................................10
第五章系统调试....................................................12
5.1程序调试.....................................................12
5.2仿真调试.....................................................14
结论.............................................................17
致谢.............................................................18
参考文献.........................................................19
附录.............................................................20
第一章引言
1.1课题设计的背景和意义
随着生活水平的提高,人们的需求不再仅仅是物质上的满足,更多的是要求精神上的放松。
在放松自己的同时又能提高各个方面的能力。
学习和欣赏音乐可以在人们疲劳的时候得到放松,同时提高人们的精神品质和素养。
如今爱好音乐的人越来越多,有不少人自己练习乐器作为业余爱好来陶冶情操,可鉴于一些乐器学习难度大,需要太多的时间,并且价格又太过于高昂,使得一部分有这种想法的人不得不放弃。
而一些简易的电子乐器价格相对便宜,学习简单,价格相对便宜,能够了满足一般爱好者的需求。
因此简易电子乐器的研制具有一定的社会意义。
单片机是在一块芯片内集成了计算机的各个功能部件,构成一种单片式的微型计算机。
单片机的发展迅速,应用不断深入,新技术层出不穷。
并已广泛应用到人类生活的各个领域,如家电、通讯设备、玩具、智能卡、汽车及防盗、医用保健、仪表、工业过程控制等,成为当今科学技术现代化不可缺的重要工具。
之所以以单片机电子琴选题,目的在于从日常生活能接触到的细微处着手,通过理论与实践的结合,更明确自己的所学所用,也在实践中发现理论上的不足,对目前日益广泛应用的单片机有了更加理性化和感性化的认识,使理论和实践相得益彰。
当前市场上的玩具市场需求量大,其中电子产品占有重要的位置,然而电子琴也是一个很好的应用方面。
单片机技术使我们可以利用软硬件实现电子琴的功能,从而实现电子琴的微型化,可以用于玩具琴、音乐盒中、儿童车里等等。
设计主要对使用单片机设计简易电子琴进行了分析,并介绍了基于单片机电子琴统硬件组成。
利用单片机产生不同频率来获得我们要求的音阶。
并且分别从原理图,主要芯片,各模块原理及各模块的程序的调试来详细阐述。
系统是简易电子琴的设计,按下键盘矩阵中的按键会使数码管显示当前按键,扬声器播放器对应的音符。
通过设计本系统可了解单片机的基本功能。
对单片机的了解有一个小的飞跃。
1.2课题主要研究的内容
本课题主要研究基于单片机的电子琴设计,以AT89S52芯片作为主要核心部件,4*4的矩阵键盘作为输入部分,数码管显示字符,扬声器作为主要输出设备,结合KEIL和PROTUES等软件的功能,通过编译程序结合仿真,实现电子琴内置音乐的播放和弹奏音乐的功能,同时通过两个LED灯的亮灭表示当时弹奏或播放的状态,数码管显示按键的16个字符“0—9,A—F”来表示当前所按下的键。
第二章系统设计
2.1系统设计要求
本系统分为两个部分,音乐播放和音乐的弹奏。
1、要求达到电子琴的基本功能,可以用弹奏出简单的乐曲。
2、用键盘作出电子琴的按键,每个键代表一个音符。
3、各音符按一定的顺序排列,必须符合电子琴的按键排列顺序。
4、固定音乐播放有按键控制:
“播放”、“弹奏/停止”。
5、弹奏电子琴时能播放出准确的声音,不弹奏时可以播放内置音乐。
2.2系统框图
单片机因体积小、功能强、价格低而得到诪泛应用。
本系统只要以51单片机为主控核心,扩展一组矩阵键盘、扬声器、LED显示管模块和一组发光二极管来指示电子琴的工作状态一起组合而成。
具体如下图2-1:
图2-1电子琴的框图
用P0口的高四位和P0口的低四位作4*4矩阵式按键的接口,用P2口作数码管的接口,用P3.7
作信号输出口。
第三章系统硬件设计
3.1系统硬件总体设计
本系统由键盘矩阵、LED显示管、扬声器这几个部分组成,LED显示管显示当前按键,扬声器发出对应音符。
硬件总体设计图如图3-1:
图3-1利用PROTEUS仿真设计的硬件电路图
3.2系统的工作原理
本系统扫描键盘矩阵、显示按键、扬声器发出对应音符。
用AT89S52的并行口P0接4×
4矩阵键盘,以P0.0-P0.3作输入线,以P0.4-P0.7作输出线;
在数码管上显示每个按键的“0-F”序号。
总体电路具体原理如下:
图3-2系统工作原理图
3.2.1矩阵键盘模块
图3-3矩阵键盘模块图
如图3-3:
在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式。
在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。
这样,一个端口(如P0口)就可以构成4*4=16个按键,比直接将端口线用于键盘多出一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成20键的键盘,而直接用端口线则只能多出一个键。
由此可见,在需要的键数比较多时,采用矩阵法来做键盘是合理的。
矩阵式结构的键盘显然比直接法要复杂一些,识别也要复杂一些,列线通过电阻接正电源,并将行线所接的单片机的I/O口作为输出端,而列线所接的I/O口则作为输入。
这样,没有键按下时,所有的输出端都是高电平,代表无键按下。
行线输出是低电平,一旦有键按下,则输入线就会被拉低,这样,通过读入输入线的状态就可得知是否有键按下了。
矩阵式键盘的按键识别方法
确定矩阵式键盘上何键被按下,介绍一种“行扫描法”。
行扫描法又称逐行扫描查询法,是一种最常用的按键识别方法。
判断键盘中有无键按下,,将全部行线a0-a3置低电平,然后检测列线的状态,只要有一列
的电平为低,就表示键盘中有键被按下,而且闭合的键位于低电平线与4根行线相交叉的4个按键之中。
再判断闭合键所在的位置,依次将行线置为低电平时,再逐行检测各列线的电平状态,若某列为低电平,则该列线与置为低电平的行线交叉处的按键为闭合。
若所有的列线均为高电平,则无按键按下。
键盘接口必须具有的4个基本功能
(1)去抖动:
每个按键在按下或松开时,都会产生短时间的抖动。
抖动的持续时间与键的质量相关。
所谓抖动是指在识别被按键是必顺避开抖动状态,只有处在稳定接通或稳定断开的状态才能保证识别正确无误。
去抖问题可通过软件延时或硬件电路解决。
(2)防串键:
防串键是为了解决多个键同时按下或者前一按键没有释放又有新的按键按下时产生的问题。
常用的方法有双键锁定和N键轮回两种方法。
双键锁定,是当有两个或两个以上的按键按下时,只把最后释放的键当作有效键并产生相应的键码。
N键轮回,是当检测到有多个键被按下时,能根据发现它们的顺序依次产生相应键的键码。
(3)被按键识别:
如何识别被按键是接口解决的主要问题,一般可能过软硬结合的方法完成。
常用的方法有行扫描法和线反转法两种。
行扫描法的基本回想是,由程序对键盘逐行扫描,通过检测到的列输出状态来确定闭全键,为此,需要设置入口、输出口一个,该方法在微机系统中被广泛使用。
线反转法的基本思想是通过行列颠倒两次扫描来识别闭合键,为些需要提供两个可编程的双向输入/输出端口。
(4)键码产生:
为了从键的行列坐标编码得到反映键功能的键码,一般在内在区中建立一个键盘编码表,通过查表获得被按键的键码。
3.2.2数码管模块
共阴极数码管在应用时将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。
当某一字段的阳极为低电平时,相应字段就不亮,这样来显示字符。
LED显示模块如图3-4所示,利用AT89S52单片机的P2端口的P2.0-P2.6连接到一个七段数码管上,数码管的公共端接地。
矩阵扫描显示当前按键模块如下:
图3-4数码管模块图
3.2.3扬声器模块
音乐播放和弹奏是在P3.7引脚上输出方波周期信号,产生音乐。
矩阵扫描扬声器发出对应音符模块如下:
图3-5扬声器模块图
第四章软件设计
4.1
整体程序处理流程图
图4-1程序流程图
在电子琴开始工作时,系统默认电子琴处于弹奏状态,歌曲选择功能键的目的是赋予矩阵键盘第
二功能,即对系统内置的歌曲进行选择,在放歌时能通过弹奏/停止键来结束放歌,选歌时必顺先按下歌曲选择功能键,在通过矩阵键盘来选择和切换曲目。
4.2LED数码管的显示
把主芯片中P2.0/A8-P2.7/A15端口用8芯排线连接到一位数码管的a-h端口上。
4.3音乐播放设计
一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样就可以利用不同的频率的组合来构成想要的音乐。
我们可以利用单片机的定时/计数器T0来产生这样的方波频率信号。
若要产生音频脉冲,只要算出某一音频的周期(1/频率),再将此周期除以2,即为半周期的时间。
利用定时器计时半周期时间,每当计时终止后就将P3.7反相,然后重复计时再反相。
就可在P3.7引脚上得到此频率的脉冲。
利用AT89S52的内部定时器使其工作计数模式(MODE1)下,改变计数值TH0及TL0以产生不同频率的方法产生不同音阶,例如,频率为523HZ,其周期T=1/523=1912US,因此只要令计数器计时956US/1US=956,每计数956次时将I/O反相,就可得到中音DO(523HZ)。
计数脉冲值与频率的关系式是:
N=FI/2/FR
式中,N是计数值:
FI是机器频率(晶体振荡器为12MHZ时,其频率为1MHZ);
FR是想要产生的频率。
其计数初值T的求法如下:
T=65536-N=65536-FI/2/FR
例如:
设K=65536,fi=1MHz,求低音DO(261HZ)、中音DO(523HZ)、高音DO(1046HZ)的计数值。
T=65536-N=65536-FI/2/Fr=65536-1000000/2/FR=65536-500000/Fr低音DO的T=65536-500000/262=63628中单DO的T=65536-500000/523=64580高音DO的T=65536-500000/1046=65058
对于不同的曲调我们要用单片机的另外一个定时/计数器来完成。
在这个程序中用到了两个定时/计数器来完成的。
其中T0用来产生音符频率,T1用来产生音拍。
第五章系统调试
5.1程序调试
1、打开KEIL,创建工程Myproject,输入程序。
2、保存程序为“电子琴.c”编译运行,如图:
图5-1程序调试图
3、设置OptionsforTarget“target1”,生成.hex文件。
图5-2设置
Target
图5-3设置Output
5.2仿真调试
1、用Proteus设计硬件电路图
图5-4仿真设计图
2、在U1中导入电子琴.hex.
将鼠标放置AT89S52元件上,双击弹出对话框,在programfile中选择电子琴.hex,单击确定键。
图5-5编辑元件
3、运行仿真点击图中运行按钮,运行仿真。
将程序导入AT89S52芯片后,运行成功。
如图5-6
图5-6运行仿真图
结论
通过这次课程设计,我学到了不少课本上没有的知识,也锻炼了自己的动手能力,将以前学过的零散的知识串到一起。
经过我长时间的设计及调试,本系统基本能实现按下键盘矩阵中的按键会使数码管显示当前按键,扬声器播放对应的音符。
但由于仿真系统原因,本设计音频效果不是很好。
不足之处有:
1.可弹奏的音符数较少,只能在一定范围内满足用户需要。
可通过改进键盘识别模块和发生模块来增加其复杂度2.音量不可调。
我的综合设计主要涉及硬件和软件两方面的内容,通过这些我的硬件和软件开发能力都获得了提高。
首先硬件方面,基本了解了电子产品的开发流程和所要做的工作。
,并设计了一个单片机最小系统。
通过开发板的设计和硬件搭建的过程,使我对51系单片机的接口有了更深层次的理解,并且我学会了分析问题解决问题的能力,加深了对所学理论知识的理解和运用。
我的动手能力得到了很大的提高,创新意识得到了锻炼。
致谢
经过数多月的设计,本毕业设计已经完成。
通过本次毕业设计,使我对单片机的了解进一步加深,无论在硬件还是在软件方面使我对电子产业都有了更深的了解,也使我拥有了查阅资料和解决设计过程中遇到的实际问题的能力,这些都将成为我以后工作道路上不可或缺的经验。
首先,感谢一些专家学者等同志的专著文献和网上的一些发表资料。
其次,感谢系里的领导和老师们,感谢他们在毕业设计论文阶段对自己的严格要求和关心支持。
还要感谢所有帮助过自己的同学们,与他们的讨论和交流给了自己很多有益的启迪,对自己掌握学科知识、完成设计任务和论文写作给予了很大帮助。
最后感谢本人的设计论文指导老师。
本设计论文是在他悉心指导下完成了,老师特别注重工作方法、工作方向的指导,使自己的工作能力得到了很大的提高。
指导老师严谨的治学态度,谦逊和蔼的风范对自己产生的深远影响,使自己受益终生。
他严谨的治学态度和宽厚、坦诚的人生原则,为自己所深深敬佩。
衷心地感谢老师的悉心指导。
并对我以后走向工作岗位还是很受帮助的,他的精神将激励着我不断的成长。
参考文献
[1]张齐,朱宁西.单片机系统设计与开发[M].广州:
华南理工大学出版社.2008:
16-41,199-202.
[2]谭浩强.C语言程序设计[M].北京:
清华大学出版社.2000:
14-21,87-91.
[3]宋杰,汪志宏,江敏.微机原理及接口技术设计[M].机械工业出版社.2005-4.
[4]孙涵芳.MCS-51系列单片机原理及应用.北京:
北京航空航天大学出版
社.1996:
184-190.
[5]谢嘉奎.电子线路[M].北京:
高等教育出版社.2003:
91-100.
[6]马忠梅等.单片机的C语言应用程序设计[M].北京航空航天大学出版社.2006.
[7]赖麒文.C语言开发环境实物与设计[M].北京:
科学出版社.2002.
附录
#include<
reg51.h>
absacc.h>
stdio.h>
math.h>
#defineucharunsignedchar//宏定义
#defineuintunsignedint//宏定义
ucharSTH0;
//定时器计数初值
ucharSTL0;
bitFY=0;
//放乐曲时FY=1,电子琴弹奏时FY=0
ucharSong_Index=0,Tone_Index=0;
//放音乐的参数
uchark,key;
sbitSPK=P3^7;
//定义蜂鸣器端口
sbitLED1=P1^0;
//LED1端口定义
sbitLED2=P1^1;
//led2端口定义
ucharcodeDSY_CODE[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
ucharcodeSong[][50]=//歌曲的旋律
{{1,2,3,1,1,2,3,1,3,4,5,3,4,5,5,6,5,3,5,6,5,3,5,3,2,1,2,1,-1},
{3,3,4,5,5,5,5,6,5,3,5,3,2,1,5,6,5,3,3,2,1,1,-1},
{3,2,1,3,2,1,1,2,3,2,1,2,3,1,3,4,5,3,4,5,5,6,5,3,5,3,2,1,3,2,1,1,-1},
{10,10,10,9,10,9,10,9,9,6,6,7,8,9,8,7,6,5,6,-1},
{10,10,10,9,10,13,12,13,12,12,9,9,10,11,12,11,10,9,8,10,10,-1},
{13,14,13,12,12,10,12,10,12,9,13,12,10,9,10,10.-1},
{9,13,13,13,8,13,13,13,13,14,15,14,13,14,13,14,10,10,-1},
{13,14,13,12,12,10,12,10,12,13,14,13,14,13,14,10,-1},
{9,13,13,13,8,13,13,13,13,14,15,14,13,13,14,12,13,-1},
{5,5,10,9,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子琴 论文