【STM32 |程序实测】LED灯闪烁、LED灯流水线、蜂鸣器

✨✨谢谢大家捧场,祝屏幕前的小伙伴们每天都有好运相伴左右,一定要天天开心哦!✨✨

🎈🎈作者主页:丠丠64-CSDN博客🎈🎈

✨✨ 帅哥美女们,我们共同加油!一起进步!✨✨

LED闪烁&LED流水灯&蜂鸣器的面包板接线图,及对应程序示例


LED闪烁

面包板接线图如下

开启APB2时钟,并且在GPIOA上进行配置,推挽输出,引脚A0,50HZ速度

复制代码
#include "stm32f10x.h"                  // Device header
#include "Delay.h"

int main(){
	GPIO_InitTypeDef GPIO_InitStructure;
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);
	GPIO_Init(GPIOA,&GPIO_InitStructure);
	
	//GPIO_ResetBits(GPIOA,GPIO_Pin_0);//低电平
	//GPIO_SetBits(GPIOA,GPIO_Pin_0);//高电平
	//GPIO_WriteBit(GPIOA,GPIO_Pin_0,Bit_RESET);//低电平
	//GPIO_WriteBit(GPIOA,GPIO_Pin_0,Bit_SET);//高电平
	
	while(1)
	{
		GPIO_WriteBit(GPIOA,GPIO_Pin_0,Bit_RESET);//低电平
		Delay_s(1);
		GPIO_WriteBit(GPIOA,GPIO_Pin_0,Bit_SET);//高电平
		Delay_s(1);
	}
}

LED流水灯

面包板接线图如下

开启APB2时钟,并且在GPIOA上进行配置,推挽输出,引脚A0-A7,50HZ速度

复制代码
#include "stm32f10x.h"                  // Device header
#include "Delay.h"

int main(){
	GPIO_InitTypeDef GPIO_InitStructure;
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
	//GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 |GPIO_Pin_3 | GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_7; //也可以这样
	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All;
	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);
	GPIO_Init(GPIOA,&GPIO_InitStructure);
	
	//GPIO_ResetBits(GPIOA,GPIO_Pin_0);//低电平
	//GPIO_SetBits(GPIOA,GPIO_Pin_0);//高电平
	//GPIO_WriteBit(GPIOA,GPIO_Pin_0,Bit_RESET);//低电平
	//GPIO_WriteBit(GPIOA,GPIO_Pin_0,Bit_SET);//高电平
	
	while(1)
	{
		GPIO_Write(GPIOA,~0x0001);//低电平按位取反 0000 0000 0000 0001 第一个IED灯亮
		Delay_ms(100);
		GPIO_Write(GPIOA,~0x0002);//低电平按位取反 0000 0000 0000 0010 第二个IED灯亮
		Delay_ms(100);
		GPIO_Write(GPIOA,~0x0004);//低电平按位取反 0000 0000 0000 0100 第三个IED灯亮
		Delay_ms(100);
		GPIO_Write(GPIOA,~0x008);//低电平按位取反 0000 0000 0000 1000 第四个IED灯亮
		Delay_ms(100);
		GPIO_Write(GPIOA,~0x0010);//低电平按位取反 0000 0000 0001 0000 第五个IED灯亮
		Delay_ms(100);
		GPIO_Write(GPIOA,~0x0020);//低电平按位取反 0000 0000 0010 0000 第六个IED灯亮
		Delay_ms(100);
		GPIO_Write(GPIOA,~0x0040);//低电平按位取反 0000 0000 0100 0000 第七个IED灯亮
		Delay_ms(100);
		GPIO_Write(GPIOA,~0x0080);//低电平按位取反 0000 0000 1000 0000 第八个IED灯亮
		Delay_ms(500);
	}
}

蜂鸣器

面包板接线图如下

开启APB2时钟,并且在GPIOB上进行配置,推挽输出,引脚B12,50HZ速度

复制代码
#include "stm32f10x.h"                  // Device header
#include "Delay.h"

int main(){
	GPIO_InitTypeDef GPIO_InitStructure;
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12;
	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
	
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
	GPIO_Init(GPIOB,&GPIO_InitStructure);
	
	
	//GPIO_ResetBits(GPIOA,GPIO_Pin_0);//低电平
	//GPIO_SetBits(GPIOA,GPIO_Pin_0);//高电平
	//GPIO_WriteBit(GPIOA,GPIO_Pin_0,Bit_RESET);//低电平
	//GPIO_WriteBit(GPIOA,GPIO_Pin_0,Bit_SET);//高电平
	
	while(1)
	{
		GPIO_ResetBits(GPIOB,GPIO_Pin_12); //响100毫秒停100毫秒响100毫秒停700毫秒
		Delay_ms(100);
		GPIO_SetBits(GPIOB,GPIO_Pin_12);
		Delay_ms(100);
		GPIO_ResetBits(GPIOB,GPIO_Pin_12);
		Delay_ms(100);
		GPIO_SetBits(GPIOB,GPIO_Pin_12);
		Delay_ms(700);
	}
}

希望对你有帮助

相关推荐
范纹杉想快点毕业6 小时前
ZYNQ PS 端 UART 接收数据数据帧(初学者友好版)嵌入式编程 C语言 c++ 软件开发
c语言·笔记·stm32·单片机·嵌入式硬件·mcu·51单片机
方圆工作室7 小时前
51单片机驱动数码管
单片机·嵌入式硬件·51单片机
乔宕一8 小时前
stm32 链接脚本没有 .gcc_except_table 段也能支持 C++ 异常
c++·stm32·嵌入式硬件
范纹杉想快点毕业9 小时前
STM32 串口接收数据包(自定义帧头帧尾)
stm32·单片机·嵌入式硬件
茯苓gao9 小时前
STM32G4 电流环闭环
笔记·stm32·单片机·嵌入式硬件·学习
单片机系统设计10 小时前
基于stm32的环境监测系统/智能家居/空气质量监测系统
stm32·单片机·嵌入式硬件·毕业设计·智能家居
不知所云,11 小时前
5. STM32 时钟系统分配
stm32·单片机·嵌入式硬件
电子科技圈12 小时前
芯科科技FG23L无线SoC现已全面供货,为Sub-GHz物联网应用提供最佳性价比
科技·嵌入式硬件·mcu·物联网·制造·智能硬件·交通物流
天天爱吃肉821813 小时前
【比亚迪璇玑架构深度解析:重新定义智能电动汽车的“整车智能”】
数据库·人工智能·嵌入式硬件·架构·汽车
糖糖单片机设计13 小时前
硬件开发_基于物联网的沼气池环境监测系统
stm32·单片机·嵌入式硬件·物联网·51单片机