提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、原理图
    • 1.STM32F103C8T6
    • 2.BELL蜂鸣器
  • 二、Keil代码
    • 1.Beep.c
    • 2.Beep.h
    • 3.main.c
  • 总结


前言

基于STM32F103C8T6在Keil下编程实现蜂鸣器的长鸣

一、原理图

1.STM32F103C8T6


STM32F103C8T6是ST在2007年发布的一款MCU,截止目前ST已经发布了速度高达400MHz的STM32H7。三点好处,一是封装比较大,方便初学者焊接,二是价格低廉,学习成本比较低,三是网上有大量的资料供初学者学习使用。

2.BELL蜂鸣器

二、Keil代码

1.Beep.c

代码如下:

#include"stm32f10x.h"
#include"Beep.h"

void BEEP_Init(void)
	{
    GPIO_InitTypeDef GPIO_Structure;//调用GPIO_Structure结构体

		RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);//引脚GPIOB挂载在APB2上的外设作为输入参数
	


		GPIO_Structure.GPIO_Mode=GPIO_Mode_Out_PP;//指定工作方式OUT推挽输出
		GPIO_Structure.GPIO_Pin=BEEP_Pin;//Beep指定引脚
		GPIO_Structure.GPIO_Speed=GPIO_Speed_10MHz;//指定速度为10MHz
		
	
	
		
		GPIO_Init(BEEP_GPIO,&GPIO_Structure);//调用GPIO_Init 传入&GPIO_Structure(对该引脚初始化)
		


}
	

2.Beep.h

代码如下:

#ifndef _BEEP_H_
#define _BEEP_H_
#include "stm32f10x.h"

//宏定义
#define BEEP_GPIO GPIOB //指定BEEP端口为GPIOB
#define BEEP_Pin GPIO_Pin_10  //指定GPIO_Pin_10引脚为BEEP_Pin


#define BEEP_OFF BEEP_GPIO->BRR = BEEP_Pin //BEEP响  SRR下拉
#define BEEP_ON BEEP_GPIO->BSRR = BEEP_Pin //BEEP停  BSRR上拉



//全局函数声明
void BEEP_Init(void);  //初始化



#endif



3.main.c

代码如下:

//#include"Led.h"
#include"stm32f10x.h"
#include"Beep.h"

//typedef unsigned         char uint8_t;
//typedef unsigned short   int uint16_t;
//typedef unsigned         int  uint32_t;
//typedef unsigned      _INT64_uint64_t;

static void delay(uint16_t n )//延时程序
{
	uint16_t i,j;
	for(i=0;i<n;i++)
		for(j=0;j<8500;j++);
}

int main(void)
{
	//LED_Init();
	BEEP_Init();//beep初始化
	while(1)
	{
	//	LED2_ON;
		//LED3_ON;
	//	GPIO_ResetBits(GPIOB,GPIO_Pin_10);//GPIO位输出为0
		BEEP_ON;
		delay(200);
		BEEP_OFF;
		//GPIO_SetBits(GPIOB,GPIO_Pin_10);//GPIO位输出1
		delay(180);
		BEEP_ON;
		delay(40);
		BEEP_OFF;
		delay(100);
		BEEP_ON;
		delay(90);
		BEEP_OFF;
		delay(150);
		//LED2_OFF;
		//LED3_OFF;
		//delay(200);
	}
}





总结

以上就是今天要讲的内容,本文仅仅简单介绍了基于STM32F103C8T6在Keil下编程实现基于STM32F103C8T6在Keil下编程实现蜂鸣器的长鸣的原理图和代码。

更多推荐

STM32Keil下编程实现蜂鸣器长鸣