欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    嵌入式系统原理实验四蜂鸣器(共3页).doc

    • 资源ID:7073857       资源大小:155KB        全文页数:3页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    嵌入式系统原理实验四蜂鸣器(共3页).doc

    精选优质文档-倾情为你奉上实验四 蜂鸣器实验实验目的:控制 ALIENTEK 战舰 STM32 开发板上的蜂鸣器发出:“嘀”“ 嘀”的间隔声,进一步熟悉 STM32 IO 口的使用内容要点:1. 硬件介绍蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。 战舰 STM32 开发板板载的蜂鸣器是电磁式的有源蜂鸣器这里的有源不是指电源的“源”,而是指有没有自带震荡电路,有源蜂鸣器自带了震荡电路,一通电就会发声STM32的单个 IO 最大可以提供 25mA 电流(来自数据手册),而蜂鸣器的驱动电流是 30mA 左右,两者十分相近,但是全盘考虑, STM32 整个芯片的电流,最大也就 150mA,如果用 IO 口直接驱动蜂鸣器,其他地方用电就得省着点了所以,我们不用 STM32 的 IO 直接驱动蜂鸣器, 而是通过三极管扩流后再驱动蜂鸣器,这样 STM32 的 IO 只需要提供不到 1mA 的电流就足够了。IO 口使用虽然简单,但是和外部电路的匹配设计,还是要十分讲究的,考虑越多,设计就越可靠,可能出现的问题也就越少。蜂鸣器在硬件上也是直接连接好了的, 不需要经过任何设置,直接编写代码就可以了。 蜂鸣器的驱动信号连接在 STM32 的 PB8 上。图1 蜂鸣器与 STM32 连接原理图当 PB.8 输出高电平的时候,蜂鸣器将发声,当 PB.8 输出低电平的时候,蜂鸣器停止发声2. 软件设计可以直接打开本实验工程,也可以按下面的步骤在实验 1 的基础上新建蜂鸣器实验工程。 复制上一章的 LED 实验工程,然后打开 USER 目录,把目录下面工程 LED.uvprojx 重命名为 BEEP.uvprojx。,然后在 HARDWARE 文件夹下新建一个 BEEP 文件夹,用来存放与蜂鸣器相关的代码 将 beep.h 头文件的路径加入到工程里面一般的头文件有固定的格式,多个地方调用头文件会重复引用,为了避免头文件内容重复引用,一般通过预编译的方式来写头文件。一般的格式如下:#ifndef _BEEP_H#define _BEEP_H#endif第一次调用时会将#define下面这一节全部定义,重复调用时,下面的东西就不会被引用。头文件里一般用来写函数声明或者宏定义,在源文件中再去定义具体的函数。#ifndef _BEEP_H#define _BEEP_Hvoid BEEP_Init(void);#endifbeep.h然后我们打开 USER 文件夹Template. uvprojx,大家可以将其重命名为 BEEP. uvprojx),按新建按钮新建一个文件,然后保存在 HARDWARE->BEEP 文件夹下面,保存为 beep.c。在该文件中输入如下代码:#include "beep.h"void BEEP_Init(void)GPIO_InitTypeDef GPIO_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);/使能 GPIOB 端口时钟GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8; /BEEP->GPIOB.8 端口配置GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; /推挽输出GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; /速度为 50MHzGPIO_Init(GPIOB, &GPIO_InitStructure); /根据参数初始化 GPIOB.8GPIO_ResetBits(GPIOB,GPIO_Pin_8); /输出 0,关闭蜂鸣器输出 这段代码 仅包含 1 个函数: void BEEP_Init(void),该函数的作用就是使能 PORTB 的时钟,同时配置 PB8 为推挽输出。 这里的初始化内容跟跑马灯实验几乎是一样的接下来,开始写main.c文件/蜂鸣器实验#include "stm32f10x.h"#include "delay.h"#include "led.h" #include "beep.h" int main(void) delay_init(); /延时函数初始化 LED_Init(); /初始化与LED连接的硬件接口BEEP_Init(); /初始化蜂鸣器端口while(1)GPIO_ResetBits(GPIOE,GPIO_Pin_5); GPIO_ResetBits(GPIOB,GPIO_Pin_8);delay_ms(500);/延时300msGPIO_SetBits(GPIOE,GPIO_Pin_5); GPIO_SetBits(GPIOB,GPIO_Pin_8);delay_ms(500);/延时300ms 实验现象:LED灯亮的同时蜂鸣器在叫,LED灯灭时蜂鸣器不叫。能否让两个LED灯和蜂鸣器配合使用?专心-专注-专业

    注意事项

    本文(嵌入式系统原理实验四蜂鸣器(共3页).doc)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开