led灯+蜂鸣器操作(用proteus)
一、编写代码
1、用stm32cubemx生成
选择芯片类型------>设置GPIO的功能图1.1,1.2(我的是输出)------>在project Manage 进行工程设置-----> 生成代码 GENERATE CODE

图1.2,这里可以设置引脚(GPIO output level是设置引脚的高低电平;GPIO mode 设置模式,这里是推挽输出;GPIO Pull-up/Pull-down 上拉/下拉;输出速度)
2、用keil5进行具体编写。
右击文件夹,新建文件夹HAREWARE
led.c
这是用的HAL库的函数,可能和网上别人写的不一样,因为库不同。
#include "led.h"
#include "stm32f1xx.h"
void LED_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure = {0};
/* GPIO Ports Clock Enable */
__HAL_RCC_GPIOB_CLK_ENABLE();
/*Configure GPIO pin Output Level */
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_5,GPIO_PIN_RESET);
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_6,GPIO_PIN_RESET);
/*Configure GPIO pins : PB5 PB6 */
GPIO_InitStructure.Pin = GPIO_PIN_5|GPIO_PIN_6;
GPIO_InitStructure.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStructure.Pull = GPIO_NOPULL;
GPIO_InitStructure.Speed = GPIO_SPEED_FREQ_LOW;
HAL_GPIO_Init(GPIOB, &GPIO_InitStructure);
}
beep.c
#include "beep.h"
#include "stm32f1xx.h"
void BEEP_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure = {0};
/* GPIO Ports Clock Enable */
__HAL_RCC_GPIOB_CLK_ENABLE();
/*Configure GPIO pin Output Level */
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_7,GPIO_PIN_RESET);
/*Configure GPIO pins : PB7 */
GPIO_InitStructure.Pin = GPIO_PIN_7;
GPIO_InitStructure.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStructure.Pull = GPIO_NOPULL;
GPIO_InitStructure.Speed = GPIO_SPEED_FREQ_LOW;
HAL_GPIO_Init(GPIOB, &GPIO_InitStructure);
}
编写完后,把led.c和beep.c加到HAREWARE中去,右击HAREWARE,选择manager project items......
新建HAREWARE
点击Add Files, 找到HAREWARE目录下的led.c和beep.c选中,点击Add,然后点击Close,点击OK
然后点击小魔法棒,到C/C++,点击Include Paths
新建,选择到led.h和beep.h的上一级目录,点击选择文件夹,就可以了
对main.c进行编写
添加
#include "led.h"
#include "beep.h"
就完成了。
二、新建一个对应的proteus工程
以下是用到的部件。
蜂鸣器选这个
硬件连接图如下图所示
对buzzer进行如下设置
电阻一定要改大点儿,不然对电流要求太大,会导致蜂鸣器不响(可以试试小电阻,他会莫名的把b端拉低)
只要B端比E端大0.7V以上,C、E就可以导通。
三、烧录程序,开始仿真
1、烧录程序就是:右击芯片---->编辑元件---->Program File(是.hex的路径)点击确定。
点击小魔法棒----->OUTPUT---->Select Folder for Objects可查看.hex的文件路径。
如果没有.hex的文件,在小魔法棒----->OUTPUT里勾选上Greate HEX File,编译后就生成了。
2、点击就可进行仿真。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)