• 嵌入式学习笔记(39)蜂鸣器和PWM定时器编程实践


    7.4.1蜂鸣器的工作原理

    (1)蜂鸣器里边有2个金属片,离得很近但没挨着。没电的时候两个金属片在弹簧本身的张力作用下分开彼此平行,有电的时候两边分别充电,在异性电荷的吸力作用下两个片挨着。

    (2)我们只要以快速的频率给蜂鸣器的正负极供电、断电,进行这样的循环,蜂鸣器的两个弹簧片就会挨着分开挨着分开···形成敲击,发出声音。

    (3)人耳能听见的声音频率是有限的(20Hz~20000Hz),我们实验时一般给个2KHz的频率。

    (4)频率高低会影响声音的音频,一般音频越低声音听起来越低沉、音频越高听起来越尖锐。

    (5)据以上分析,只要用PWM波形的电压信号来驱动蜂鸣器,把PWM波形的周期T设置为要发出的声音信号的1/频率即可;PWM的占空比只要确保能驱动蜂鸣器即可(驱动能力问题,一般引脚驱动能力都不够,所以蜂鸣器会额外用三极管来放大来供电)。

    7.4.2原理图和硬件信息

    (1)查原理图知,开发板底板上的蜂鸣器通过GPD0_2(XpwmTOUT2)引脚链接在SoC上。

    (2)GPD0_2引脚通过限流电阻接在三极管基极上,引脚有电蜂鸣器就会有电(三极管导通);引脚没电蜂鸣器就会没电(三极管关闭)。我们软件只要控制GPD0_2引脚的电平产生PWM波形即可。

    (3)GPD0CON(0xE02000A0),要把bit8~bit11设置为0b0010(功能选择为TOUT_2,就是把这个引脚设置为PWM输出功能)。

    (4)从GPD0_2引脚可以反推出使用的是timer2这个PWM定时器。

    7.4.3 PWM定时器的主要寄存器

    TCFG0、TCFG1、CON、TCNTB2、TCMPB2、TCNTO2

    注:PWM定时器产生PWM波形是不需要中断干预的

    嵌入式物联网的学习之路非常漫长,不少人因为学习路线不对或者学习内容不够专业而错失高薪offer。不过别担心,我为大家整理了一份150多G的学习资源,基本上涵盖了嵌入式物联网学习的所有内容。在评论区输入“嵌入式”,即可0元领取学习资源,让你的学习之路更加顺畅!记得点赞、关注、收藏、转发哦!

  • 相关阅读:
    GPT与MBR:硬盘分区表格式的革新与区别
    Cell|易基因微量DNA甲基化测序助力中国科学家成功构建胚胎干细胞嵌合体猴,登上《细胞》封面
    vue 登陆页面
    【Redis学习笔记】第二章【2.4】Redis数据类型--set
    Java爬虫教程:从入门到精通
    Vue 使用vue-pdf 显示pdf文件 切换页面 缩放 全屏 自动播放等
    对象的动态建立和释放(new和delete)
    虹科 | 解决方案 | 机械免拆压力测试方案
    c++模板初阶
    Kubernetes---使用 Helm 安装部署 Dashboard 仪表盘
  • 原文地址:https://blog.csdn.net/m0_70888041/article/details/133456973