STM32的PWM和DAC练习

一、STM32输出一路PWM波形

1、PWM简介
PWM是 Pulse Width Modulation 的缩写,中文意思就是脉冲宽度调 制,简称脉宽调制。它是利用微处理器的数字输出来对模拟电路进行控 制的一种非常有效的技术,其控制简单、灵活和动态响应好等优点而成 为电力电子技术最广泛应用的控制方式,其应用领域包括测量,通信, 功率控制与变换,电动机控制、伺服控制、调光、开关电源,甚至某些 音频放大器,因此学习PWM具有十分重要的现实意义。 其实我们也可以这样理解,PWM是一种对模拟信号电平进行数字编码 的方法。通过高分辨率计数器的使用,方波的占空比被调制用来对一个 具体模拟信号的电平进行编码。PWM 信号仍然是数字的,因为在给定的 任何时刻,满幅值的直流供电要么完全有(ON),要么完全无(OFF)。电压 或电流源是以一种通(ON)或断(OFF)的重复脉冲序列被加到模拟负载上去 的。通的时候即是直流供电被加到负载上的时候,断的时候即是供电被 断开的时候。只要带宽足够,任何模拟值都可以使用 PWM 进行编码。
在这里插入图片描述
2、PWM波形输出
(1)代码获取
链接:https://pan.baidu.com/s/1UEalZF-639tNAj0JB1Pn7A
提取码:zvau
(2)解压文件,打开工程:1-书籍配套例程-F103VE指南者\32-TIM—通用定时器\2-TIM—通用定时器-4路PWM输出\Project\RVMDK(uv5)
在这里插入图片描述
(3)仿真设置
在这里插入图片描述
(4)输出引脚(GPIOA_IDR.6)
在这里插入图片描述
在这里插入图片描述

(5)输出波形
在这里插入图片描述

二、STM32实现DAC音频播放

(一)输出一个周期2khz的正弦波
1、DAC简介
数模转换器,又称D/A转换器,简称DAC,它是把数字量转变成模拟的器件。D/A转换器基本上由4个部分组成,即权电阻网络、运算放大器、基准电源和模拟开关。模数转换器中一般都要用到数模转换器,模数转换器即A/D转换器,简称ADC,它是把连续的模拟信号转变为离散的数字信号的器件。
2、DAC正弦波形工程获取
上述野火指南者配套38-DAC输出正弦波
在这里插入图片描述
3、打开文件夹里面的正弦波制作脚本,把如图脚本用matlab打开
在这里插入图片描述
4、打开之后,对其做如下修改
(根据公式要输出2khz正弦波,把point改为1800)
在这里插入图片描述
在这里插入图片描述
5、查看波形
在这里插入图片描述
6、把生成的dac_sinWave.c文件打开
在这里插入图片描述
再把数组复制粘贴到如下位置
在这里插入图片描述
7、上述方法是通过增加周期点数来改变频率,比较麻烦,其实还可以直接改变定时周期
在这里插入图片描述
根据是如下公式:
在这里插入图片描述
8、程序烧录进stm32芯片,把PA4引脚接示波器,另一端接地,可在示波器1看到如下波形
在这里插入图片描述
连接蜂鸣器可以听见微弱的声音!

(二)将一段数字音频歌曲数据转换为模拟音频波形输出
1、使用的音频剪辑软件Adobe Audition CS6
2、打开一首音乐
截取5~10秒,设置参数,保存.wav文件
在这里插入图片描述
3、用另外一个软件(UltraEdit)打开截取的.wav文件
在这里插入图片描述
4、全选,鼠标右键选择十六进制复制选定视图,再心建一个一个文件,粘贴上去
在这里插入图片描述
5、鼠标右键选择范围,复制粘贴到一个txt文件中
在这里插入图片描述

注意
行号从1-2000左右,太大了数组装不下
列从12开始

在这里插入图片描述
6、用notepad++打开这个.txt文件(添加0x格式)
在这里插入图片描述
在这里插入图片描述
7、改完后
在这里插入图片描述
8、全部复制粘贴到工程正弦波数组里去
在这里插入图片描述

注意:修改前面的点数,我是:
【(59-12)+1】x1500=72000

9、连接示波器输出波形
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

等风来1249

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值