【龙芯1B】:有源蜂鸣器例程

前言

 大家对龙芯1B200有任何问题都可以私信我,大家的关注才是我不断更新的动力。

可能私信不能很及时的回,大家稍微谅解一下,看到立马就回。


一、蜂鸣器介绍

这里简单的介绍一下大家众所周知的蜂鸣器,蜂鸣器分为有源蜂鸣器和无源蜂鸣器。

有源蜂鸣器:

                首先“源”不是指电源,而是指震荡源。有源蜂鸣器内部带震荡源,所以只要一通电就会叫。

无源蜂鸣器:

                无源蜂鸣器内部不带震荡源,所以如果用直流信号无法令其鸣叫,必须用规定的频率方波去驱动它。

有源和无源的区别:

                因为有源蜂鸣器内部自带震荡源,并且有可能是多个震荡电路。所以价格方面肯定比无源蜂鸣器要高,但比无源蜂鸣器好用,高低电平就能使蜂鸣器鸣叫。

                无源的好处就在于便宜、声音频率可控可做电子琴的效果,并且可以引脚复用(在特殊情况下)

99c942d8f09f4564b83d1310a237077e.png

有源蜂鸣器

3a8f43f92dd34d96b9c00f4095f9d192.png

无源蜂鸣器

二、程序代码

1.开发步骤

说明:此项针对嵌入式考证设备,讲解的是有源蜂鸣器,程序是有源蜂鸣器的,后续讲解无源蜂鸣器。

第1步, 新建工程
第2步, 在 bsp.h 中打开 PWM2 设备的宏定义, 并在 main.c 下添加 ls1b_gpio.h 
第3步, 定义蜂鸣器的引脚和编写初始化函数
第4步, 定义蜂鸣器初始状态
第5步, 主函数对引脚进行高低变换,蜂鸣器鸣叫
第6步, 编写一个1000ms鸣叫一次的程序

2.代码

main.c

#include <stdio.h>
#include "ls1b_gpio.h"
#include "ls1b.h"
#include "mips.h"
#include "led.h"
#include "beep.h"
//-------------------------------------------------------------------------------------------------
// BSP
//-------------------------------------------------------------------------------------------------

#include "bsp.h"

int temp;
//-------------------------------------------------------------------------------------------------
// 主程序
//-------------------------------------------------------------------------------------------------

int main(void)
{
    printk("\r\nmain() function.\r\n");
    //LED_Init();//LED初始化
    //KEY_Init();//按键初始化
    BEEP_Init();
    /*
     * 裸机主循环
     */
    for (;;)
    {
		BEEP_Off();
		delay_ms(500);
		BEEP_On();
		delay_ms(500);
    }

    return 0;
}


beep.c

/*
 * beep.c
 *
 * created: 2022/2/25
 *  author: 
 */

#include "beep.h"
#include "ls1b_gpio.h"
//BEEP初始化函数
void BEEP_Init(void)
{
    gpio_enable(BEEP,DIR_OUT);
    gpio_write(BEEP,0);

}
//开启指定BEEP函数
void BEEP_On(void)
{

    gpio_write(BEEP,1);

}
//关闭指定BEEP函数
void BEEP_Off(void)
{
    gpio_write(BEEP,0);

}

总结

                 后续会对无源蜂鸣器以及有源蜂鸣器唱歌进行程序调试,大家敬请期待!

源码链接:龙芯1B:蜂鸣器使用例程-单片机文档类资源-CSDN文库


联系我们

                vx ——>  buildupup     公众号   嵌入式up   如果文章对您有帮助,请打赏一元呗,感谢支持,分享不易,码字不易。希望对大家帮助!


苦难,是化了妆的祝福。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嵌入式up

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值