• 嵌入式学习笔记(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元领取学习资源,让你的学习之路更加顺畅!记得点赞、关注、收藏、转发哦!

  • 相关阅读:
    Docker使用手册
    Webbench阅读
    vscode中讨厌的蓝色波浪线的去除小trick和原理
    Asp-Net-Core开发笔记:FrameworkDependent搭配docker部署
    在linux下预览markdown的方法,转换成html和pdf
    C语言——指针进阶(二)
    HTTP 到 HTTPS 再到 HSTS 的转变
    分享5款日常生活中会用到的小工具
    探索VR数字展厅,对企业未来展示新模式
    本地yum源-如学
  • 原文地址:https://blog.csdn.net/m0_70888041/article/details/133456973