ARM开发(2)基于STM32的蜂鸣器

发布者:LIGANG888最新更新时间:2019-08-19 来源: eefocus关键字:ARM  STM32  蜂鸣器 手机看文章 扫描二维码
随时随地手机看文章

一 蜂鸣器原理: 

1.1 本实验实现1个蜂鸣器间隔1S鸣叫。


1.2 实验思路:根据电路图原理,给蜂鸣器相关引脚赋予高低电平,实现电路的导通,使蜂鸣器实现鸣叫或不鸣。


1.3 开发环境 : MDK5 库函数版本开发 JLINK仿真 

二 实验步骤: 

2.1 beep.h代码: 

#ifndef __BEEP_H 

#define __BEEP_H 

#include “sys.h” 

#define BEEP PBout(10) // BEEP,蜂鸣器接口 

void BEEP_Init(void); //初始化 

#endif 

2.2 beep.c代码(IO配置): 

#include “beep.h” 

void BEEP_Init(void) 

{


         GPIO_InitTypeDef  GPIO_InitStructure;


         RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);     //使能GPIOB端口时钟



         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;          // 推挽输出

         GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;        // IO速度为50MHz


         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;                 //BEEP-->PB.10端口配置

         GPIO_Init(GPIOB, &GPIO_InitStructure);                    // 根据参数初始化GPIOB.10

         GPIO_ResetBits(GPIOB,GPIO_Pin_10);                     // 关闭蜂鸣器输出


        }


2.2 main.c代码(实现蜂鸣器间隔1S鸣叫效果): 

#include “sys.h” 

#include “delay.h” 

#include “led.h” 

#include “beep.h” 

int main(void) 

delay_init(); //延时 

BEEP_Init(); //蜂鸣器初始化 

while(1) 

BEEP =!BEEP; 

delay_ms(1000);// 1 S延时 

}


三 接线测试:


3.1 与板子接线测试效果良好,蜂鸣器间隔1S鸣叫效果良好。


关键字:ARM  STM32  蜂鸣器 引用地址:ARM开发(2)基于STM32的蜂鸣器

上一篇:ARM开发(1) 基于stm32的led跑马灯
下一篇:ARM开发(3)基于STM32的矩阵键盘控制蜂鸣器

推荐阅读最新更新时间:2024-11-12 09:00

STM32串口库函数版例程
定义: TXD1----- PA9-US1-TX RXD1----- PA10-US1-RX 速率:115200,n,8,1 /* Includes ------------------------------------------------------------------*/ #include stm32f10x.h #include platform_config.h #include stm32f10x_usart.h #include misc.h #include stdarg.h /* Private variables ---------------------------------------
[单片机]
如何评估MCU满足项目需求?STM32系列单片机如何选型?
如何评估MCU满足项目需求? 了解MCU的基本特性和规格:首先需要了解MCU的处理器内核、存储器、时钟、外设和接口等基本特性和规格,以及支持的编程语言和开发工具等。 确定项目需求:在了解MCU的基本特性和规格后,需要确定项目的需求,包括需要控制的设备或执行的任务、需要处理的数据量和信号、需要的处理能力和存储空间、需要的功耗和可靠性要求等。这些需求将指导后续的MCU评估和选择。 评估MCU的性能和功能:根据项目需求,结合MCU的基本特性和规格,对MCU的性能和功能进行评估。这包括MCU的处理能力、存储空间、时钟速度、电源管理、外设和接口等方面。 确定MCU的可用性和可靠性:除了性能和功能,还需要考虑MCU的可用性和可靠性。这
[单片机]
如何评估MCU满足项目需求?<font color='red'>STM32</font>系列单片机如何选型?
STM32复习笔记(十)LCD的介绍和使用方法
声明:本篇文章只是个人知识盲区、知识弱点、重点部分的归纳总结,望各位大佬不喜勿喷。梳理顺序是按照正点原子的视频和文档的实际顺序梳理,转载请注明出处。 作者:sumjess 适用:这个视频我已经看过3遍了,总会有忘记的,所以来写这本书的随手笔记,记录重点、易忘点。该博客可以当做字典,也可以当做笔记。 目前内容:LCD的介绍和使用方法 一、TFTLCD驱动原理-TFTLCD简介: (1)介绍TFTLCD: TFTLCD即薄膜晶体管液晶显示器。它与无源TN-LCD、STN-LCD的简单矩阵不同,它在液晶显示屏的每一个象素上都设置有一个薄膜晶体管(TFT),可有效地克服非选通时的串扰,使显示液晶屏的静态特性与扫描线数无关,因此大大提
[单片机]
<font color='red'>STM32</font>复习笔记(十)LCD的介绍和使用方法
STM32高级定时器从模式 四种
一、通用定时器从模式:复位模式 使用TIM1的CH1输出PWM脉冲 使用TIM4的CH1作为触发输入通道。 PWM的上升沿触发TIM4的复位模式,复位TIM4计数器并触发中断. 定时器1配置,用来产生PWM脉冲 TIM_HandleTypeDef htimx; //基本定时器句柄 void ADVANCED_TIMx_Init(void) { TIM_ClockConfigTypeDef sClockSourceConfig; //定时器时钟配置 TIM_MasterConfigTypeDef sMasterConfig; //定时器
[单片机]
可变参数宏__VA_ARGS__的用法
回顾 在【ANSIC几种特殊的标准定义】中我们讲述了比较常用的几项: __FILE__:正在编译文件的路径及文件名 __LINE__:正在编译文件的行号 __DATE__:编译时刻的日期字符串 如“Jun 17 2017” __TIME__:编译时刻的时间字符串 如”10:00:00“ 代码: char BuildFile = __FILE__; int BuildLine = __LINE__; char BuildDate = __DATE__; char BuildTime = __TIME__; printf( 编译文件路径:%sn , BuildFile); printf( 编译代码所在行:%dn , Tes
[单片机]
可变参数宏__VA_ARGS__的用法
ARM处理器和体系结构介绍(Cortex-A9)
ARM(Advanced RISC Machines) 概述:有三种含义,它是一个公司的名称,是一类微处理器的通称,还是一种技术的名称。 技术特征 体积小、低功耗、低成本、高性能。 支持Thumb(16位)/ARM(32位)双指令集,能很好地兼容8/16位器件。 大量使用寄存器,指令执行速度更快。 大多数数据操作都在寄存器中完成。 寻址方式灵活简单,执行效率高。 指令长度固定。 嵌入式RISC微处理器 概述:RISC(Reduced Instruction Set Computer)是精简指令集计算机,RISC把着眼点放在如何使计算机的结构更加简单和如何使计算机的处理速度更加快速上。RISC选取了使用频率最高的简单指令,抛
[单片机]
<font color='red'>ARM</font>处理器和体系结构介绍(Cortex-A9)
STM32有哪些国产替代者?
说起MCU,ST(意法半导体)的STM32单片机十几年来已经销售了几十亿颗,在国内几乎占有50%的市场,会使用STM32单片机也基本成为电子工程师的标配职业技能,然而2018年下半年的供货紧张,以及中兴事件,给我们硬件工程师敲了敲警钟,假如有一天我们必须替换下STM32单片机,国产芯有哪些是可以替代的呢? 北京兆易创新-GD32系列 GD32作为中国32位通用MCU领域的主流之选,以累计超过2亿颗的出货数量、超过1万的用户数量、20个系列300余款产品型号选择的广阔应用覆盖率稳居市场前列。GD32使用的是Cortex-M3内核,型号做到了与STM32相同型号的全兼容,方便替换,主频频率更高。 GD32F103是GD早期的产
[单片机]
<font color='red'>STM32</font>有哪些国产替代者?
arm学习笔记二(arm寻址方式)
工作状态 arm状态 32位指令 thumb状态 16位指令 存储器的格式 最大寻址空间为4gb 大端格式:字数据的高字节存储在低地址中,低字节存放在高地址中 小端格式:与大端格式相反 axd查看寄存器 ================================================================= arm寻址方式(貌似计算机原理中学过) 处理器根据指令中给出的地址信息来寻找物理地址的方式 立即寻址 立即数寻址 示例代码如下: add r0,r0,#1; r0 --r0+1 add r0,r0,#0x3f; r0 --r0+0x3f 以十六进制表示的立即数要加0x或& 寄存器寻址 利用寄存器中的
[单片机]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved