精华内容
下载资源
问答
  • GPIO有源蜂鸣器简介硬件原理分析驱动程序 有源蜂鸣器简介 常用的蜂鸣器有两种:有源蜂鸣器和无源蜂鸣器 这里的有“源”不是电源,而是震荡源,有源蜂鸣器内部带有震荡源,所以有源蜂鸣器只要通电就会叫。无源蜂鸣器...

    有源蜂鸣器

    有源蜂鸣器简介

    常用的蜂鸣器有两种:有源蜂鸣器和无源蜂鸣器
    这里的有“源”不是电源,而是震荡源,有源蜂鸣器内部带有震荡源,所以有源蜂鸣器只要通电就会叫。无源蜂鸣器内部不带震荡源,直接用直流电是驱动不起来的,需要 2K-5K 的方波去驱动

    因为蜂鸣器工作的电流比LED 灯要大,直接将蜂鸣器接到 I.MX6U 的 GPIO 上有可能会烧毁 IO,所以我们需要通过一个三极管来间接的控制蜂鸣器的通断,相当于加了一层隔离,使用三极管做开关,增强驱动能力。

    硬件原理分析

    在这里插入图片描述
    当 SNVS_TAMPER1 输出低电平的时候 Q1 导通,
    当SNVS_TAMPER1输出高电平的时候 Q2 不导通。

    驱动程序

    使用GPIO5_IO01

    bsp_beep.h

    1 #ifndef __BSP_BEEP_H
    2 #define __BSP_BEEP_H
    3 
    4 #include "imx6ul.h"
    5 
    6 /* 函数声明 */
    7 void beep_init(void);
    8 void beep_switch(int status);
    9 #endif
    

    bsp_beep.c

    1 #include "bsp_beep.h"
    2 
    3 /*
    4 * @description : 初始化蜂鸣器对应的 IO
    5 * @param : 无
    6 * @return : 无
    7 */
    8 void beep_init(void)
    9 {
    10 /* 1、初始化 IO 复用,复用为 GPIO5_IO01 */
    11 IOMUXC_SetPinMux(IOMUXC_SNVS_SNVS_TAMPER1_GPIO5_IO01,0);
    12
    13 /* 2、配置 GPIO1_IO03 的 IO 属性 */
    14 IOMUXC_SetPinConfig(IOMUXC_SNVS_SNVS_TAMPER1_GPIO5_IO01,0X10B0);
    15
    16 /* 3、初始化 GPIO,GPIO5_IO01 设置为输出 */
    17 GPIO5->GDIR |= (1 << 1);
    18
    19 /* 4、设置 GPIO5_IO01 输出高电平,关闭蜂鸣器 */
    20 GPIO5->DR |= (1 << 1);
    21 }
    22
    23 /*
    24 * @description : 蜂鸣器控制函数,控制蜂鸣器打开还是关闭
    25 * @param - status : 0,关闭蜂鸣器, 1 打开蜂鸣器
    26 * @return : 无
    27 */
    28 void beep_switch(int status)
    29 {
    30 if(status == ON)
    31 GPIO5->DR &= ~(1 << 1); /* 打开蜂鸣器 */
    32 else if(status == OFF)
    33 GPIO5->DR |= (1 << 1); /* 关闭蜂鸣器 */
    }
    

    整个工程所有源文件:
    imx6ul芯片寄存器定义目录不用动;
    bsp驱动目录添加beep驱动程序;
    project用户应用主要部分;

    编译链接:
    Makefile配合交叉编译器和链接脚本完成创建可执行文件。Makefile添加一下驱动目录。

    问题总结

    今天烧录程序时自己又写了一遍汇编启动文件和链接脚本,发现汇编中标号和后边儿冒号之间不能有空格,(我们属于一个整体);链接脚本中赋值等号两边要加空格(一般程序语言的赋值操作都可以空格,赋值也要工工整整的亚子)。

    按键输入

    简介

    按键就两个状态:按下或弹起,将按键连接到一个 IO 上,通过读取这个 IO 的值就知道按键是按下的还是弹起的。

    硬件原理分析

    在这里插入图片描述

    驱动程序

    按键引脚GPIO1_IO18
    bsp_key.h

    #ifndef _BSP_KEY_H
    #define _BSP_KEY_H
    
    #include "imx6ul.h"
    #include "bsp_delay.h"
    
    void key_init(void);
    int key_getvalue(void);
    
    #endif
    

    bsp_key.c

    #include "bsp_key.h"
    
    //按键初始化
    void key_init(void)
    {
        //IO复用
        IOMUXC_SetPinMux(IOMUXC_UART1_CTS_B_GPIO1_IO18,0);
        //属性配置
        IOMUXC_SetPinConfig(IOMUXC_UART1_CTS_B_GPIO1_IO18,0xF0B0);
        //初始化输入
        GPIO1->GDIR &= ~(1<<18);
    
    }
    
    //读取按键值 按下:0  松开:1
    int key_getvalue(void)
    {
        int ret=1;
        static unsigned char release=1; //考虑按键释放松开
    
        if(release&&(((GPIO1->DR)>>18)&0x01==0))
        {
            release=0;
            delay_ms(10);
            if(((GPIO1->DR)>>18)&0x01==0)
            {
                ret=0;
            }
        }
        else if(((GPIO1->DR)>>18)&0x01==1)
        {
            release=1;
            ret=1;
        }
        return ret;
    
    }
    
    
    

    问题总结

    今天烧录程序时自己又写了一遍汇编启动文件和链接脚本,发现汇编中标号和后边儿冒号之间不能有空格,(我们属于一个整体);链接脚本中赋值等号两边要加空格(一般程序语言的赋值操作都可以空格,赋值也要工工整整的亚子)。

    展开全文
  • 文章目录蜂鸣器原理原理分析 蜂鸣器原理 蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、...我们开发板使用的蜂鸣器就是有源蜂鸣器。如

    蜂鸣器原理

    蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。生活中随处可见。

    蜂鸣器的发声原理由振动装置和谐振装置组成,而蜂鸣器又分为无源他激型与有源自激型。无源他激型蜂鸣器的工作发声原理是:方波信号输入谐振装置转换为声音信号输出;有源自激型蜂鸣器的工作发声原理是:直流电源输入经过振荡系统的放大取样电路在谐振装置作用下产生声音信号。我们开发板使用的蜂鸣器就是有源蜂鸣器。如图 1。
    在这里插入图片描述

    图 1

    原理分析

    由于蜂鸣器所需要的驱动电流比较大,所以一般的,我们都会通过一个三极管搭建一个供电电路去控制驱动蜂鸣器。在满足蜂鸣器所需电流的同时,保护芯片IO。如图 2所示。
    在这里插入图片描述

    图 2

    图中可以看出,我们通过SNVS_TAMPER1引脚控制一个PNP型三极管的通断,进而控制蜂鸣器,当SNVS_TAMPER1输出高电平时Q8导通,此时电源蜂鸣器和地之间形成通路,蜂鸣器发声鸣叫,反之SNVS_TAMPER1引脚输出低电平时,Q8不会导通,则不会有声音产生。在这里插入图片描述

    展开全文
  • 文章目录三极管工作原理蜂鸣器工作原理电路分析编程实践 三极管工作原理 蜂鸣器工作原理 区别: 这里的“源”不是指电源。而是指震荡源。 也就是说,有源蜂鸣器内部带震荡源,所以只要一通电就会叫。 而无源内部不...

    三极管

    三极管两种封装方式:
    在这里插入图片描述

    三极管的应用


    三极管,全称应为半导体三极管,也称双极型晶体管、晶体三极管,是一种控制电流的半导体器件。其作用是把微弱信号放大成幅度值较大的电信号(射频放大),也用作无触点开关(用作开关)。三极管是半导体基本元器件之一,具有电流放大作用,是电子电路的核心元件。

    三极管工作原理


    三极管内部有两种电路排布,一种称为PNP型,一种称为NPN型。相同的是,三极管的三个引脚的名称都是相同的,只是电流流向不同。
    三个引脚分别为BASE(基极),EMITTER(发射极),COLLECTOR(集电极)
    内部电路如图所示:在这里插入图片描述

    PNP型


    当B极,也就是基极电流大于1mA时,或基极电压小于发射极电压时,集电极与发射极之间导通,之间有电流通过,因此三极管在此起到了开关作用。

    NPN型


    由于我对自己表达能力不太肯定,因此我引用百度得到的一些知识

        对于NPN管,它是由2块N型半导体中间夹着一块P型半导体所组成,发射区与
    基区之间形成的PN结称为发射结,而集电区与基区形成的PN结称为集电结,三条引
    线别称为发射极e、基极b 和集电极c。
        当b点电位高于e点电位零点几伏时,发射结处于正偏状态,而C点电位高于b
    点电位几伏时,集电结处于反偏状态,集电极电源Ec要高于基极电源Eb。
        三极管的电流放大作用实际上是利用基极电流的微小变化去控制集电极电流的巨
    大变化。
    

    蜂鸣器工作原理


    有源蜂鸣器和无源蜂鸣器的区别:
    这里的“源”不是指电源。而是指震荡源。 也就是说,有源蜂鸣器内部带震荡源,所以只要一通电就会叫。 而无源内部不带震荡源,所以如果用直流信号无法令其鸣叫。必须用2K~5K的方波去驱动它。 有源蜂鸣器往往比无源的贵,就是因为里面含有震荡电路。
    由于蜂鸣器相关知识较多,我将相关文件上传到蓝奏云中与大家分享
    蜂鸣器相关知识

    在这里插入图片描述

    电路分析


    在下面的电路图中,展示了单片机中的蜂鸣器工作方式,通过调整P23口的高低电平,来实现三极管的开关作用,之所以通过三极管的发射极引导电流进入集电极,而不是用P23直接加到蜂鸣器上,是因为单片机的功率很小,虽然可以输出很高的电压,但是是无法驱动这种功率器件的。
    当P23口输出高电平(5V)时,VCC即电源也是5V,此时三极管没有导通,所以蜂鸣器无反应,当输出低电平时,发射极电压远大于基极,电流从发射极流入集电极,蜂鸣器震动。
    在这里插入图片描述

    编程实践


    我比较懒,不想再写完整的代码,直接把蜂鸣器的程序写进了流水灯模块中,这样蜂鸣器也可以随着流水灯响起。

    #include <reg52.h>	//包含51头文件
    #include <intrins.h>//包含移位标准库函数头文件
    
    #define uint unsigned int
    #define uchar unsigned char
    sbit beep = P2^3;//蜂鸣器
    
    uchar temp;//LED灯相关变量
    void delay(uint z)
    {
    	uint x,y;
    	for(x = z; x > 0; x--)
    		for(y = 114; y > 0 ; y--); 		
    } 
    
    void main()//main函数自身会循环
    {
    	temp = 0xf0;//
    	P1 = temp; //1111 0000 点亮4位LED
    	delay(100);//毫秒级延时
    	while(1)
    	{
    		temp = _crol_(temp, 1);//循环左移
    		P1 = temp;
    		beep = ~beep;//	蜂鸣器发出滴滴声
    		delay(100);
    	}	
    }  
    

    总结


    蜂鸣器和流水灯一样时很简单的程序,知识有所不同,流水灯学习了循环左移和右移函数,这里则学习了蜂鸣器的电路和原理。

    展开全文
  • 蜂鸣器电路原理

    万次阅读 多人点赞 2018-12-06 17:26:38
    蜂鸣器分无源和有源两种,从电路上来看,这两种蜂鸣器在这都可以工作,区别是单片机程序不一样。 当网络节点Beep为高电平时,三极管Q1截止,蜂鸣器无电流,不响。 当网络节点Beep为低电平时,三极管Q1导通,蜂鸣器...

    在这里插入图片描述
    本电路模块,可直接连接到单片机的I/O进行使用,是一个通用的蜂鸣器驱动模块。
    电路工作过程:
    蜂鸣器分无源和有源两种,从电路上来看,这两种蜂鸣器在这都可以工作,区别是单片机程序不一样。
    当网络节点Beep为高电平时,三极管Q1截止,蜂鸣器无电流,不响。
    当网络节点Beep为低电平时,三极管Q1导通,蜂鸣器有电流,会响。
    所以在Beep节点输入PWM脉冲时,蜂鸣器就会发出响声。工作过程很简单,再看看每个元件的作用:
    电阻R3为上拉电阻,目的为了在Beep节点悬空时,三极管Q1的基极有一个稳定的高电平。
    电阻R4为三极管Q1的基极电阻,限制基极电流。
    电容C1为旁路电容,对刺耳的高频信号能起到旁路作用。
    三极管Q1起开关管的作用,控制蜂鸣器。
    电阻R1,R2是蜂鸣器的限流电阻,这是很常见的一种安装方法,主要起到两个作用:
    一是这两个电阻并联一起,可以分流,使每个电阻上的的热量不会超过它的额定功耗,保证电阻寿命;
    二是方便调试。在一个电阻功率都能满足的情况下,如果要增加蜂鸣器响度,只需再并联一个电阻就行,而不需要重新拆下原来的电阻,调试方便。同时在选取不到合适电阻时,也可以用并联方式来解决。

    展开全文
  • 文章目录蜂鸣器原理原理分析 蜂鸣器原理 蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、...我们开发板使用的蜂鸣器就是有源蜂鸣器。如
  • 5V蜂鸣器内部工作原理

    千次阅读 2020-07-26 16:43:03
    对于这类有源蜂鸣器,内部集成有振荡器,可以直接驱动蜂鸣器工作。 下面通过实验验证一下这类蜂鸣器内部的基本结构。 ▲ 5V蜂鸣器|HYDZ   01测量工作电压范围 1.检测蜂鸣器输出声音 使用驻极体MIC作为声音...
  • 【51单片机】蜂鸣器

    2020-12-30 00:09:56
    【51单片机】蜂鸣器【51单片机】蜂鸣器1 蜂鸣器介绍1.1蜂鸣器分类2. 电路设计3.软件设计3.1单片机如何实现延时3.2示例代码 【51单片机】蜂鸣器 1 蜂鸣器介绍 ...有源蜂鸣器是一种一体化结构的电子讯响
  • 2014-11-22更新:感谢Ireland同学的提醒,修改了PNP型三极管驱动电路,蜂鸣...这一篇继续上一篇的内容,我们来做实验四:按键控制有源蜂鸣器,按下按键蜂鸣器响,释放按键不响。 蜂鸣器 实验四之前简单介绍下蜂鸣
  • 单片机之蜂鸣器

    2020-06-10 15:40:06
    有源蜂鸣器:没有电路板用黑胶封闭的一种 其实蜂鸣器的种类有很多 例如: 电磁式蜂鸣器:由振荡器、电磁线圈、磁铁、振动膜片及外壳组成。 同时电磁式蜂鸣器也是有源蜂鸣器的一种。 其工作原理为:接通电源后,振荡...
  • 蜂鸣器分为有源蜂鸣器和无源蜂鸣器。其中 “源” 不是指电源,而是指振荡源,有源蜂鸣器只需要通直流电压就能发出蜂鸣声;而无源蜂鸣器则需要用一定频率的信号来驱动。 本实验使用的是无源蜂鸣器。 工作原理 ...
  • 如何使用Arduino连接蜂鸣器

    千次阅读 2019-09-07 10:11:57
    工作原理有源蜂鸣器具有内置振荡源,因此在通电时会发出声音。但是无源蜂鸣器没有这样的信号源,因此如果使用直流信号则不会发出声音;相反,你需要使用频率介于2K和5K之间的方波来驱动它。由于多个内置振荡电路,...
  • STC89C52单片机 蜂鸣器

    2020-10-31 22:47:14
    蜂鸣器工作原理 查看本目录下《蜂鸣器的结构原理.doc》文档 蜂鸣器 区别: 这里的“源”不是指电源。 而是震荡源。 也就是说,有源蜂鸣器内部带振荡源,所以只要一通电就会叫。 而无缘内部不带振荡源,所以如果用...
  • 51单片机-蜂鸣器基本知识

    千次阅读 2019-08-22 11:24:23
    文章目录基本知识定义工作发声原理图无源他激型蜂鸣器的工作发声原理有源自激型蜂鸣器的工作发声原理分类电磁式蜂鸣器压电式蜂鸣器用途其他分类区别:有源蜂鸣器与无源蜂鸣器 基本知识 定义 一种一体化结构的电子讯...
  • 本节从工作原理、分类上讲解了无源蜂鸣器和有源蜂鸣器2种的发声原理和所需要的控制信号特性,为驱动蜂鸣器做理论积累。1.11.2.让蜂鸣器响起来 本节用最简单的代码让蜂鸣器响起来,主要目的是验证上...
  • 52单片机IO口输出-蜂鸣器(硬核)

    千次阅读 2021-01-20 22:53:26
    52单片机IO口输出-蜂鸣器什么是蜂鸣器三极管的工作原理蜂鸣器驱动电路分析函数for循环语句课后作业 什么是蜂鸣器 蜂鸣器是一种一体化结构的电子讯响器,广泛应用于电子产品中作发声器件,七道警报提醒的作用。 有源...
  • 基础电子中的蜂鸣器

    2020-11-23 01:44:06
    蜂鸣器又称音响器、讯响器,是一种小型化的电声器件,按工作原理分为压电式和电磁式两大类。压电式蜂鸣器采用压电陶瓷片制成,当给压电陶瓷片加以音频信号时,在逆压电效应的作用下,陶瓷片将随音频信号的频率发生...
  • 单片机控制蜂鸣器

    千次阅读 2015-11-28 14:58:42
    一、什么是蜂鸣器 蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、...按工作方式分,蜂鸣器主要分为有源和无源。 三、有
  • arduino音乐播放器(蜂鸣器版)

    千次阅读 2019-08-31 12:05:06
    我们不以结构论述,以工作原理可将其分为有源蜂鸣器和无源蜂鸣器;注意这里的源指的不是电源,而是振荡源,即有源蜂鸣器内部自带振荡源,通电就能发出声音;而无源蜂鸣器不带振荡源,必须用2-5k的方波去驱动; ...
  • 3.蜂鸣器

    2021-04-17 21:47:37
    工作原理 有源: 无源: 需要一定频率脉冲 自激是有源 改变蜂鸣器 占空比:高电平的时间:周期时间 原理图 ULN2003D芯片 起着电流放大的作用 实现 #include "reg52.h" #include "intrins.h" typedef unsigned...
  • 有源蜂鸣器:无电路板而用黑胶封闭 注:此处的有源与无源并非指有无电源,而是指是否含有振荡电路。 工作原理 电磁式蜂鸣器(有源):接通电源后,振荡器产生的音频信号电流通过电磁线圈,使其产生磁场,振动膜片...
  • HAL库教程10:定时器的PWM模式应用

    千次阅读 2019-04-16 09:26:45
      本节通过定时器的PWM模式...有源蜂鸣器上电就能工作,控制简单,但是只有一个音调。无源蜂鸣器需要单片机提供震荡源,虽然控制稍微复杂一点,但是可以发出不同频率的声音。 PWM原理   根据我们的电路,引脚输...
  • 由于小偷的原因,大部分人都会选择将阳台封防盗窗,但这样很不...本次实验使用干簧管传感器模块通过感知磁力来控制有源蜂鸣器模块实现磁力防盗报警! 硬件准备 arduino uno R3 、USB 数据线、UNO I/O扩展板、有...
  • 蜂鸣器(1)蜂鸣器类型:有源和无源(“源”指震荡源)(2)蜂鸣器工作原理:(3)蜂鸣器编程原理:三.数码管(1)使用译码器的多位数码管显示:(2)不使用译码器的多位数码管显示: 一.复习Keil4的使用 (1)...
  • 探索STM_32单片机1

    2017-01-06 15:24:15
    首先,一,LED灯的闪烁原理:有高低电平差,造成了电流流动,于是导致LED灯...然后,是蜂鸣器硬件结构,按工作和发声原理来分,可以分为电磁式蜂鸣器和压电式蜂鸣器,按自身结构又可以分为有源蜂鸣器和无源蜂鸣器,这
  • Proteus元件库对照表

    2018-04-24 13:32:30
    BUZZER 蜂鸣器 CAP 电容 CAPACITOR 电容 CAPACITOR POL 有极性电容 CAPVAR 可调电容 CIRCUIT BREAKER 熔断丝 COAX 同轴电缆 CON 插口 CRYSTAL 晶体振荡器 DB 并行插口 DIODE 二极管 DIODE SCHOTTKY 稳压...
  • 一路蜂鸣器(用作发声实验)。 5只独立按键(做按键控制,按键消抖等实验)。 VGA接口(做VGA实验)。 usb转串口通讯电路(做和其他系统的串口通讯实验)。 1602LCD字符型液晶接口(做字符显示实验)。 12864LCD液晶...

空空如也

空空如也

1 2
收藏数 28
精华内容 11
关键字:

有源蜂鸣器工作原理