燕山大学简易电子琴的设计毕业设计

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

燕山大学

课程设计说明书题目:简易电子琴

学院(系):电气工程学院

年级专业:精仪一班

燕山大学课程设计(论文)任务书

2013.7.6 目录

摘要 (3)

1电子琴的发声原理 (5)

1.1发声原理 (5)

1.2 单片机实现简易电子琴原理及代码值的计算 (5)

2程序的设计思想及执行流程 (8)

2.1 主程序的流程 (8)

2.2 单发音子程序的执行流程 (11)

2.3 播放歌曲子程序的执行流程 (11)

3硬件系统连接 (13)

3.1 89c51芯片简介 (13)

3.2 蜂鸣器的电路连接及实现 (14)

3.3 4X4矩阵键盘 (15)

4总结 (17)

参考文献 (24)

摘要:

单片机是大规模集成电路技术发展的产物,具有高性能、高速度、体积小、价格低廉、稳定可靠等特点。单片机的应用相当广泛,从平常的家用电器到航天系统和国防军事、尖端武器都能找到它的身影。因此,单片机的开发应用已成为高科技和工程领域的一项重大课题。

随着社会的发展进步,音乐逐渐成为我们生活中很重要的一部分。本论文设计一个基于单片机的简易电子琴。我们对于电子琴如何实现其功能,如音色选择、声音强弱控制、节拍器、自动放音功能等等也很好奇。电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。它在现代音乐扮演着重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。本文的主要

容是用AT89S51单片机为核心控制元件,设计一个电子琴。以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有16个按键和扬声器。本系统运行稳定,其优点是硬件电路简单,软件功能完善,控制系统可靠,性价比较高等,具有一定的实用和参考价值。

关键词:单片机电子琴节拍器自动放音

1、电子琴的发声原理

1.1电子琴发声原理

电子琴既可以演奏不同的曲调,又可以发出强弱不同的声音,还可以模仿二胡、笛子、钢琴、黑管以及锣鼓等不同乐器的声音。那么,电子琴的发音原理是怎样的?大家知道,当物体振动时,能够发出声音。振动的频率不同,声音的音调就不同。在电子琴里,虽然没有振动的弦、簧、管等物体,却有许多特殊的电装置,每个电装置一工作,就会使喇叭发出一定频率的声音。当按动某个琴键时,就会使与它对应的电装置工作,从而使喇叭发出某种音调的声音。

电子琴的音量控制器,实质上是一个可调电阻器。当转动音量控制器旋扭时,可调电阻器的电阻就随着变化。电阻大小的变化,又会引起喇叭声音强弱的变化。所以转动音量控制旋扭时,电子琴发声的响度就随之变化。

当乐器发声时,除了发出某一频率的声音──基音以外,还会发出响度较小、频率加倍的辅助音──谐音。我们听到的乐器的声音是它发出的基音和谐音混合而成的。不同的乐器发出同一基音时,不仅谐音的数目不同,而且各谐音的响度也不同。因而使不同的乐器具有不同的音品。在电子琴里,除了有与基音对应的电装置外,还有与许多谐音对应的电装置,适当地选择不同的谐音电装置,就可以模仿出不同乐器的声音来。

1.2 单片机实现简易电子琴原理及代码计算

本课程设计的题目为简易电子琴的设计,通过编程控制蜂鸣器脉冲的频率和有效信号的长度,可实现如下的功能:

一:4*4矩阵键盘的1~E按键分别对应着个不同的音符,分为高低不同的14个音符,当按下某一按键,会发出相应的音调。按下按键时,扬声器会发出一定时长的声音。扬声器发声的时长是无法改变的,由程序设定。如果连续按动一个乐谱的音符所对应的按键,可以实现乐曲的演奏。

二:程序中预存了音乐《我的中国心》乐谱对应的编码,通过矩阵键盘中的“0”键触发,当在单片机处于该音乐播放模式时,可以通过按键“F”和“E”对该音乐的播放进行暂停、播放和停止操作等控制。

代码值的计算

不同的音符对应着不同的频率,我们可以利用不同的频率的组合,来实现不同的音符的组合,即可构成我们所想要的音乐了。

假如发生装置为脉冲型的蜂鸣器,将其连接在P1.0上。按每个音符对应的频率和拍长对P1.0施以有效的脉冲信号,即可实现对应的音乐。

而对于单片机来说产生不同的频率和一定长度的脉冲信号是非常方便,我们可以利用单片机的定时/计数器来产生这样方波频率信号,调用一个可编程的延时函数即可控制声音的长度。因此,只需将一首歌的音阶和频率即拍长相对应即可。

利用定时器计时半周期时间,每当计时终止后就将P1.0反相,然后重复计时再反相。就可在P1.0引脚上得到此频率的脉冲。若要产生音频脉冲,只要算出某一音频的周期(1/频率),再将此周期除以2,即为半周期的时间。利用AT89S52的部定时器使其工作计数器模式工作方式1下,改变计数初值以产生不同频率的方法产生不同音阶,下面将具体介绍音符频率的计算方法。

计数脉冲值与频率的关系式(如式2-1所示)是:

N =osc f ÷12÷r f ÷2 (式1-1) 式中,N 是产生需要脉冲所需的计数值,osc f 是单片机的晶振频率(本实验箱的晶体振荡器为5MHz ),r f 是想要产生的频率;

相应的计数初值T 的求法如下:

T =65536-N

(式

1-2)

以音符DO 为例,详述得到对应的频率所需的计数初值:

本次课程设计所使用的实验箱上的单片机晶振为6Hz,对应的每次计数时间间隔为2us ,低音DO 对应的频率为262Hz ,其周期T =1/262=3817μs 。低音DO (261Hz )、中音DO (523Hz )、高音DO (1046Hz )的计数值。

T =65536-N =65536-osc f /12/r f /2=65536-

相关文档
最新文档