购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

3.2 简易电子琴应用系统的设计思路

3.2.1 简易电子琴应用系统的工作流程

简易电子琴应用系统的工作流程如图3.1所示,简易电子琴应用系统在初始化完成后等待按键被按下,当有按键被按下时首先判断按键的类型,如果是播放键,则播放预先内置的音乐,如果是演奏键,则驱动发声部件发出相应的乐音,并且给出相应的指示。

图3.1 简易电子琴应用系统的工作流程图

3.2.2 简易电子琴应用系统的需求分析与设计

设计简易电子琴系统,需要考虑以下几个方面。

(1)要播放音乐,则需要一个能发出相应乐音的发声器件,并且使得51单片机能对该发生器件进行驱动。

(2)能让用户进行音乐的输入,需要提供和基本音符对应的按键。

(3)能让用户了解对应的按键已经被按下,需要有对应的指示灯。

(4)要根据相应的乐音基础概念来驱动发生器件发出不同的乐音效果,需要设计合适的单片机软件。

3.2.3 51单片机播放音乐

由于乐音是由于不同的频率构成的,所以可以使用51单片机的定时器来产生不同的脉冲驱动发声器件,即可得到对应的音符。

假设51单片机工作时钟为12MHz,使用定时器/计数器T0的工作方式1来进行定时操作,其初始化值和音符的对应关系如图3.2所示。

注意: 图中的#被称为“升记号”,用于表示把乐音在原来的基础上升高半音,同理还有相对的“降记号”,用b来表示。

在3.1小节中介绍过,一段音乐除了和音符有关系外,和节拍也有关系,也就是51单片机驱动发声器件发出乐音的长度,可以使用延时来实现。表3.1是各个节拍对应延时长度的关系。

图3.2 音符和定时器/计数器T0的初始化关系

表3.1 单片机延时和节拍的关系

注意: 在用户使用简易电子琴进行音乐弹奏时,其节拍是由用户自行控制的,而在使用简易电子琴播放设置好的音乐时,则需要单片机对节拍进行相应的控制。 daCTlTq7ggzvywKEYBuZiUPW0HyEzLM4F5DVNPAjKDzAkFEMobtUVtzgHwfGoals

点击中间区域
呼出菜单
上一章
目录
下一章
×