51单片机播放音乐(三):PWM播放任意波形

您所在的位置:网站首页 歌曲代码怎么生成 51单片机播放音乐(三):PWM播放任意波形

51单片机播放音乐(三):PWM播放任意波形

2024-07-15 04:49:12| 来源: 网络整理| 查看: 265

51单片机播放音乐(三):PWM播放任意波形 原理 PWM 仿真电路图 音频文件转成PWM代码 单片机代码 仿真输出波形

本文完整源码

原理 PWM

详细的参考这篇文章,这里简单说一下

脉冲宽度调制(PWM)的基本原理是冲量相等而形状不同的窄脉冲加在具有惯性的环节上时,其效果基本相同。冲量指窄脉冲的面积。效果基本相同,是指环节的输出响应波形基本相同,低频段非常接近,仅在高频段略有差异。这样,输出频率相同占空比不同的方波,接上惯性环节,就能实现DA转换了

PWM

从滤波的角度看,就是用一个低通滤波器把PWM波的交流部分过滤掉,只留下直流部分。这个滤波器的参数有几点要考虑:

不同占空比的方波频域第一个峰都是载波频率,所以要把滤波器的截止频率设置在0Hz到PWM载波频率之间 截止频率低会导致建立时间长,波形跟不上;截止频率高会导致纹波大,表现为听到的声音一直有高频噪声 增加滤波器阶数可以加快高频部分的衰减,这样建立时间和滤波性能都有改善,但是增加阶数会导致成本变高(仿真中不用考虑) 增加PWM载波频率可以改善性能,但是由于单片机速度限制载波频率很低(大约5000~8000Hz) 仿真电路图

电路图

单片机从P1.0口输出PWM波,经过6阶RC低通滤波器,隔直,放大20倍后接到扬声器。滤波器的幅频特性曲线如下图所示,3.89Hz已经达到-60dB,这样噪声放大后的幅度大约也就1%

幅频特性

音频文件转成PWM代码

这次要用2个定时器,定时器0负责输出高电平,频率等于PWM载波频率,定时器1负责输出低电平,它的定时时间等于本周期内高电平持续时间,根据占空比决定。因为单片机速度太慢,计算要尽量在电脑上完成,电脑上要计算好定时器1的初始计数。为了节省空间和使用8位自动重载定时器来提高精度,我限制了PWM频率不能太低,这样每个周期只需要1个字节编码

import wave import numpy as np # 晶振频率(Hz) CRYSTAL_FREQUENCY = 11059200 # 计数周期(s) COUNT_PERIOD = 1 / (CRYSTAL_FREQUENCY / 12) def wav_to_pwm(wav_path, output_path): with wave.open(wav_path, 'rb') as f: n_channels, sample_width, frame_rate, n_frames, _, _ = f.getparams() assert sample_width in (1, 2), '只支持8位或16位采样' frame_period =


【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭