PWM实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验报告 课程名称: DSP 原理及其应用 指导老师: 胡长生 成绩:实验名称: 利用XMC4500芯片进行 PWM 波形调制 同组学生姓名: 包立诚
一、实验目的和要求(必填) 二、实验内容和原理(必填)
三、主要仪器设备(必填) 四、操作方法和实验步骤
五、实验数据记录和处理 六、实验结果与分析(必填)
七、讨论、心得
一、实验目的
1.熟悉DAVE3软件的操作
2.熟悉CCU4的使用
3.产生PWM 波形
二、实验器材
示波器、XMC4500实验板、计算机、导线若干
三、实验流程
四、实验步骤
1.创建工程,选择芯片
2.添加PWMSP001应用模块,并按如下设置属性
3.添加NVIC002中断模块,并按下设置属性
4.设置PWMSP001管脚
5.设置PWMSP001信号
6.点击生成代码
7.在main.c 中输入主程序
#include <XMC4500.h>
#include <DAVE3.h>
//Declarations from DAVE3 Code Generation (includes
SFR declaration)
int pwm_duty=0;
int a=0;
int main (void )
{
// status_t status;
// Declaration of return variable for DAVE3 APIs (toggle comment if required) DAVE_Init(); // Initialization of DAVE Apps 专业: 电子信息工程
姓名:_
学号:_
while(1)
{
}
return 0;
}
void PWM_ISR(void)
{
if(a<30)
a++;
else {
a = 0;
if(pwm_duty<100)
pwm_duty++;
else
pwm_duty=0;
}
PWMSP001_SetDutyCycle((PWMSP001_HandleType*)&PWMSP001_Handle0,pwm_duty);
}
8.点击建立工程
9.点击设置调试
10.开始调试,并用示波器记录波形
11. 将PWM_ISR函数中的a最大值由30改为60,比较波形变化
void PWM_ISR(void)
{
if(a<60)
a++;
else {
a = 0;
if(pwm_duty<100)
pwm_duty++;
else
pwm_duty=0;
}
PWMSP001_SetDutyCycle((PWMSP001_HandleType*)&PWMSP001_Handle0,pwm_duty);
}
五、实验结果及分析
1.实验波形如下
分析:我们可以观测到,方波的占空比在不断地变化
另外,我们发现在占空比变化的同时,波形上下还在跳动,经过分析我们认为这是示波器的接地与芯片的接待不同造成的。

2.我们将PWM_ISR函数中的a最大值由30改为60
我们观测到于上面相似的占空比不断变化的波形,但变化的周期变成了原来的两倍,变化减慢。

六、实验心得
本次实验的步骤并不复杂,但是实验的过程并不顺利。

第一次在寝室装好软件之后,到实验室进行调试,进行到DEBUG的时候,总是出现一条error:There is an error in the initiation of debug instrumen。

一开始以为是因为初始化参数设置的不对,但后来仔细检查了两边并且重做了一遍,发现并不是这的错误。

甚至我调试一个空的工程也会有这个错误,所以我判断问题不在工程,而在调试工具本身,也就是debug instrument,因此我将软件卸载,然后重新安装,修复了调试工具的错误,可以正常调试了。

调试成功之后,我们尝试调整一些参数观察波形的变化。

我们将a扩大为原来的两倍,也就是占空比变化的频率下降两倍,成功观察到理想波形。

相关文档
最新文档