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

相关推荐
Cloud_Shy6186 小时前
解读《Effective Python 3rd Edition》:从练气到老魔(第五章 Item 30 - 32)
开发语言·人工智能·笔记·python·学习方法
kebidaixu6 小时前
FreeRTOS 移植到 STM32F407VETX 记录(一)
stm32·单片机·嵌入式硬件
问心无愧05136 小时前
ctf show web入门110
前端·笔记
道一237 小时前
Windows系统查看端口占用进程的3种实用方法
windows·笔记
CSDN官方博客7 小时前
「谁说嵌入式只是调包和焊板子?」—— 2026嵌入式全栈技术征锋令
嵌入式硬件·物联网·embedding
半条-咸鱼7 小时前
【INACCESSIBLE_BOOT_DEVICE】安装 Config Tool 后 Windows 蓝屏,最终通过 VMware 虚拟机解决
windows·stm32·vmware·芯片
lunzi_08267 小时前
【学习笔记】《Python编程 从入门到实践》第8章:函数定义、参数传递与模块导入
笔记·python·学习
点灯小铭7 小时前
基于单片机的数码管定时插座设计与定时开关功能实现
单片机·嵌入式硬件·毕业设计·课程设计·期末大作业
云栖梦泽8 小时前
玩转RK3506SDK
linux·嵌入式硬件
数智工坊9 小时前
机器人四大主控板系统分层选型指南:树莓派、ESP32、STM32与Arduino的能力边界与实战定位
stm32·嵌入式硬件·机器人