关于STM32的PWM和DAC的基本尝试和练习

STM32的PWM初次尝试

PWM简介

PWM是 Pulse Width Modulation 的缩写,中文意思就是脉冲宽度调 制,简称脉宽调制。它是利用微处理器的数字输出来对模拟电路进行控 制的一种非常有效的技术,其控制简单、灵活和动态响应好等优点而成 为电力电子技术最广泛应用的控制方式,其应用领域包括测量,通信, 功率控制与变换,电动机控制、伺服控制、调光、开关电源,甚至某些 音频放大器,因此学习PWM具有十分重要的现实意义。 其实我们也可以这样理解,PWM是一种对模拟信号电平进行数字编码 的方法。通过高分辨率计数器的使用,方波的占空比被调制用来对一个 具体模拟信号的电平进行编码。PWM 信号仍然是数字的,因为在给定的 任何时刻,满幅值的直流供电要么完全有(ON),要么完全无(OFF)。电压 或电流源是以一种通(ON)或断(OFF)的重复脉冲序列被加到模拟负载上去 的。通的时候即是直流供电被加到负载上的时候,断的时候即是供电被 断开的时候。只要带宽足够,任何模拟值都可以使用 PWM 进行编码。
在这里插入图片描述
 STM32F1除了基本定时器TIM6和TIM7,其他定时器都可以产生PWM输出 。其中高级定时器 TIM1 和 TIM8 可以同时产生多达 7 路的 PWM 输出 。 PWM的输出其实就是对外输出脉宽可调(即占空比调节)的方波信号 ,信号频率是由自动重装寄存器 ARR 的值决定,占空比由比较寄存器 CCR 的值决定。
在这里插入图片描述
  PWM输出比较模式总共有8种,具体由寄存器 CCMRx 的位 OCxM[2:0] 配置。我们这里只讲解最常用的两种PWM输出模式:PWM1和PWM2
  PWM1和PWM2这两种模式用法差不多,区别之处就是输出电平的极性不同。

用STM32输出一路PWM波形

1、本次实验在keil5中用代码实现仿真,试验工程采用正点原子完整工程
2、波形具体产生方法
打开工程配置调试工具
在这里插入图片描述
在这里插入图片描述
2、打开调试
在这里插入图片描述
3、设置并检测GPIO的输出引脚
找到逻辑分析器(在调试面板下才有此选项)
在这里插入图片描述
在这里插入图片描述
4、运行并观察波形
在这里插入图片描述
5、主要代码部分

int main(void)
 {
    
    		
 	u16 led0pwmval=0;
	u8 dir=1;	
	delay_init();	    	 //延时函数初始化	  
	NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); 	 //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
	uart_init(115200);	 //串口初始化为115200
 	LED_Init();			     //LED端口初始化
 	TIM3_PWM_Init(899,0);	 //不分频。PWM频率=72000000/900=80Khz
   	while(1)
	{
    
    
 		delay_ms(10);	 
		if(dir)led0pwmval++;
		else led0pwmval--;

 		if(led0pwmval>300)dir=0;
		if(led0pwmval==0)dir=1;										 
		TIM_SetCompare2(TIM3,led0pwmval);		   
	}	 
 }

示波器观察输出波形

在这里插入图片描述

STM32的DAC基本练习

单音实现

这里用Adobe的Audition来直接生成正弦波来实现单音
在这里插入图片描述
设置如下
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这就是个呈现“滴…”的单音
框选好合适播放长度并保存为wav格式

DAC练习

1、将一段数字音频歌曲数据转换为模拟音频波形输出(循环)8khz,量化16bit,单通道,时长仅仅5~10秒。
2、打开自己喜欢的歌曲,选取合适长度并保存下来5~10s。
在这里插入图片描述
3、以以下设置保存为wav格式
在这里插入图片描述
在这里插入图片描述

观察输出

1、用UltraEdit打开这个wav文件
在这里插入图片描述
2、CTRL+A (全选)鼠标右键 选择 十六进制复制选定视图,新建文件,粘贴。
在这里插入图片描述
3、寻找我们需要的部分
找到最下面那个字节,鼠标右键 选择范围 输入起始的行号和列号,确定就选中了整个我们需要的内容,有复制粘贴建立新文件。
在这里插入图片描述
4、然后打开notepad++,复制所需部分,转换为0x形式
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
5、将结果复制到工程波形数据位置
在这里插入图片描述
在这里插入图片描述
6、编译后烧录程序,观察波形
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/rude_dragon/article/details/112132509