【STM32】LED闪烁 & LED流水灯 & 蜂鸣器

文章目录

前置知识

LED和蜂鸣器介绍

  • LED

    发光二极管,正向通电点亮,反向通电不亮

  • 蜂鸣器

    • 有源蜂鸣器:内部自带振荡源,将正负极接上直流电压即可持续发声,频率固定
    • 无源蜂鸣器:内部不带振荡源,需要控制器提供振荡脉冲才可发声,调整提供振荡脉冲的频率,可发出不同频率的声音

硬件电路

LED硬件电路

使用STM32的GPIO口驱动LED电路

  • 低电平驱动电路(低电平点亮高电平熄灭)

    【分析】

    LED正极接3.3V,负极通过一个限流电阻接到PA0上

    • 当PA0输出低电平时,LED两端就会出现电压差,形成正向导通的电流,LED灯点亮
    • 当PA0输出高电平时,LED两端无电压差,不会形成电流,LED灯熄灭
  • 高电平驱动电路(高电平点亮低电平熄灭)

    【分析】

    LED正极通过一个限流电阻接到PA0上,负极接GND(0V)

    • 当PA0输出高电平时,LED两端就会出现电压差,形成正向导通的电流,LED灯点亮
    • 当PA0输出低电平时,LED两端无电压差,不会形成电流,LED灯熄灭

一般选择使用第一种连接方法,因为很多单片机和芯片都使用了高电平弱驱动,低电平强驱动的规则

蜂鸣器硬件电路

  • PNP三极管驱动电路

    【分析】

    PA0 输出低电平,PNP三极管的基极为低电平,三极管导通,可以给蜂鸣器提供驱动电流

    PA0 输出高电平,基极为高电平,三极管截止,蜂鸣器没有电流

  • NPN三极管驱动电路

    【分析】

    PA0 输出高电平,NPN的三极管的基极为高电平,三极管导通,可以给蜂鸣器提供驱动电流

    PA0 输出低电平,基极为低电平,三极管截止,蜂鸣器没有电流

面包板介绍

面包板也叫做免焊万用电路板,与印刷电路板不同,面包板无需焊接或损坏电路轨道,因此可以反复使用

面包板的正反面及内部结构

LED灯闪烁

接线图

源代码 main.c

Delay函数模块的文件链接

链接: https://pan.baidu.com/s/1BK9oP64S5r5jBkzMox8dww?pwd=6hex

提取码: 6hex

对RCC不熟悉的请参考:STM32系统时钟RCC

对GPIO不熟悉的请参考:GPIO通用输入输出口

LED流水灯

接线图

源代码 main.c

蜂鸣器

接线图

源代码 main.c


STM32 专栏文章均参考 《STM32入门教程-2023版 细致讲解 中文字幕》教程视频

相关推荐
Yawesh_best3 小时前
告别系统壁垒!WSL+cpolar 让跨平台开发效率翻倍
运维·服务器·数据库·笔记·web安全
纳祥科技3 小时前
Switch快充方案,内置GaN,集成了多个独立芯片
单片机
单片机日志4 小时前
【单片机毕业设计】【mcugc-mcu826】基于单片机的智能风扇系统设计
stm32·单片机·嵌入式硬件·毕业设计·智能家居·课程设计·电子信息
松涛和鸣5 小时前
从零开始理解 C 语言函数指针与回调机制
linux·c语言·开发语言·嵌入式硬件·排序算法
Ccjf酷儿5 小时前
操作系统 蒋炎岩 3.硬件视角的操作系统
笔记
习习.y6 小时前
python笔记梳理以及一些题目整理
开发语言·笔记·python
在逃热干面6 小时前
(笔记)自定义 systemd 服务
笔记
DKPT7 小时前
ZGC和G1收集器相比哪个更好?
java·jvm·笔记·学习·spring
QT 小鲜肉9 小时前
【孙子兵法之上篇】001. 孙子兵法·计篇
笔记·读书·孙子兵法
星轨初途10 小时前
数据结构排序算法详解(5)——非比较函数:计数排序(鸽巢原理)及排序算法复杂度和稳定性分析
c语言·开发语言·数据结构·经验分享·笔记·算法·排序算法