嵌入式02 STM32 实验05 蜂鸣器
蜂鸣器:是一种一体化结构的电子讯响器。主要分为分压式蜂鸣器和电磁式蜂鸣器两种类型。
一、有源/无源蜂鸣器(不是指是否带电源,而是有没有自带震荡电路)
1、有源蜂鸣器:有源蜂鸣器自带震荡电路,一通电就会发声。
2、无源蜂鸣器:没有自带震荡电路,需要外部提供2~5Khz左右的方波驱动,太能发声。
二、硬件设计
因为STM32的单个IO口最大可以提供25mA电流,而蜂鸣器的驱动电流在30mA左右,两者十分相近,但是STM32整个芯片的电流,最大也就150mA左右,如果用IO口直接驱动蜂鸣器,其它功能使用时可能出现电流不足。所以我们通过三极管(S8050)括流后再驱动蜂鸣器,这样STM32的IO口只需要提供不到1mA的电流就足够了。
R33主要用于防止蜂鸣器的误发声,当 PB.8 输出高电平的时候,蜂鸣器将发声, 当 PB.8 输出低电平的时候,蜂鸣器停止发声。

三、软件设计
//子函数
#include "beep.h"
#include "stm32f10x.h" void BEEP_Init(void)
{
GPIO_InitTypeDef GPIO_BEEP; //创建一个结构体 GPIO_BEEP.GPIO_Mode = GPIO_Mode_Out_PP; //设置该端口为推挽输出
GPIO_BEEP.GPIO_Pin = GPIO_Pin_8; //PB.8端口
GPIO_BEEP.GPIO_Speed = GPIO_Speed_50MHz; //50MHz RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); //初始化GPIOB时钟 GPIO_Init(GPIOB, &GPIO_BEEP); //根据参数初始化GPIO.8
}
主函数
#include "sys.h"
#include "delay.h"
#include "beep.h" int main(void)
{
BEEP_Init(); //蜂鸣器初始化
delay_init(); //延时函数初始化
while()
{
GPIO_ResetBits(GPIOB, GPIO_Pin_8); //关闭蜂鸣器
delay_ms(); //延时1.5秒 GPIO_SetBits(GPIOB, GPIO_Pin_8); //打开蜂鸣器
delay_ms(); //延时0.1秒
}
}
嵌入式02 STM32 实验05 蜂鸣器的更多相关文章
- 嵌入式02 STM32 实验08 外部中断
一.中断 由于某个事件的发生,CPU暂停当前正在执行的程序,转而执行处理事件的一个程序.该程序执行完成后,CPU接着执行被暂停的程序.这个过程称为中断.(我正在捉泥鳅,但是我妈喊我回家吃饭,我必须回家 ...
- 嵌入式02 STM32 实验06 按键
按键实验和前面的跑马灯.蜂鸣器主要的区别就是这个是读取外部的输入信号,之前的实验都是对外部输出信号. 一.硬件设计 本实验的硬件为三个按键.两个lED(LED0.LED1).一个蜂鸣器(BEEP). ...
- 嵌入式02 STM32 实验04跑马灯
开学STM32 跑马灯的实验主要就是了解GPIO口的配置及使用,我这里是使用库函数进行编程,主要需要设置以下两方面: 1.使能需要使用的IO口的时钟,一共有A.B.C.D.E.F.G七组IO口 2.初 ...
- 嵌入式02 STM32 实验11 NVIC和中断总结
一.基础知识 1.cortex-m3支持256个中断,其中包含了16个内核中断,240个外部中断 2.STM32只有84个中断,包括16个内核中断和68个可屏蔽中断 3.STM32F103上只有60个 ...
- 嵌入式02 STM32 实验10 定时器中断
优秀文章 https://blog.csdn.net/qq_38351824/article/details/82619734 一.STM32通用定时器(TIM2.TIM3.TIM4和TIM5共四个通 ...
- 嵌入式02 STM32 实验07 串口通信
STM32串口通信(F1系列包含3个USART和2个UART) 一.单片机与PC机串行通信研究目的和意义: 单片机自诞生以来以其性能稳定,价格低廉.功能强大.在智能仪器.工业装备以及日用电子消费产品中 ...
- 嵌入式02 STM32 实验03 时钟系统
时钟系统是处理器的核心,所以认真学习时钟系统是必要的,有助于深入理解STM32. 由于STM32的外设很多,有的外设不需要太高的时钟频率,同一个电路,时钟越快功耗越大,同时抗电磁干扰能力也越弱,所以对 ...
- 嵌入式02 STM32 实验02 端口输入输出各4种模式
GPIO(General-purpose input/output 通用目的输入/输出端口) 电压(A模拟量)与电平(D数字量) GPIO 8种工作模式(输入四种.输出四种) 1.GPIO_Mode_ ...
- 嵌入式02 STM32 实验01 端口复用和重映射
内设与外设: 端口复用和端口重映射都需要了解内设和外设,那么什么是内设?什么是外设? 内设:单片机内部集成的功能一般包括:串口模块.SPI模块(Serial Peripheral Interface ...
随机推荐
- Linux中tune2fs命令的-o选项
debug 启用此文件系统的调试代码. bsdgroups 在创建新文件时模拟BSD行为:它们将使用创建它们的目录.标准系统V的行为是默认情况下,新创建的文件采用当前进程的fsgid,除非目录设置了s ...
- SpringBoot要点之使用Actuator监控
Actuator是Springboot提供的用来对应用系统进行自省和监控的功能模块,借助于Actuator开发者可以很方便地对应用系统某些监控指标进行查看.统计等. 在pom文件中加入spring-b ...
- P5055 【模板】可持久化文艺平衡树 可持久化fhqtreap
P5055 [模板]可持久化文艺平衡树 链接 luogu 思路 可持久化fhq-treap套一套就行了,pushdown和split都要可持久化,但merge不用可持久.以前以为很难一直没看,就是个板 ...
- 网卡可以绑定cpu提高吞吐量
请看大神帖子:https://blog.csdn.net/nawenqiang/article/details/82854929 需要做什么呢? 首先,确认你是否运行irqbalance,这个是nic ...
- Foxmail: 错误信息::ssl连接错误, errorCode: 5,各种解决方案的大杂烩。
1. 收件数据过多,删除部分邮件可解决 我尝试失败,在foxmail把收件箱全部删完了没解决. 2. 网上最常见的解决方法 https://help.foxmail.com/cgi-bin/hel ...
- 第08组 Alpha事后诸葛亮
组长博客 点这里! 总结思考 设想和目标 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 弥补Powerpoint中模板转换存在的缺陷,完善PPT模板一键转换的功能 ...
- Oncomine 数据库
网址 https://www.oncomine.org/resource/login.html Oncomine 是目前世界上最大的癌基因芯片数据库和整合数据挖掘平台,旨在挖掘癌症基因信息.Onco ...
- 拼多多面试真题:如何用 Redis 统计独立用户访问量!
阅读本文大概需要 2.8 分钟. 作者:沙茶敏碎碎念 众所周至,拼多多的待遇也是高的可怕,在挖人方面也是不遗余力,对于一些工作 3 年的开发,稍微优秀一点的,都给到 30K 的 Offer. 当然,拼 ...
- 三个面向对象相关的装饰器@property@staticmathod@classmethod
@property 先看实例: from math import pi class Circle: def __init__(self,r): self.r = r @property def per ...
- Unknown command 'run' - try 'help'
/******************************************************************************* * Unknown command ' ...