其他分享
首页 > 其他分享> > 阿尔法蜂鸣器实验

阿尔法蜂鸣器实验

作者:互联网

1.实验原理

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

阿尔法开发板上的蜂鸣器属于有源蜂鸣器,所以只要连接一个供电电路即可。供电电路可以由一个 IO来控制其通断,一般使用三极管来搭建这个电路。因为蜂鸣器工作的电流比较大,直接将蜂鸣器接到 I.MX6U 的 GPIO 上有可能会烧毁 IO,所以需要通过一个三极管来间接的控制蜂鸣器的通断,相当于加了一层隔离
 

电路原理图:

通过一个 PNP 型的三极管 8550 来驱动蜂鸣器,通过 SNVS_TAMPER1 这个 IO来控制三极管 Q1 的导通,当 SNVS_TAMPER1 输出低电平的时候 Q1 导通,相当于蜂鸣器的正极连接到DCDC_3V3,蜂鸣器形成一个通路,因此蜂鸣器会鸣叫;当 SNVS_TAMPER1输出高电平的时候 Q1 不导通,那么蜂鸣器就没有形成一个通路,蜂鸣器也就不会鸣叫
 

2.实验步骤

实验步骤和前面LED的一样

(1)使能时钟

(2)配置MX6U IO复用

/* 1、初始化 IO 复用,复用为 GPIO5_IO01 */
IOMUXC_SetPinMux(IOMUXC_SNVS_SNVS_TAMPER1_GPIO5_IO01,0);

(3)配置MX6U IO电气属性配置(

/* 2、配置 GPIO1_IO03 的 IO 属性 */
IOMUXC_SetPinConfig(IOMUXC_SNVS_SNVS_TAMPER1_GPIO5_IO01,0X10B0);

(4)GPIO 配置 输出高低电平

/* 3、初始化 GPIO,GPIO5_IO01 设置为输出 */
GPIO5->GDIR |= (1 << 1);

/* 4、设置 GPIO5_IO01 输出高电平,关闭蜂鸣器 */
GPIO5->DR |= (1 << 1);

3.修改Makefile

修改变量 TARGET 为 beep,在变量 INCDIRS和 SRCDIRS 中追加“bsp/beep”,链接脚本文件不变

标签:IOMUXC,蜂鸣器,GPIO5,阿尔法,SNVS,实验,IO,TAMPER1
来源: https://blog.csdn.net/qq_53144843/article/details/122778324