0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

蜂鸣器的驱动实验

汽车电子技术 来源:程序猿搬砖 作者: 坏人 2023-03-02 16:26 次阅读

驱动蜂鸣器与鸡翅LED是一样的,对于I.MX6ULL来说只需要对指定的引脚输出高或者低电平即可。

找到蜂鸣器使用的引脚

打开I.MX6ULL开发板原理图,找到蜂鸣器接的引脚图片

可以看出,蜂鸣器正极接的是三极管,负极接地,想让蜂鸣器工作就需要让三极管导通。这是一个PNP型三极管,基极接的是BEEP,想让三极管导通蜂鸣器工作需要给BEEP一个低电平。

再看一下BEEP具体接的是I.MX6ULL的哪一个管脚

图片

从图中可以看出,BEEP具体接的是SNVS TAMPER1

初始化BEEP对应引用

图片

I.MX6ULL的参考手册里面的32.5.4小节中可以找到关于SNVS TAMPER1寄存器,现在需要将他复用成通用GPIO,通过查看手机复用之后是GPIO5_IO01,所以在初始化蜂鸣器GPIO时也就是将SNVS TAMPER1寄存器复用成GPIO5_IO01:

IOMUXC_SetPinMux(IOMUXC_SNVS_SNVS_TAMPER1_GPIO5_IO01, 0);

同时设置GPIO5_IO01电气属性为:

IOMUXC_SetPinConfig(IOMUXC_SNVS_SNVS_TAMPER1_GPIO5_IO01, 0x10B0);

设置GPIO5_IO01的输入输出:

/// 设置GPIO5的第1位即IO01为输出,默认电平为低电平
PIO_Init(GPIO5, 1, (GPIO_CONFIG){GPIO_DIRECTION_OUTPUT, 0});

控制蜂鸣器

控制GPIO5_IO01DR寄存器,通过写入低(0)电平来打开蜂鸣器,写入高电平(1)来关闭蜂鸣器。

void Beep_On()
{
    GPIO_SetValue(GPIO5, 1, 0);
}
void Beep_Off()
{
    GPIO_SetValue(GPIO5, 1, 1);
}

验证

main文件中对应的开LED灯的位置打开蜂鸣器,关灯的地方关闭蜂鸣器。

#include 
#include "delay.h"
#include "clk.h"
#include "led.h"
#include "beep.h"

int main(void)
{
    Clk_Init();
    Led_Init();
    Beep_Init();
    while (1)
    {
        Delay(500);
        Led_On();
        Beep_On();
        Delay(500);
        Led_Off();
        Beep_Off();
    }

    return 0;
}

最后,通过Makefie编译成bee.bin并烧写到开发板即可听到蜂鸣器工作了。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • led
    led
    +关注

    关注

    237

    文章

    22449

    浏览量

    645878
  • 蜂鸣器
    +关注

    关注

    12

    文章

    850

    浏览量

    45307
  • IMX6ULL
    +关注

    关注

    3

    文章

    15

    浏览量

    3905
收藏 人收藏

    评论

    相关推荐

    蜂鸣器发声实验

    `用Arduino 可以完成的互动作品有很多,最常见也最常用的就是声光展示了,本实验就让大家的电路发出声音,能够发出声音的最常见的元器件就是蜂鸣器和喇叭了,两者相比较蜂鸣器更简单和易用所以创客集结号
    发表于 09-13 09:56

    如何利用PWM驱动蜂鸣器

    一、实验目的掌握PWM和蜂鸣器工作原理,利用PWM驱动蜂鸣器二、实验环境1.PC微机。2.ubuntu14.04 64位。3. arm-li
    发表于 10-28 09:20

    MISC蜂鸣器驱动实验-迅为imx6ULL开发板编译驱动及运行测试

    我们将 44.4 章节编写的驱动文件 beep.c 编译成模块,请参考本手册第三十九章 Linux 内核模块。我们将 beep.c 文件拷贝到 Ubuntu 的/home/topeet/driver
    发表于 02-03 10:49

    功率驱动驱动蜂鸣器电路

    功率驱动驱动蜂鸣器电路
    发表于 03-21 21:28 3013次阅读
    功率<b class='flag-5'>驱动</b>级<b class='flag-5'>驱动</b><b class='flag-5'>蜂鸣器</b>电路

    无源蜂鸣器驱动电路图

    无源蜂鸣器驱动电路图
    发表于 03-21 23:04 5.4w次阅读
    无源<b class='flag-5'>蜂鸣器</b><b class='flag-5'>驱动</b>电路图

    蜂鸣器驱动实验

    蜂鸣器驱动实验 一. 实验目的利用单片机的P1 口作IO 口,使用户学会蜂鸣器的使用。二. 实验
    发表于 09-22 10:47 6055次阅读
    <b class='flag-5'>蜂鸣器</b><b class='flag-5'>驱动</b><b class='flag-5'>实验</b>

    蜂鸣器音乐播放实验

    本内容详细介绍了蜂鸣器音乐播放实验,并且给出了具体电路图及实验步骤
    发表于 05-25 15:03 814次下载
    <b class='flag-5'>蜂鸣器</b>音乐播放<b class='flag-5'>实验</b>

    蜂鸣器的分类_单片机驱动蜂鸣器_蜂鸣器的应用

    资料包含8篇蜂鸣器方面的专业文章,涵盖了蜂鸣器介绍、蜂鸣器分类详解、单片机驱动蜂鸣器蜂鸣器的实
    发表于 01-15 13:42 36次下载

    蜂鸣器的基本驱动示例

    本程序为蜂鸣器的基本驱动示例,当按键S2被按下时,蜂鸣器响。松开后不响。
    发表于 09-27 18:12 16次下载

    无源蜂鸣器常规驱动电路设计

    在实际的应用中,虽然有源蜂鸣器控制简单,缺陷是成本比较高,在潮湿的环境用久了,容易损坏。而无源蜂鸣器弥补了有源蜂鸣器缺点,但问题是无源蜂鸣器需要 PWM
    发表于 10-21 10:28 53次下载
    无源<b class='flag-5'>蜂鸣器</b>常规<b class='flag-5'>驱动</b>电路设计

    使用单片机进行驱动蜂鸣器实验的详细资料说明

    本文档的主要内容详细介绍的是使用单片机进行驱动蜂鸣器实验的详细资料说明 学会本次实验是如何进行实现的,以及对实验原理的理解。
    发表于 05-23 17:59 0次下载
    使用单片机进行<b class='flag-5'>驱动</b><b class='flag-5'>蜂鸣器</b><b class='flag-5'>实验</b>的详细资料说明

    嵌入式PWM驱动蜂鸣器实验

    一、实验目的掌握PWM和蜂鸣器工作原理,利用PWM驱动蜂鸣器二、实验环境1.PC微机。2.ubuntu14.04 64位。3. arm-li
    发表于 10-21 12:06 15次下载
    嵌入式PWM<b class='flag-5'>驱动</b><b class='flag-5'>蜂鸣器</b><b class='flag-5'>实验</b>

    51单片机蜂鸣器实验

    之间。2.要实现蜂鸣器的控制,我们能否 直接使用 STC89CXX 的 IO 口驱动呢?答案是否定的, 因为51单片机 IO 口的驱 动能力较弱(即使外接上拉电阻),而蜂鸣器驱动
    发表于 11-23 16:22 3次下载
    51单片机<b class='flag-5'>蜂鸣器</b><b class='flag-5'>实验</b>

    51单片机 驱动有源/无源蜂鸣器+Proteus仿真

    PNP管驱动无源蜂鸣器采用NPN管驱动无源蜂鸣器Proteus元器件列表实例代码/***************************************************
    发表于 11-23 17:06 48次下载
    51单片机 <b class='flag-5'>驱动</b>有源/无源<b class='flag-5'>蜂鸣器</b>+Proteus仿真

    8550驱动蜂鸣器电路分析

    典型的蜂鸣器驱动电路,蜂鸣器驱动电路一般包含:一个三极管、一个蜂鸣器、一个续流二极管、一个滤波电容。
    的头像 发表于 01-28 09:02 1.3w次阅读