1
完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
01. 蜂鸣器简介
蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。 探索者 STM32F4 开发板板载的蜂鸣器是电磁式的有源蜂鸣器, 这里的有源不是指电源的“源”,而是指有没有自带震荡电路,有源蜂鸣器自带了震荡电路,一通电就会发声;无源蜂鸣器则没有自带震荡电路,必须外部提供 2~5Khz 左右的方波驱动,才能发声。 02. 硬件设计 蜂鸣器在硬件上也是直接连接好了的,不需要经过任何设置,直接编写代码就可以了。蜂鸣器的驱动信号连接在 STM32F4 的 PF8 上。 图中我们用到一个 NPN 三极管(S8050)来驱动蜂鸣器,R61 主要用于防止蜂鸣器的误发声。当 PF.8 输出高电平的时候,蜂鸣器将发声,当 PF.8 输出低电平的时候,蜂鸣器停止发声。 03. 程序示例一 蜂鸣器不叫 beep.h文件 #ifndef __BEEP_H__ #define __BEEP_H__ #include "sys.h" //蜂鸣器初始化 void BEEP_Init(void); #define BEEP PFout(8) #endif /*__BEEP_H__*/ beep.c文件 #include "beep.h" //蜂鸣器初始化 void BEEP_Init(void) { GPIO_InitTypeDef GPIO_InitStruct; GPIO_InitStruct.GPIO_Pin = GPIO_Pin_8; GPIO_InitStruct.GPIO_Mode = GPIO_Mode_OUT; GPIO_InitStruct.GPIO_Speed = GPIO_Speed_100MHz; GPIO_InitStruct.GPIO_OType = GPIO_OType_PP; GPIO_InitStruct.GPIO_PuPd = GPIO_PuPd_DOWN; //使能时钟 RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOF, ENABLE); //初始化GPIO GPIO_Init(GPIOF, &GPIO_InitStruct); //设置默认低电平 GPIO_ResetBits(GPIOF, GPIO_Pin_8); } main.c文件 #include "stm32f4xx.h" #include "delay.h" #include "led.h" #include "beep.h" int main(void) { //初始化 delay_init(168); LED_Init(); BEEP_Init(); //蜂鸣器不叫 GPIO_ResetBits(GPIOF, GPIO_Pin_8); } 04. 程序示例二 蜂鸣器叫 main.c文件 #include "stm32f4xx.h" #include "delay.h" #include "led.h" #include "beep.h" int main(void) { //初始化 delay_init(168); LED_Init(); BEEP_Init(); GPIO_SetBits(GPIOF, GPIO_Pin_8); } 05. 程序实例三 蜂鸣器循环叫1秒 不叫1秒 main.c #include "stm32f4xx.h" #include "delay.h" #include "led.h" #include "beep.h" int main(void) { //初始化 delay_init(168); LED_Init(); BEEP_Init(); //蜂鸣器不叫 GPIO_ResetBits(GPIOF, GPIO_Pin_8); GPIO_ResetBits(GPIOF, GPIO_Pin_9); delay_ms(1000); //蜂鸣器叫 GPIO_SetBits(GPIOF, GPIO_Pin_8); GPIO_SetBits(GPIOF, GPIO_Pin_9); delay_ms(1000); } 位带操作 main.c文件 #include "stm32f4xx.h" #include "delay.h" #include "led.h" #include "beep.h" int main(void) { //初始化 delay_init(168); LED_Init(); BEEP_Init(); //蜂鸣器不叫 LED2 = 0; BEEP = 0; delay_ms(1000); //蜂鸣器叫 LED2 = 1; BEEP = 1; delay_ms(1000); } |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1777 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1621 浏览 1 评论
1080 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
728 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1678 浏览 2 评论
1938浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
731浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
570浏览 3评论
595浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
554浏览 3评论
小黑屋| 手机版| Archiver| 德赢Vwin官网 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 05:36 , Processed in 0.879767 second(s), Total 77, Slave 61 queries .
Powered by 德赢Vwin官网 网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
德赢Vwin官网 观察
版权所有 © 湖南华秋数字科技有限公司
德赢Vwin官网 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号