首页 理论教育 简易音乐播放器调声函数

简易音乐播放器调声函数

时间:2023-11-17 理论教育 版权反馈
【摘要】:3)简易音乐播放器本示例通过使用调声函数驱动蜂鸣器播放曲子。实验所需材料包括MSP430G2 LaunchPad、面包板、1个小功率无源蜂鸣器、1个100Ω电阻。MSP430的MCU可以驱动小功率的蜂鸣器,一般在蜂鸣器的正极和I/O口之间加一个100Ω限流电阻,以防止过载损坏MCU。图4-15“pitches.h”头文件图4-16项目中新添加文件如果是新建的相关文件,则在调用这些音调定义之前,需要先建立一个名为“pitches.h”的头文件。

简易音乐播放器调声函数

1)tone()

调声函数tone()主要用于使用蜂鸣器或扬声器发声的场合,通过输出某个频率的方波,以此驱动蜂鸣器或扬声器振动发声,函数用法如下:

或者

参数pin表示要输出方波的引脚;frequency表示方波的频率,为unsigned int型;duration表示方波持续时间,单位为ms。如果没有duration参数,将持续发出设定的音调,直到改变了发声频率或者使用no Tone()函数停止发声。

tone()和analog Write()函数都可以输出方波,所不同的是:tone()函数输出方波的占空比固定为50%,方波的频率可以调节;而analog Write()函数输出的频率固定(约为490 Hz),方波的占空比可以调节。

2)no Tone()

no Tone()函数的功能是停止指定引脚的方波输出,函数用法如下:参数pin表示要停止输出方波的引脚。

3)简易音乐播放器

本示例通过使用调声函数驱动蜂鸣器播放曲子。

(1)实验所需材料。实验所需材料包括MSP430G2 LaunchPad、面包板、1个小功率无源蜂鸣器、1个100Ω电阻

(2)无源蜂鸣器。蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作为发声器件。根据其内部是否已有振荡源,可分为有源和无源两种类型。有源蜂鸣器内部带振荡源,所以只要一通电就会叫。而无源蜂鸣器内部不带振荡源,所以直流信号无法令其鸣叫,必须用一定频率的方波去驱动它。不同频率的方波输入,会产生不同的声调。

由于蜂鸣器的工作电流一般比较大,有的MCU的I/O口是无法直接驱动的,有的MCU可以驱动小功率蜂鸣器。MSP430的MCU可以驱动小功率的蜂鸣器,一般在蜂鸣器的正极和I/O口之间加一个100Ω限流电阻,以防止过载损坏MCU。

(3)连接示意图(见图4-14)。选择10号(P2.2)引脚作为tone()函数的输出引脚。(www.xing528.com)

图4-14 简易音乐播放器连接示意图

(4)程序解析。打开Energia IDE,在菜单栏中打开“File”→“Examples”→“02.Digital”→“toneMelody”,以该样例代码为基础,根据实际引脚选择进行了修改,完成本次实验的任务,如表4-6所示。程序中使用两个数组melody[]和noteDurations[]来记录整个曲谱,然后遍历这两个数组即可实现输出曲子的功能。

表4-6 简易音乐播放器示例程序

(续表)

上述程序中引用了一个头文件“pitches.h”,该头文件定义了不同音调对应的频率值,程序中使用了其中的一些头文件中的定义。如果是通过示例程序打开的该程序,则会在选项卡中看到这个头文件,如图4-15所示。

图4-15 “pitches.h”头文件

图4-16 项目中新添加文件

如果是新建的相关文件,则在调用这些音调定义之前,需要先建立一个名为“pitches.h”的头文件。过程如图4-16所示,首先在IDE窗口中选择串口监视器下面下三角图标,出现快捷菜单,选择“New Tab”菜单项,并在窗口下方的文本框中输入新文件名“pitches.h”,然后单击“OK”按钮

单击“OK”按钮后,IDE会在项目文件夹中新建一个名为“pitches.h”的文件,并打开该文件,然后把图4-15所示的“pitches.h”的内容写入该文件即可。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈