【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版 细致讲解 中文字幕》教程视频

相关推荐
inrichtt2 小时前
第八课时:SPI总线揭秘:四线全双工通信的奥
c语言·数据结构·stm32·单片机·嵌入式硬件
半杯咖啡半行码3 小时前
Linux字符设备驱动开发基础:从设备号到ioctl的完整实战
stm32·单片机·嵌入式硬件
碧海银沙音频科技研究院4 小时前
基于炬芯ATS3089X的usb U盘/usb audio声卡/usb cdc虚拟串口/录音dump到本地功能实现
stm32·单片机·嵌入式硬件
优选资源分享4 小时前
PicGo v3.0.3 新版 | 开源免费图床工具
javascript·笔记·electron
@松4 小时前
学习stm32cudemx +vs 创建hex文件,刷机
stm32
CC180253944865 小时前
具有强大的图像和语音处理能力的高性能 MCU芯片ESP32-P4NRW32X
单片机·嵌入式硬件
星恒随风5 小时前
Linux线程概念详解:从分页存储、页表、MMU与TLB,深入理解线程和进程的区别与联系
linux·运维·笔记·学习·状态模式
qq_284274055 小时前
数控机床编程基础与坐标系:编程六步流程、程序号/程序段/程序字格式,与右手定则下车床铣床XYZ轴判定(含考点)
笔记·学习·自动化·制造
小范的技术工坊6 小时前
Linux应用开发(文件IO)
linux·stm32·单片机
问心无愧05136 小时前
[SUCTF 2019]EasySQL
笔记