学习分享蜂鸣器和PWM测试「建议收藏」

学习分享蜂鸣器和PWM测试「建议收藏」蜂鸣器Buzzer:LinkNode提供了一个无源的蜂鸣器,使用一个MOS驱动。控制引脚为P0.22。本实例会让板上的蜂鸣器发出声音。硬件清单1

欢迎大家来到IT世界,在知识的湖畔探索吧!

蜂鸣器Buzzer:

LinkNode提供了一个无源的蜂鸣器,使用一个MOS驱动。控制引脚为P0.22

学习分享蜂鸣器和PWM测试「建议收藏」

本实例会让板上的蜂鸣器发出声音。

硬件清单

1. LinkNode

2. Micro USB 数据

步骤

· 打开mbed在线编译器,创建新程序,或在上一个实例的基础上修改,除此之外;可以使用本地离线版本的MDK工程,也可以利用mbed在线编译环境, 详细情况可以参考我的评测1.

· 编译并生成hex文件

· PC接上LinkNode,将生成的hex文件复制到识别的系统磁盘中

· 完成下载后,按一次板上的RESET键对程序进行复位

· 蜂鸣器会发出一定频率的声音

注意:由于蜂鸣器由一个MOS管驱动,如果不使用到该器件,建议将P0.22设置为低电平,这样做可以降低功耗。

软件清单

#include<mbed.h>

DigitalOut buzzer(P0_22);//定义蜂鸣器输出控制引脚

/* 主函数 : */

int main

{

while(1)

{

/* 蜂鸣器输出控制 */

buzzer=!buzzer;

/* 延时,决定无源蜂鸣器频率,下个例子可以利用pwm来输出音乐 */

wait_ms(1);

}

}

PWM 实例

LinkNode上没有提供DAC的功能,所以用PWM来实现模拟的输出。通过不同pwm的周期,表示不同的频率 不断的改变pwm,实现音乐的不同元素.

本例通过PWM的方式来实现对Buzzer,使其播出一段旋律。

步骤

1. 编写程序

· 打开mbed在线编译器,创建新程序,或在上一个实例的基础上进行修改

· 蜂鸣器会发出一段旋律。

软件清单

#include “mbed.h”PwmOut buzzer(P0_22);

//频率数组float frequency={659,554,659,554,440,494,554,587,494,659,554,440};float beat={1,1,1,1,1,0.5,0.5,1,1,1,1,2}; //节拍数组

int main {

while (1) {

for (int i=0;i<=11;i++) {

buzzer.period(1/(2*frequency[i])); // 设置PWM周期

buzzer=0.5; // 设置占空比

wait(0.4*beat[i]); // 保持节拍周期

学习分享蜂鸣器和PWM测试「建议收藏」

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/18120.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信