单片机简易电子琴Word文件下载.docx

上传人:b****6 文档编号:20330124 上传时间:2023-01-22 格式:DOCX 页数:24 大小:319.73KB
下载 相关 举报
单片机简易电子琴Word文件下载.docx_第1页
第1页 / 共24页
单片机简易电子琴Word文件下载.docx_第2页
第2页 / 共24页
单片机简易电子琴Word文件下载.docx_第3页
第3页 / 共24页
单片机简易电子琴Word文件下载.docx_第4页
第4页 / 共24页
单片机简易电子琴Word文件下载.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

单片机简易电子琴Word文件下载.docx

《单片机简易电子琴Word文件下载.docx》由会员分享,可在线阅读,更多相关《单片机简易电子琴Word文件下载.docx(24页珍藏版)》请在冰豆网上搜索。

单片机简易电子琴Word文件下载.docx

它的应用必定导致传统的控制技术从根本上发生变革。

因此,单片机的开发应用已成为高科技和工程领域的一项重大课题。

目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。

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

更不用说自动控制领域的机器人、智能仪表、医疗器械以及各种智能机械了。

因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。

单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域。

1.2电子琴简介

1.2.1电子琴的特点

电子琴又称作电子键盘,属于电子乐器(区别于电声乐器),发音音量可以自由调节。

音域较宽,和声丰富,甚至可以演奏出一个管弦乐队的效果,表现力极其丰富。

它还可模仿多种音色,甚至可以奏出常规乐器所无法发出的声音(如合唱声,风雨声,宇宙声等).另外,电子琴在独奏时,还可随意配上类似打击乐音响的节拍伴奏,适合于演奏节奏性较强的现代音乐。

另外,电子琴还安装有效果器,如混响、回声、延音,震音轮和调直轮等多项功能装置,表达各种情绪时运用自如。

1.2.2电子琴发展趋势

近年来,我国电子琴市场增长迅猛,随着中国区域经济不断发展,电子琴产业对经济增长的促动作用越来越明显。

电子琴发展迅速,不论是在制造工艺上、操作程序上还是在演奏技法上都有了突飞猛进的发展,这在乐器发展史上是其他任何乐器所不能比拟的。

自从八十年代电子琴进入我国以来,电子琴以它适合中国国情、经济适用、表现力强、功能强大而受到广大的初学者、音乐爱好者、专业音乐工作者,音乐家的喜爱,可以说现在电子琴在中国的普及率是很高的。

这无论是对提高整个人们的音乐素质,还是对音乐的发展都是功德无量的事。

电子琴为音乐家、电子研究人员,电子乐器制造商提供了更大的空间。

电子琴既是乐器,又是电子产品,我们想象一下,制造电子琴的研究人员不懂电子琴的演奏,却能把电子琴的操作系统制作合理,方便演奏,这一定是是不可能的事.而电子琴演奏家不懂电子技术,不懂电脑操作,甚至连下载数据都不会,那他的演奏水平的提高也会受到极大的限制。

而作曲家不懂电子琴,那他也不会写出顶级的电子琴音乐作品。

音乐家,电子琴研究人员,乐器制造商共同努力,不断的推出精品电子琴,这样的后果势必也对音乐发展起到不可估量的巨大作用。

1.3本设计所要实现的目标

系统设计要求

(1)以单片机为核心设计一个电子琴。

(2)设置7个键,可随意弹奏发出1、2、3、5、6、7 等音符。

1.4设计方案的确定

一、硬件方案

硬件电路有4个部分组成,即键盘输入电路、单片机时钟电路、复位电路、speaker电路。

各部分实现功能如下。

(1)键盘输入电路:

提供按键信号。

(2)单片机时钟电路、复位电路:

单片机正常工作需要。

(3)Speaker电路:

用于音乐播放。

二、软件方案

本系统的软件部分主要完成功能:

键盘扫描、一定频率的产生和输出。

根据软件的功能划分软件设计模块如图所示。

图1电路模块

其中各个模块的具体任务如下。

(1)键盘扫描模块:

实现不同音符的输入功能。

(2)频率产生模块:

产生音符。

(3)输出模块:

输出口驱动扬声器,输出相应的音乐。

第2章系统的工作原理

本系统扫描键盘矩阵、显示按键、扬声器发出对应音符。

4X4行列式键盘识别及显示原理如下:

组成键盘的按键有机械式、电容式、导电橡胶式、薄膜式多种,但不管什么形式,其作用都是一个使电路接通与断开的开关。

目前微机系统中使用的键盘按其功能不同,通常可分为编码键盘和非编码键盘两种基本类型。

编码键盘:

键盘本身带有实现接口主要功能所需的硬件电路。

不仅能自动检测被按下的键,并完成去抖动、防串键等功能,而且能提供与被按键功能对应的键码(如ASCII码)送往CPU。

所以,编码键盘接口简单、使用方便。

但由于硬件电路较复杂,因而价格较贵。

非编码键盘:

键盘只简单地提供按键开关的行列矩阵。

有关按键的识别、键码的确定与输入、去抖动等功能均由软件完成。

目前微机系统中,一般为了降低成本大多数采用非编码键盘。

键盘接口必须具有去抖动、防串键、按键识别和键码产生4个基本功能。

(1)去抖动:

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

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

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

去抖问

题可通过软件延时或硬件电路解决。

(2)防串键:

防串键是为了解决多个键同时按下或者前一按键没有释放又有新的按键按下时产生的问题。

常用的方法有双键锁定和N键轮回两种方法。

双键锁定,是当有两个或两个以上的按键按下时,只把最后释放的键当作有效键并产生相应的键码。

N键轮回,是当检测到有多个键被按下时,能根据发现它们的顺序依次产生相应键的键码。

(3)被按键识别:

如何识别被按键是接口解决的主要问题,一般可通过软硬结合的方法完成。

常用的方法有行扫描法和线反转法两种。

行扫描法的基本思想是,由程序对键盘逐行扫描,通过检测到的列输出状态来确定闭合键,为此,需要设置入口、输出口一个,该方法在微机系统中被广泛使用。

线反转法的基本思想是通过行列颠倒两次扫描来识别闭合键,为此需要提供两个可编程的双向输入/输出端口。

(4)键码产生:

为了从键的行列坐标编码得到反映键功能的键码,一般在内存区中建立一个键盘编码表,通过查表获得被按键的键码。

用AT89S52的并行口P1接4×

4矩阵键盘,以P1.0-P1.3作输入线,以P1.4-P1.7作输出线;

在数码管上显示每个按键的“0-F”序号。

第3章简易电子琴硬件设计

3.1 硬件开发环境Protel

PROTEL是PORTEL公司在80年代末推出的EDA软件,在电子行业的CAD软件中,它当之无愧地排在众多EDA软件的前面,是电子设计者的首选软件,它较早就在国内开始使用,在国内的普及率也最高,有些高校的电子专业还专门开设了课程来学习它,几乎所有的电子公司都要用到它,许多大公司在招聘电子设计人才时在其条件栏上常会写着要求会使用PROTEL。

Protel设计系统是一套建立在IBM兼容机PC环境下的EDA电路集成设计系统。

Protel设计系统是世界上第一套将EDA环境引入Windows环境的EDA开发工具,是具有强大功能的电子设计CAD软件,一向以其高度的集成性和扩展性著称于世。

Protel公司2001年正式推出了具有PDM功能的、强大的EDA综合设计环境Protel99SE,它具有原理图设计、PCB电路板设计、层次原理图设计、报表制作、电路仿真及逻辑器件设计等功能,是电子工程师进行电子设计最有用的软件之一。

Protel共分5个模块,分别是原理图设计、PCB设计(包含信号完整性分析)、自动布线器、原理图混合信号仿真、PLD设计。

3.2系统组成及总体框图

硬件设计的任务是根据总体设计要求,在选择的机型的基础上,具体确定系统中所要使用的元器件,设计出系统的原理框图、电路原理图。

该设计要实现一种由单片机控制的电子琴,单片机工作于12MHZ时钟频率,使用其定时/计数器T0,工作模式为1,改变计数值TH0和TL0可以产生不同频率的脉冲信号。

该设计具有11个音节的键盘,用户可以根据乐谱在键盘上进行演奏,音乐发生器会根据用户的弹奏,通过扬声器将音乐播放出来。

由于本例实现的音乐发生器是由用户通过键盘输入弹奏乐曲的,所以节拍由用户掌握,不由程序控制。

用单片机产生的音频脉冲直接驱动扬声器并不能产生所要实现的音乐,因为它没有足够的驱动能力,这就需要音频功率放大电路。

本例使用国家半导体公司的低压音频功率放大器LM386来实现音频功放电路。

图2 硬件模块图

3.3主要元器件介绍

3.3.1主控芯片AT89S52简介

功能特性:

AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。

使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。

片上Flash允许程序存储器在系统可编程,亦适于常规编程器。

在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。

AT89S52具有以下标准功能:

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

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

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

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

8位微控制器8K字节在系统可编程FlashAT89S52。

主要性能:

与MCS-51单片机产品兼容、8K字节在系统可编程Flash存储器、1000次擦写周期、全静态操作:

0Hz~33Hz 

、 

三级加密程序存储器 

、32个可编程I/O口线 

、三个16位定时器/计数器八个中断源、全双工UART串行通道、低功耗空闲和掉电模式、掉电后中断可唤醒、看门狗定时器、双数据指针、掉电标识符。

图3 AT89S52引脚图DIP封装

3.3.2音频功放电路LM386芯片

LM386是美国国家半导体公司生产的音频功率放大器,主要应用于低电压消费类产品。

为使外围元件最少,电压增益内置为20。

但在1脚和8脚之间增加一只外接电阻和电容,便可将电压增益调为任意值,直至200。

输入端以地位参考,同时输出端被自动偏置到电源电压的一半,在6V电源电压下,它的静态功耗仅为24mW,使得LM386特别适用于电池供电的场合。

LM386是一种音频集成功放,具有自身功耗低、电压增益可调整、电源电压范围大、外接元件少和总谐波失真小等优点,广泛应用于录音机和收音机之中。

LM386的封装形式有塑封8引线双列直插式和贴片式。

图4 LM386的封装形式

特性(Features):

静态功耗低,约为4mA,可用于电池供电。

工作电压范围宽,4-12Vor5-18V。

外围元件少。

电压增益可调,20-200。

低失真度

其典型应用电路如下:

图5放大器增益=20(最少器件)

图6放大器增益=50

图7低频提升放大器

3.3.3扬声器

扬声器是一种把电平转变为声信号的换能器件,扬声器和性能对音质的高低音响很大。

扬声器的种类很多,按其换能原理可分为电动式、静电式、电磁式、压电式等几种,后两种多用于农村有线广播网中,按频率范围可分为低音扬声器、中音扬声器,这些常在音箱中作为组合扬声器使用。

在本次试验作品中使用电磁式扬声器

3.3.4LED数码管

LED(LightEmittingDiode),发光二极管,是一种固态的半导体器件,它可以直接把电转化为光。

LED的心脏是一个半导体的晶片,晶片的一端附在一个支架上,一端是负极,另一端连接电源的正极,使整个晶片被环氧树脂封装起来。

半导体晶片由两部分组成,一部分是P型半导体,在它里面空穴占主导地位,另一端是N型半导体,在这边主要是电子。

但这两种半导体连接起来的时候,它们之间就形成一个“P-N结”。

当电流通过导线作用于这个晶片的时候,电子就会被推向P区,在P区里电子跟空穴复合,然后就会以光子的形式发出能量,这就是LED发光的原理。

而光的波长决定光的颜色,是由形成P-N结材料决定的。

LED(Light-Emitting-Diode中文意思为发光二极管)是一种能够将电能转化为光能的半导体,它改变了白炽灯钨丝发光与节能灯三基色粉发光的原理,而采用电场发光。

据分析,LED的特点非常明显,寿命长、光效高、无辐射与低功耗。

LED的光谱几乎全部集中于可见光频段,其发光效率可超过150lm/W(2010年)。

将LED与普通白炽灯、螺旋节能灯及T5三基色荧光灯进行对比,结果显示:

普通白炽灯的光效为12lm/W,寿命小于2000小时,螺旋节能灯的光效为60lm/W,寿命小于8000小时,T5荧光灯则为96lm/W,寿命大约为10000小时,而直径为5毫米的白光LED光效可以超过150lm/W,寿命可大于100000小时。

有人还预测,未来的LED寿命上限将无穷大。

大功率,指发光功率大,一般指0.5W,1W3W5W或更高的。

光强与流明是比小功率大,但同样散热也很大,现在大功率都是单颗应用,加很大的散热片。

小功率一般是0.06W左右的。

现在LED手电一般是用小功率用的,光散不散,取决于LED的发光角度,有大角度小角度之分,小角度不散,大角度才散。

市面上的手电筒一般是用草帽头做的。

效果很好。

现在就担心有些厂家不重质量,拿的次品LED做电筒,用不了多久就有死灯。

LED的亮度是跟LED的发光角度有必然关系的,LED的角度越小它的亮度越高,没有什么超亮不超亮的,那是骗小孩的,如果是质量好的LED不管是哪家LED厂家生产的大家的亮度都差不多的,只是生产工艺不一样,使用寿命略有不同,因为大家用的都是那几家国外的LED芯片.如果是5MM的LED180度角的白光的亮度只有几百MCD,如果是15度角的亮度就要去到一万多两万MCD的亮度了,亮度相差好几十倍了,如果是用于照明用的,在户外最好是用大功率的LED了,亮度就更高了,单个功率有1W,3W,5W,还有的是用多个大功率组合成一个大功率的LED,功率去到几百都有。

本次课程设计的显示电路采用LED数码管显示,LED(Light-EmittingDiode)是一种外加电压从而流过电流并发出可见光的器件。

LED是属于电流控制器件,使用时必须加限流电阻。

LED有单个LED和八段LED之分,也有共阴和共阳两种。

常用的七段显示器的结构如图下图所示。

发光二极管的阳极连在一起的称为共阳极显示器(如图b所示),阴极连在一起的称为共阴极显示器(如图c所示)。

1位显示器由八个发光二极管组成,其中七个发光二极管a~g控制七个笔画(段)的亮或暗,另一个控制一个小数点的亮和暗,这种笔画式的七段显示器能显示的字符较少,字符的开头有些失真,但控制简单,使用方便。

此外,要画出电路图,首先还要搞清楚他的引脚图的分布,在了解了正确的引脚图后才能进行正确的字型段码编码。

才能显示出正确的数字来。

(a)外形(b)共阳极(C)共阴极

图8 数码管引脚

3.4显示电路

本次课程设计的显示电路采用LED数码管显示,由于LED是属于电流控制器件,使用时必须加限流电阻。

通过单片机查表得出数码管显示编码,传送给数码管显示,以此来实现按键与显示程序的一致性。

3.5各功能模块原理图

3.5.1AT89S52模块电路原理图

单片机主程序模块通过对键盘扫描程序信号的读取,在通过对应的表,取出数码管显示编码和定时器初始值以产生不同的声音信号。

在这一过程中,对数码管编码是直接赋值,对声音信号则是通过中断程序进行控制。

图9 AT89S52模块电路原理图

3.5.2键盘扫描模块电路原理图

对键盘扫描电路的扫描方式有行扫描法和线反转法,在此次程序编写中,采用行扫描法,通过在p20~p23上循环送出0扫描信号,p24~p27输入按键上的高低电平信息给单片机,经处理程序,判断出是哪个开关按下,并送主程序以实现不同功能。

图10键盘扫描模块电路原理图

3.5.3数码管显示模块电路原理图

数码管显示模块核心是共阳级数码管,通过来自单片机I/O口的电平高低来点亮和熄灭数码管上的发光二极管,通过单片机送来的数码管显示编码可以在数码管上显示数字和字符,使应用人员可以很容易的理解按键按下所对应的音符。

图11数码管显示模块电路原理图

3.5.4音频处理模块电路原理图

由于单片机驱动能力不够,在处理音符信号时,需加功率放大装置,因LM386芯片具有低功耗、高增益的特点,这合适单片机低功耗输出,所以加装LM386音频信号放大器对信号进行放大。

图12音频处理模块电路原理图

3.6主要电路原理图

图13主要电路原理图

第4章简易电子琴软件设计

4.1软件开发环境KeiluVision2

KeiluVision2是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,使用接近于传统c语言的语法来开发,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用,而且大大的提高了工作效率和项目开发周期,他还能嵌入汇编,您可以在关键的位置嵌入,使程序达到接近于汇编的工作效率。

KEILC51标准C编译器为8051微控制器的软件开发提供了C语言环境,同时保留了汇编代码高效,快速的特点。

C51编译器的功能不断增强,使你可以更加贴近CPU本身,及其它的衍生产品。

C51已被完全集成到uVision2的集成开发环境中,这个集成开发环境包含:

编译器,汇编器,实时操作系统,项目管理器,调试器。

uVision2IDE可为它们提供单一而灵活的开发环境。

KeilC51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面,使您能在很短的时间内就能学会使用keilc51来开发您的单片机应用程序。

另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到KeilC51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。

在开发大型软件时更能体现高级语言的优势

本软件设计关键是要实现一种由单片机控制的简单音乐发生器,它由16个音节组成的的键盘,用户可以根据乐谱在键盘上进行演奏,音乐发生器会根据用户的弹奏,通过扬声器将音乐播放出来。

4.2音乐相关知识

乐音听起来有的高,有的低,这就叫音高,音高是由发音物体振动频率的高低决定的,频率高声音就高,频率低声音就低,不同音商的乐音是用C、D、E、F、G、A、B表示的,这7个字母就是乐音的音名,它们一般依次唱成DO、RE、MI、FA、SO、LA、SI,这是唱曲时乐音的发音,所以叫唱名。

音持续时间的长短即时值,一般用拍数表示,休止符表示暂停发音。

一首音乐是由许多不同的音符组成的,而每个音符对应着不同的频率,这样就可以利用不同频率的组合,加以与拍数对应的延时,构成音乐。

4.3如何用单片机实现音乐的节拍

除了音符以外,节拍也是音乐的关键组成部分。

节拍实际上就是音持续时间的长短,在单片机系统中可以用延时来实现,如果1/4拍的延时是0.4秒,则1拍的延时是1.6秒,只要知道1/4拍的延时时间,其余的节拍延时时间就是它的陪数。

如果单片机要自己播放音乐,那么必须在程序设计中考虑到节拍的设置,由于本例实现的音乐发生器是由用户通过键盘输入弹奏乐曲的,所以节拍由用户掌握,不由程序控制。

对于不同的曲调我们也可以用单片机的另外一个定时/计数器来完成。

音乐的音拍,一个节拍为单位(C调)具体如下表:

曲调值

DELAY

调4/4

125ms

62ms

调3/4

187ms

94ms

调2/4

250ms

表1音乐节拍表

4.4如何用单片机产生音频脉冲

了解音乐的一些基本知识后可知,产生不同频率的音频脉冲即能产生音乐,对于单片机而言,产生不同频率有脉冲非常方便,可以利用它的定时/计数器来产生这样的方波频率信号,因此,需要弄清楚音乐中的音符和对应的频率,以及单片机定时计数的关系。

在本实验中,单片机工作于12MHZ时钟频率,使用其定时/计数器T0,工作模式为1,改变计数值TH0和TL0可以产生不同频率的脉冲信号,在此情况下,C调的各音符频率与计数值T的对照如下表:

音符

频率(HZ)

计数值(T值)

低1DO

262

63628

#4FA#

740

64860

#1DO#

277

63737

中5SO

784

64898

低2RE

294

63835

#5SO#

831

94934

#2RE#

311

63928

中6LA

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

当前位置:首页 > 高等教育 > 研究生入学考试

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

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