简易电子琴设计与实现样本

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

简易电子琴设计与实现

一、概述

1.1 课题设计目的及其意义

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

随着社会的发展进步, 人们的生活水平也逐步提高, 音乐已经成为了我们生活中很重要的一部分, 在工作和学习之余, 欣赏音乐不但使身心得到放松, 同时也提高人们的精神品质和个人素养。当代, 爱好音乐的年轻人越来越多, 也有不少人自己练习弹奏乐器, 作为业余爱好和一种放松的手段, 鉴于一些乐器学习难度大需花费太多精力, 且其价格太过于高昂, 使得一部分有这种想法的人不得不放弃这种想法, 而电子琴又是一种新型的键盘乐器, 它是现代电子科技与音乐结合的产物, 价格相对便宜, 能够满足一般爱好者的需求, 因此, 在现代音乐中扮演着重要的角色。故简易电子琴的研制具有一定的社会意义。

1.2 课题设计的任务与主要内容

本文的主要内容是用AT89C51单片机为核心控制元件, 设计

一个简单的电子琴。以单片机作为主控核心, 与键盘、扬声器等模块组成核心主控制模块, 在主控模块上设有16个按键和扬声器。定时器按设置的定时参数产生中断, 由于定时参数不同, 就会发出不同频率的脉冲, 不同频率的脉冲经喇叭驱动电路放大滤波后, 就会发出不同音调。

先根据要求设计硬件电路和编写相应的程序, 然后进行仿真调试, 最后细心焊接硬件电路图, 将程序烤入芯片中, 最终达到设计目的。本系统运行稳定, 其优点是硬件电路简单, 软件功能完善, 控制系统可靠, 性价比较高等, 具有一定的实用和参考价值。

具体实现的功能: 按下音符键能够发出相应的音符。

二、基本组成和原理

2.1 音乐相关知识

在人类还没有产生语言时, 就已经知道利用声音的高低、强弱等来表示自己的思想和感情。声带、琴弦等物体振动时会发出声波, 声波经过空气传播进入人耳, 人们就听到了声音。声音有噪音和乐音之分振动有规律的声音是乐音, 音乐中所用的声音主要是乐音。

乐音听起来有的高、有的低, 这就叫做音高。音高是由发声物体振动频率的高低决定的, 频率高声音就高, 频率低声音就低。音持续时间的长短即时值, 一般用拍数表示。休止符表示暂停发音。

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

构成音乐。如果单片机要自己播放音乐就必须考虑到节拍的设置。

对于AT80C51而言要产生一定频率的方波一般是先将某口线输出高电平, 延迟一段时间后再输出低电平。经过改变延迟时间能够改变单片机的输出频率。单片机的延时主要有两种方式, 即软件延时和使用定时/计数器延时。其中软件延时不是很精确, 而电子琴电路由于每个音符的频率值要求比较严格, 因此我们选用定时/计数器延时。

由于本课程设计是由用户经过键盘输入弹奏乐曲的, 因此节拍由用户掌握, 不由程序控制。因此, 我们只需弄清楚音乐中的音符和对应的频率, 利用单片机的定时/计数器来产生方波频率信号即可。

要产生相应的音频脉冲, 只需要计算出某音频的周期, 再除

以2。利用计数器计时半周期, 计满时使P2.0反向, 然后重复计

时再反向。本例中, 单片机工作在12MHz时钟, 使用定时器/计

数器T0, 工作模式为1, 改变计数初值TH0、TL0就可产生不

同频率的脉冲信号。

例如低3MI音, 频率为330Hz, 其周期T=1/f=1/330=3030us, 计数值N=3030/2=1515,因此每计数1515次P2.0反向。计数初值T=65536-N=64021。C调的各音符频率与计数值T的对照表如表1所示。

表1 C调各音符频率与计数值T对照表

2.2 简易电子琴基本原理及其框图

1、基本思想:

简易的电子琴系统主要是采用AT89C51单片机, 单片机工作于12MHZ的时钟频率, 使用其定时/计数器T0, 工作模式为1, 设计4*4键盘矩阵, 设置成16个音, 可随意弹奏想要表现的音乐, 因为单片机产生的音频脉冲没有足够的驱动能力, 因此用三极管放大

电路实现音频的放大, 保证扬声器能产生所要实现的音符声音。2、硬件框图:

3、软件设计流程图:

本设计采用AT89C51单片机作为核心处理器件, 按下复位键, 进入初始化, 调用键盘扫面子程序, 获得键值, 查询音阶表, 获取定时初值, 向喇叭输入相应频率的脉冲驱动, 发出相应的音调, 若按键没有释放, 则一直发声; 若按键松开, 则停止发声。当读到结束符时, 停止播放音乐。

具体软件流程图如下:

1) 中断服务子程序流程图:

2) 主程序流程图:

三、系统的硬件结构

硬件电路的设计主要包括芯片89C51,、4*4键盘电路、振荡电路、复位电路及音频电路组成。

简易电子琴硬件电路图:

3.1 单片机89C51的简介

AT89C51是一个低功耗, 高性能CMOS 8位单片机, 片内含4k Bytes ISP(In-system programmable)的可重复擦写1000次的Flash只读程序存储器, 器件采用ATMEL公司的高密度、非易失性存储技术制造, 兼容标准MCS-51指令系统及80C51引脚结构, 芯片内集成了通用8位中央处理器和ISP Flash存储单元, 功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。

AT89S51具有如下特点: 40个引脚, 4k Bytes Flash片内程序存储器, 128 bytes的随机存取数据存储器( RAM) , 32个外部双向输入/输出( I/O) 口, 5个中断优先级2层中断嵌套中断, 2个16位可编程定时计数器,2个全双工串行通信口, 看门狗( WDT) 电路, 片内时

相关文档
最新文档