简易型掌上电子琴的系统设计毕业设计_第1页
简易型掌上电子琴的系统设计毕业设计_第2页
简易型掌上电子琴的系统设计毕业设计_第3页
简易型掌上电子琴的系统设计毕业设计_第4页
简易型掌上电子琴的系统设计毕业设计_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、燕山大学本科毕业设计答辩简易型掌上电子琴的系统设计简易型掌上电子琴的系统设计答辩人: 指导老师:目录 课题背景及研究意义 总体设计思路 简易型电子琴的硬件设计 简易型电子琴的软件设计二十世纪初,随着现代科技的进步,电子技术被广泛地应用到社会各个领域,乐器制造业也不可避免地受其影响,诞生了许多新兴的电子乐器。五、六十年代,电子音乐、计算机音乐逐渐进入蓬勃发展时期。1959年,世界第一台全晶体管双排键电子琴(Electone)“D-1”在日本诞生了世界上第一台双排键电子琴电子琴是一种集趣味性和实用性为一体的键盘乐器,其本质上是一种电子合成器。电子琴的声音带与钢琴相比,更具有电子风格,更适合摇滚和流

2、行乐的表达。目前市面上电子琴的产品极为丰富,国外产品以CASIO和YAMAHA公司的产品最为畅销。国内方面相关行业起步较晚,其中吟飞、华星等国产品牌厂商已经推出了具有世界一流水准的产品。随着单片机的发展,各种小型电子产品的核心控制成本得到了显著的降低,简易电子琴系统就是以单片机为核心部件设计的一个简易的电子琴。我选单片机电子琴这个选题的目的在于通过从日常生活中的细微之处着手,将所学的理论知识与实践更好的结合起来,在设计制作电子琴的过程中,更加熟练的掌握单片机的应用,在更深刻的理解理论知识的同时锻炼提高自己的动手实践能力,使理论和实际能够相得益彰。为此,本论文拟提出一套能够实现乐曲演奏及灯光显示

3、功能的简易型掌上电子琴系统,并选用相应的硬件实现。掌握单片机STM8S105的工作原理及编程方法;掌握矩阵型键盘编程方法;掌握定时/计数器的工作原理;掌握1602显示屏的工作原理及编程方法掌握音频放大器LM386的编程方法及工作原理; 设计一种掌上电子琴的简约型系统,实现电子琴基本音符的弹奏功能; 音频放大器使用LM386模块,掌握其工作原理及编程方法; 发生模块使用板载小型扬声器; 键盘模块使用4*4矩阵键盘,确定不同键的键值,16个键发出16个音符,另外提供一个复位键。 显示模块使用1602液晶模块,实现必要的界面射击,显示当前按下键符,当按下键符后对应显示0F。 实现几种灯光特效。本系统

4、主要实现三个功能:音乐播放、电子琴演奏和数字显示。音乐播放部分:本设计就是用单片机STM8S105的两个定时器控制,在引脚上输出方波周期信号,产生其对应频率的乐音,通过矩阵式键盘的按键产生不同的音符,数字显示部分:用于配合发音部分的功能,进行简单的展示和人机交互,是系统和用户之间进行交互和信息交换的媒介,提供更加友好的功能。电子琴演奏部分:实际上就是把弹奏的每个按键的所对应的值处理后送给单片机,然后在单片机内把处理后的数字当作指针指向所对应的音符,从而发出对应的声音。程序主流程如图所示,采用模块化设计。包括主逻辑模块、定时器模块、I/O模块、矩阵键盘扫描模块、数码管显示模块、发声模块。右图为该

5、简易型掌上电子琴的逻辑流程图,其运行状态大致可划分为三种状态:初始化状态、待机状态以及执行状态。开始开始待机待机执行执行STM8系列是意法半导体公司生产的8位单片机,STM8S属于其标准系列。其为高级STM8内核,具有3级流水线的哈佛结构。与51系列单片机相比,具备更强更丰富的功能,TIM1TIM4、ADC、SPI、BEEP等。可以从初期就接触到各种功能模块的学习,在了解外设的同时深入掌握CPU的结构与功能。矩阵键盘的列线通过电阻接正电源,并将行线所接的单片机的I/O口作为输出端,而列线所接的I/O口则作为输入。这样,当按键没有按下时,所有的输出端都是高电平,代表无键按下。行线输出是低电平,一

6、旦有键按下,则输入线就会被拉低,这样,通过读入输入线的状态就可得知是否有键按下。液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就有显示,这样即可以显示出图形。1602液晶显示器是一种字符型显示模块,即专门用于显示字母、数字、符号等内容的点阵式LCD。1602LCD分为背光式和非背光式两种,控制器为HD44780,带背光的要比不带背光的厚一些,然而实际使用中并无差别。LM386是美国国家半导体公司生产的音频功率放大器,主要应用于低电压消费类产品。为使外围元件最少,电压增益内置为20。但在1脚和8脚之间增加一只外接电阻和电容,便可将电压增益调为任意值,直至200。输入端以地

7、位参考,同时输出端被自动偏置到电源电压的一半,在6V电源电压下,它的静态功耗仅为24mW,使得LM386特别适用于电池供电的场合。程序的编写采用C语言,基于ST官方函数库来实现。这样有助于提高程序的可移植性,且通过结构体、枚举类型、指针变量等将各个模块的资源进行了整合与统一,使得函数库结构清晰,增加了程序的可读性。STM8S的I/O口较少,当外部按键较多时,为减少接口占用,通常将按键排列成矩阵形式,在每条水平线和垂直线交叉处通过一个按键加以连接。在软件中可以采用逐行扫描或者高低电平转换法识别按下的按键。逐行扫描法实现容易,逻辑清晰。将4位接口循环输出0值,然后读取高4位值,若哪一位上有输出,即

8、可根据前4位的状态确定具体是哪一个键被按下。在实现过程中,还要考虑去抖动和连续按键判定等问题。1.键盘防抖在读取到键码以后,延时一定的时间,如果能再次读取到键码则被认为是有效按键动作,否则为无效动作。通过这样的逻辑判断可以有效去除抖动。2.初始化对PC1.PC2.PE5引脚设置为开漏输出模式,对PA6.PA5.PA4端口设置为输入模式,完成键盘功能的初始化。3.防止串键根据电子琴的工作特点,在主逻辑中取得返回值以后,通过逻辑判断选择8种按键执行动作,同一时间只能有一个按键动作被执行,不会发生串键。1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有

9、:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。 1.液晶屏初始化将RS和R/W置0,依次写入初始化指令,设置显示屏的显示模式、开显示、清屏。2.函数封装将1602写入数据的指令写为独立的函数,并预留出参数接口。这样在调用时可以直接使用指令+参数的模式,减少了编程工作量,使程序清晰易懂。此外,还将清屏指令单独作为函数,方便调用。3.功能设计1602内置了可以识别英文字符和日文片假名字符的功能,因此在编程时直接写入数据即可。要实现中文显示或图片显示,需要通过取模软件进行相关的代码转换。音持续时间的长短即时值,一般用拍数表示,休止符表示暂停发音。 一首音乐是由许多不同的音符组成的,而每个音符对应着不同的频率,这样就可以利用不同频率的组合,加以与拍数对应的延时,构成音乐。了解音乐的一些基本知识后可知,产生不同频率的音频脉冲即能产生音乐,对于单片机而言,产生不同频率有脉冲非常方便,可以利用它的定时/计数器来产生这样的方波频率信号,因此,需要弄清楚音乐中的音符和对应的频率,以及单片机定时计数的关系。彩灯控制是单片机最基

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论