电子琴论文文档格式.docx

上传人:b****7 文档编号:22113240 上传时间:2023-02-02 格式:DOCX 页数:60 大小:700.78KB
下载 相关 举报
电子琴论文文档格式.docx_第1页
第1页 / 共60页
电子琴论文文档格式.docx_第2页
第2页 / 共60页
电子琴论文文档格式.docx_第3页
第3页 / 共60页
电子琴论文文档格式.docx_第4页
第4页 / 共60页
电子琴论文文档格式.docx_第5页
第5页 / 共60页
点击查看更多>>
下载资源
资源描述

电子琴论文文档格式.docx

《电子琴论文文档格式.docx》由会员分享,可在线阅读,更多相关《电子琴论文文档格式.docx(60页珍藏版)》请在冰豆网上搜索。

电子琴论文文档格式.docx

目录IV

第一章绪论1

第二章系统设计要求和方案论证3

2.1系统设计要求3

2.2方案论证3

2.3系统框图4

2.4电子琴系统的组成5

第三章硬件简介6

3.1AT89S516

3.1.1AT89S51简介6

3.1.2AT89S51功能及特性6

3.1.3AT89S51各个管脚说明7

3.1.4单片机最小系统9

3.1.5芯片擦除10

3.2矩阵式键盘的识别和显示11

3.2.1矩阵式键盘的结构与工作原理11

3.2.2矩阵式键盘的按键识别方法11

3.2.3键盘接口必须具有的4个基本功能11

3.3音频放大电路12

3.3.1LM386内部电路12

3.3.2LM386特性12

3.4供电电路14

3.5LED数码管14

3.5.1数码管的分类14

3.5.2数码管的驱动方式14

第四章软件设计16

4.1整体程序处理流程图16

4.2I/O并行口直接驱动LED显示16

4.3音乐播放设计17

4.4放歌子程序流程图20

4.5计时部分流程图21

第五章调试22

5.1Proteus简介22

5.2keil简介22

5.3利用keil与Proteus进行的调试23

第六章结论25

致谢26

参考资料27

附录128

附录229

附录330

第一章绪论

随着大规模集成电路的出现和发展,芯片生产厂家把中央处理器CPU,随机存取内存RAM,只读存储器ROM,定时器/计数器以及I/O接口电路等主要计算机部件,集成在一块集成电路芯片(硅片)上,形成芯片级计算机,称为单片微型计算机,直译为单片机。

单片机虽只是一个芯片,但从组成和功能上看,它已具有了微机系统的含义,又称微型处理部件MCU(MicroControllerUnit),单片机商品名称为微控制器单元。

虽然单片机出现的历史并不长,但发展十分迅猛,在集成度、功能、速度、可靠性、应用领域等全方位向更高水平发展。

目前单片机已用于工业控制、机电一体化设备、仪器仪表、信号处理、现代兵器、交通能源、商用设备、医疗设备及家用电器等各个领域,随着单片机性能的不断提高,它的应用将会更加广泛。

单片机技术发展非常快,所以目前的产品都致力于在功能全面、技术先进、操作简便、安全可靠、价格合理等方面进行仔细研究,精心设计;

及时掌握最新的单片机技术,在条件允许的情况下,尽可能地利用最新的单片机技术来研制其应用系统,再利用单片机体积小、价格低、功能强等特点,以保证所设计的产品在未来的一段时间内仍具生命力。

在生活和生产的各个领域中,凡是有自动控制要求的地方都会有单片机的身影出现;

从简单到复杂,从空中、地面到地下,凡是能想象到的地方几乎都有使用单片机的需求。

现在,尽管单片机的应用已经很普遍了,但仍有许多可以用单片机控制而尚未实现的项目,因此,单片机的应用大有可以想象和拓展的空间。

单片机的应用有利于产品的小型化、多功能化和智能化,有助于提高劳动效率,减轻劳动强度,提高产品质量,改善劳动环境,减少能源和材料消耗,保证安全等。

但是,单片机应用的意义绝不仅限于它的广阔范围以及所带来的经济效益上,更重要的意义还在于:

单片机的应用正从根本上改变着传统的控制系统设计思想和设计方法。

从前必须由模拟电路或数字电路实现的大部分控制功能,现在已能使用单片机通过软件(编程序)方法实现了。

这种以软件取代硬件并能提高系统性能的控制系统“软化”技术,称之为微控制技术。

微控制技术是一种全新的概念,是对传统控制技术的一次革命。

随单片机应用的推广普及,微控制技术必将不断发展、日益完善和更加充实。

电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。

它在现代音乐扮演着重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经融入现代人们的生活中,成为不可替代的一部分。

本文主要对使用单片机设计简易电子琴进行了分析,并介绍了基于单片机电子琴的硬件组成。

利用单片机产生不同频率来获得我们要求的音阶,最终可随意弹奏想要表达的音乐。

并且本文分别从原理图,主要芯片,各模块原理及各模块的程序的调试来详细阐述。

一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,来构成我们所想要的音乐了,由于单片机产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这样方波频率信号,因此,我们只要把一首歌曲的音阶和它所对应的频率关系设置正确即可。

之所以以单片机电子琴为选题,目的在于从日常生活能接触到的细微处着手,通过理论与实践的结合,更明确自己的所学所用,也在实践中发现理论的不足,对目前日益广泛应用的单片机有了更加理性化和感性化的认识,使理论和实践相得益彰。

通过单片机电子琴这个选题,更深层次地了解了单片机技术,以前只是有理论,实践的机会不是很多,在单片机电子琴这个选题的设计制作过程中,更加熟练地掌握了单片机方面的知识,也解决了很多以前理论和实践脱节的问题,可谓对单片机的认识有了一个小的飞跃。

第二章系统设计要求和方案论证

2.1系统设计要求

本系统分为两个部分,一个是音乐播放,另一个就是电子琴弹奏。

关于声音的处理,使用单片机C语言,利用定时器来控制频率,而每个音符的符号只是存在我自己定义的表中。

具体要求如下:

1.要求达到电子琴的基本功能,可以弹奏出简单的乐曲。

2.用键盘做出电子琴的按键,每键代表一个音符。

3.各音符按一定的顺序排列。

4.固定音乐播放有按键控制:

“播放”、“弹奏/停止”。

5.弹奏电子琴时能播放出准确的声音,不弹奏时可以播放内置音乐。

2.2方案论证

2.2.1主控制电路方案论证:

方案一:

采用两个555集成定时器组成简易电子琴,整个电路由主振荡器,颤音振荡器,扬声器和琴键按钮等部分组成。

由于555产生的信号不稳定且精度不高。

故不采用。

方案二:

使用FPGA/CPLD来设计电路,并编写程序,组成电子琴系统,此种方案投入过高,费用较大,浪费了FPGA/CPLD的大部分资源,不适合做电子琴等小型设计。

方案三:

采用AT89S51单片机进行控制,以AT89S51单片机为核心控制元件,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有16个按键和扬声器。

程序易擦除,比较方便。

根据以上比较可知应采用第三种方案

2.2.2音频放大电路方案论证:

采用普通三极管控制蜂鸣器,对输出特定频率的方波进行放大,此种方法信号失真严重,并且不方便进行音量的调节,并且蜂鸣器的音色不够完美。

采用386集成功放芯片对输出波形进行放大,此方案电路简单,信号失真较小,并且可以驱动扬声器发出音色较完美的声音。

除此之外,还可以方便的进行音量的调节。

综上两种方案,方案二具有明显的优点,故采用方案二。

2.2.3放音计时电路方案论证:

方案一:

采用放音单片机内部的定时器对音乐播放进行计时,此种方法虽然较简单,但由于电子琴放音时定时器一直被使用,不能再移为他用,并且电子琴的I/O口已经基本用完,所以此方案行不通。

方案二:

采用555定时器数字电路搭建计时部分电路,此电路制作起来较为复杂并且操作起来也不方便,驱动数码管还需要译码电路,使用非常麻烦。

方案三:

采用单独一块51单片机组成计时电路,并和电子琴主控单片机进行通信,用主控单片机控制计时电路单片机的计时与停止。

此电路简单,操作方便,定时准确。

综上三种方案,计时电路采用方案三。

2.3系统框图

该系统通过电子琴按键随意键入所要表达的音符,作为电平送给主体电路,中央处理器通过识别,解码输出音符,在扬声器中发出有效的声音。

通过这样可以不断的弹奏音乐。

嵌入式电路,按键电路,LED显示电路和两个功能键组成,通过功能键可以选择播放音乐。

其主要模块由五个部分组成,具体关系如图2-1所示:

表2-1系统整体框图

上图即为此次设计中的电子琴的硬件结构图,我们运用单片机的最小系统,用P0口的高四位和P0口的低四位作4X4矩阵式按键的接口,用P2口作数码管的接口,用P3.7作信号输出口。

2.4电子琴系统的组成

单片机因体积小、功能强、价格低廉而得到广泛应用。

AT89S51单片机设计微型电子琴的方法,仅需AT89S51最小系统,扩展一组矩阵键盘,再接一组发光二极管用来指示电子琴的工作状态。

本系统分为三个部分,一个是音乐播放,另一个就是电子琴,计时部分电路。

音乐播放部分:

音乐实际上是有固定周期的信号。

本文介绍用AT89S51的两个定时器(如T0,T1)控制,在P3.7脚上输出方波周期信号,产生音乐,通过矩阵键盘按键产生不同的音符,由此操作人员可以随心所欲的弹奏自己所喜爱的乐曲,当不想弹奏时通过按放歌键可以演奏事先存放在单片机中的几首动听的曲子供消遣。

当歌曲演奏完时,通过按复位键便可回到初始状态,这样就做出了一台微型电子琴。

由于一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,由于单片机产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系弄正确即可。

乐曲中,每一音符对应着确定的频率,我们将每一音符的时间常数和其相应的节拍常数作为一组,按顺序将乐曲中的所有常数排列成一个表,然后由查表程序依次取出,产生音符并控制节奏,就可以实现演奏效果。

电子琴弹奏部分:

实际上就是把每个按键所对应的值经过处理后发给单片机,再在单片机内把数字当作指针指向所对应的音符。

计时部分电路采用单独一块单片机,并通过573驱动数码管,采用动态扫描的方式显示播放时间,此计时单片机和主控单片机进行通信,并由主控单片机对计时单片机进行控制。

第三章硬件简介

3.1AT89S51

3.1.1AT89S51简介

AT89S51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FlashProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。

AT89S51是一种带4K字节闪烁可编程可擦除只读存储器的单片机。

单片机的可擦除只读存储器可以反复擦除100000次。

该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。

由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89S51是一种高效微控制器,AT89S51是它的一种精简版本。

AT89S51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

外形及引脚排列如图3-1所示:

图3-1AT89S51

3.1.2AT89S51功能及特性

AT89S51具有以下标准功能:

4k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。

另外,AT89S521可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。

空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。

掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。

●与MCS-51单片机产品兼容

●8K字节在系统可编程Flash存储器

●10000次擦写周期

●全静态操作:

0Hz~33Hz

●三级加密程序存储器

●32个可编程I/O口线

●三个16位定时器/计数器

●全双工UART串行通道

●低功耗空闲和掉电模式

●掉电后中断可唤醒

●看门狗定时器

●双数据指针

●掉电标识符Y

3.1.3AT89S51各个管脚说明

VCC:

供电电压。

GND:

接地。

P0口:

P0口是一个8位漏极开路的双向I/O口。

作为输出口,每位能驱动8个TTL逻辑电平。

对P0端口写“1”时,引脚用作高阻抗输入。

当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。

在这种模式下,P0具有内部上拉电阻。

在flash编程时,P0口也用来接收指令字节;

在程序校验时,输出指令字节。

程序校验时,需要外部上拉电阻。

P1口:

P1口是一个具有内部上拉电阻的8位双向I/O口,p1输出缓冲器能驱动4个TTL逻辑电平。

对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。

作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。

此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),具体如表4-1所示。

在flash编程和校验时,P1口接收低8位地址字节。

表3-1P1口的第二功能

引脚号

第二功能

P1.0

T2(定时器/计数器T2的外部计数输入),时钟输出

P1.1

T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)

P1.5

MOSI(在系统编程用)

P1.6

MISO(在系统编程用)

P1.7

SCK(在系统编程用)

P2口:

P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。

并因此作为输入时,P2口的管脚被外部拉低,将输出电流。

这是由于内部上拉的缘故。

P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。

在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。

P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

P3口:

P3口管脚是8个带内部上拉电阻的双向I/O口,可接收,输出4个TTL门电流。

当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。

作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。

P3口作为AT89S52的一些特殊功能口,如表3-2所示:

P3口同时为闪烁编程和编程校验接收一些控制信号。

表3-2P3的特殊功能

口管脚

备选功能

P3.0RXD

(串行输入口)

P3.1TXD

(串行输出口)

P3.2/INT0

(外部中断0)

P3.3/INT1

(外部中断1)

P3.4T0

(记时器0外部输入)

P3.5T1

(记时器1外部输入)

P3.6/WR

(外部数据存储器写选通)

P3.7/RD

(外部数据存储器读选通)

RST:

复位输入。

当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

ALE/PROG:

当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。

在FLASH编程期间,此引脚用于输入编程脉冲。

在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。

因此它可用作对外部输出的脉冲或用于定时目的。

然而要注意的是:

每当用作外部数据存储器时,将跳过一个ALE脉冲。

如想禁止ALE的输出可在SFR8EH地址上置0。

此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。

另外,该引脚被略微拉高。

如果微处理器在外部执行状态ALE禁止,置位无效。

/PSEN:

外部程序存储器的选通信号。

在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。

但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。

/EA/VPP:

当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。

注意加密方式1时,/EA将内部锁定为RESET;

当/EA端保持高电平时,此间内部程序存储器。

在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

XTAL1:

反向振荡放大器的输入及内部时钟工作电路的输入。

XTAL2:

来自反向振荡器的输出。

3.1.4单片机最小系统

最小系统由以下几个部分组成:

1、复位电路:

为确保微机系统中电路稳定可靠工作,复位电路是必不可少的一部分,复位电路的第一功能是上电复位。

一般微机电路正常工作需要供电电源为5V±

5%,即4.75~5.25V。

由于微机电路是时序数字电路,它需要稳定的时钟信号,因此在电源上电时,只有当VCC超过4.75V低于5.25V以及晶体振荡器稳定工作时,复位信号才被撤除,微机电路开始正常工作。

图3-2复位电路

目前为止,单片机复位电路主要有四种类型:

●微分型复位电路;

●积分型复位电路;

●比较器型复位电路;

●看门狗型复位电路。

2、振荡电路:

晶振是晶体振荡器的简称,在电气上它可以等效成一个电容和一个电阻并联再串联一个电容的二端网络,电工学上这个网络有两个谐振点,以频率的高低分其中较低的频率是串联谐振,较高的频率是并联谐振。

由于晶体自身的特性致使这两个频率的距离相当的接近,在这个极窄的频率范围内,晶振等效为一个电感,所以只要晶振的两端并联上合适的电容它就会组成并联谐振电路。

这个并联谐振电路加到一个负反馈电路中就可以构成正弦波振荡电路,由于晶振等效为电感的频率范围很窄,所以即使其他元件的参数变化很大,这个振荡器的频率也不会有很大的变化,震荡电路的电路图如图3-3所示.

图3-3振荡电路

晶振有一个重要的参数,那就是负载电容值,选择与负载电容值相等的并联电容,就可以得到晶振标称的谐振频率。

一般的晶振振荡电路都是在一个反相放大器(注意是放大器不是反相器)的两端接入晶振,再有两个电容分别接到晶振的两端,每个电容的另一端再接到地,这两个电容串联的容量值就应该等于负载电容,请注意一般IC的引脚都有等效输入电容,这个不能忽略。

3.1.5芯片擦除

整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms来完成。

在芯片擦除操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。

  此外,AT89S51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。

在闲置模式下,CPU停止工作。

但RAM,定时器,计数器,串口和中断系统仍在工作。

在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。

3.2矩阵式键盘的识别和显示

3.2.1矩阵式键盘的结构与工作原理

在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式。

在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。

这样,一个端口(如P1口)就可以构成4*4=16个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成20键的键盘,而直接用端口线则只能多出一键(9键)。

由此可见,在需要的键数比较多时,采用矩阵法来做键盘是合理的。

  矩阵式结构的键盘显然比直接法要复杂一些,识别也要复杂一些,列线通过电阻接正电源,并将行线所接的单片机的I/O口作为输出端,而列线所接的I/O口则作为输入。

这样,当按键没有按下时,所有的输出端都是高电平,代表无键按下。

行线输出是低电平,一旦有键按下,则输入线就会被拉低,这样,通过读入输入线的状态就可得知是否有键按下了。

具体的识别及编程方法如下所述。

3.2.2矩阵式键盘的按键识别方法

确定矩阵式键盘上何键被按下介绍一种“行扫描法”。

  行扫描法:

行扫描法又称为逐行(或列)扫描查询法,是一种最常用的按键识别方法,如图本设计的键盘,介绍过程如下:

  

(1)判断键盘中有无键按下将全部行线Y0-Y3置低电平,然后检测列线的状态。

只要有一列的电平为低,则表示键盘中有键被按下,而且闭合的键位于低电平线与4根行线相交叉的4个按键之中。

若所有列线均为高电平,则键盘中无键按下。

  

(2)判断闭合键所在的位置在确认有键按下后,即可进入确定具体闭合键的过程。

其方法是:

依次将行线置为低电平,即在置某根行线为低电平时,其它线为高电平。

在确定某根行线位置为低电平后,再逐行检测各列线的电平状态。

若某列为低,则该列线与置为低电平的行线交叉处的按键就是闭合的按键。

3.2.3键盘接口必须具有的4个基本功能。

(1)去抖动:

每个按键在按下或松开时,都会产生短时间的抖动。

抖动的持续时间与键的质量相关,一般为5—20mm。

所谓抖动是指在识别被按键是必须避开抖动状态,只有处在稳定接通或稳定断开状态才能保证识别正确无

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1