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

导读:本篇文章讲解 龙芯1B:有源蜂鸣器例程,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

 

前言

 大家对龙芯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文库

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/73682.html

(0)
小半的头像小半