嵌入式02STM32实验05蜂鸣器

嵌⼊式02STM32实验05蜂鸣器
蜂鸣器:是⼀种⼀体化结构的电⼦讯响器。主要分为分压式蜂鸣器和电磁式蜂鸣器两种类型。
⼀、有源/⽆源蜂鸣器(不是指是否带电源,⽽是有没有⾃带震荡电路
  1、有源蜂鸣器:有源蜂鸣器⾃带震荡电路,⼀通电就会发声。
铣床飞刀
  2、⽆源蜂鸣器:没有⾃带震荡电路,需要外部提供2~5Khz左右的⽅波驱动,太能发声。
⼆、硬件设计
  因为STM32的单个IO⼝最⼤可以提供25mA电流,⽽蜂鸣器的驱动电流在30mA左右,两者⼗分相近,但是STM32整个芯⽚的电流,最⼤也就150mA左右,如果⽤IO⼝直接驱动蜂鸣器,其它功能使⽤时可能出现电流不⾜。所以我们通过三极管(S8050)括流后再驱动蜂鸣器,这样STM32的IO⼝只需要提供不到1mA的电流就⾜够了。
  R33主要⽤于防⽌蜂鸣器的误发声,当 PB.8 输出⾼电平的时候,蜂鸣器将发声,当 PB.8 输出低电平的时候,蜂鸣器停⽌发声。
三、软件设计
1//⼦函数
2 #include "beep.h"
3 #include "stm32f10x.h"
4
三元催化清洗剂配方
5
6void BEEP_Init(void)
7 {
8    GPIO_InitTypeDef GPIO_BEEP;                //创建⼀个结构体
9
10    GPIO_BEEP.GPIO_Mode = GPIO_Mode_Out_PP;    //设置该端⼝为推挽输出
11    GPIO_BEEP.GPIO_Pin = GPIO_Pin_8;          //PB.8端⼝
12    GPIO_BEEP.GPIO_Speed = GPIO_Speed_50MHz;  //50MHz
13
高频淬火工艺14    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);    //初始化GPIOB时钟
15
16    GPIO_Init(GPIOB, &GPIO_BEEP);            //根据参数初始化GPIO.8
17 }
主函数
1 #include "sys.h"
2 #include "delay.h"
3 #include "beep.h"
4
5int main(void)
6 {
砭石祛斑泥7    BEEP_Init();      //蜂鸣器初始化
8    delay_init();    //延时函数初始化
9while(1)
10    {
11        GPIO_ResetBits(GPIOB, GPIO_Pin_8);      //关闭蜂鸣器
12        delay_ms(1500);                            //延时1.5秒
抑制的生活13
14        GPIO_SetBits(GPIOB, GPIO_Pin_8);        //打开蜂鸣器
15        delay_ms(100);                            //延时0.1秒
16    }
17 }

本文发布于:2024-09-22 01:16:09,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/126860.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:蜂鸣器   电路   震荡   结构
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议