输出占空比可变的PWM波形Word文档下载推荐.docx
- 文档编号:22030135
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:10
- 大小:846.24KB
输出占空比可变的PWM波形Word文档下载推荐.docx
《输出占空比可变的PWM波形Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《输出占空比可变的PWM波形Word文档下载推荐.docx(10页珍藏版)》请在冰豆网上搜索。
DSP28_Device.h"
*名称:
InitGpio()
初始化Gpio,使得Gpio的引脚处于已知的状态,例如确定其功能是特定功能
*还是通用I/O。
如果是通用I/O,是输入还是输出,等等。
*入口参数:
无
*出口参数:
****************************************************************************/
voidInitGpio(void)
{
EALLOW;
//将GPIO中和PWM相关的引脚设置为PWM功能
GpioMuxRegs.GPAMUX.bit.T1PWM_GPIOA6=1;
//设置T1PWM引脚
GpioMuxRegs.GPAMUX.bit.T2PWM_GPIOA7=1;
//设置T2PWM引脚
GpioMuxRegs.GPAMUX.bit.PWM1_GPIOA0=1;
//设置PWM1引脚
GpioMuxRegs.GPAMUX.bit.PWM2_GPIOA1=1;
//设置PWM2引脚
GpioMuxRegs.GPAMUX.bit.PWM3_GPIOA2=1;
//设置PWM3引脚
GpioMuxRegs.GPAMUX.bit.PWM4_GPIOA3=1;
//设置PWM4引脚
GpioMuxRegs.GPAMUX.bit.PWM5_GPIOA4=1;
//设置PWM5引脚
GpioMuxRegs.GPAMUX.bit.PWM6_GPIOA5=1;
//设置PWM6引脚
GpioMuxRegs.GPBMUX.bit.T3PWM_GPIOB6=1;
//设置T3PWM引脚
GpioMuxRegs.GPBMUX.bit.T4PWM_GPIOB7=1;
//设置T4PWM引脚
GpioMuxRegs.GPBMUX.bit.PWM7_GPIOB0=1;
//设置PWM7引脚
GpioMuxRegs.GPBMUX.bit.PWM8_GPIOB1=1;
//设置PWM8引脚
GpioMuxRegs.GPBMUX.bit.PWM9_GPIOB2=1;
//设置PWM9引脚
GpioMuxRegs.GPBMUX.bit.PWM10_GPIOB3=1;
//设置PWM10引脚
GpioMuxRegs.GPBMUX.bit.PWM11_GPIOB4=1;
//设置PWM11引脚
GpioMuxRegs.GPBMUX.bit.PWM12_GPIOB5=1;
//设置PWM12引脚
EDIS;
}
//===========================================================================
//Nomore.
外围设备初始化
DSP28_InitPeripherals.c
对所使用到的2812的外设进行初始化
InitPeripherals()
此函数对各个外设进行初始化,调用了各个外设的初始化函数。
此函数在DSP
*上电引导或者复位的时候执行
voidInitPeripherals(void)
#ifF2812
//初始化外部接口
//InitXintf();
#endif
//初始化Cpu定时器
//InitCpuTimers();
//初始化Mcbsp
//InitMcbsp();
//初始化事件管理器EV
InitEv();
//初始化模数转换AD模块
//InitAdc();
//初始化eCan
//InitECan();
//初始化Spi
//InitSpi();
//初始化Sci
//InitSci();
}
主程序
*
EvPwm01.c
EVA下面的T1PPWM、T2PWM、PWM1-6均输出频率为1KHz、占空比为40%的PWM波形。
*T1PWM、T2PWM、PWM1-6输出的是不对称的PWM波形。
EVB下面的T3PWM、T4PWM、
*PWM7-12均输出频率为1KHz,占空比为40%的PWM波形。
T3PWM、T4PWM、PWM7-12
*输出的是对称的PWM波形.
*说明:
EVA的通用定时器T1和T2运行在连续增计数模式,EVB的通用定时器T3和T4运行
*在连续增/减计数模式,各全比较单元输出的PWM波形具有死区,死区时间为
*4.27us。
DSP28_Globalprototypes.h"
main()
初始化系统和各个外设
voidmain(void)
InitSysCtrl();
//初始化系统函数
DINT;
IER=0x0000;
//禁止CPU中断
IFR=0x0000;
//清除CPU中断标志
InitPieCtrl();
//初始化PIE控制寄存器
InitPieVectTable();
//初始化PIE中断向量表
InitGpio();
//初始化Gpio口
//初始化EV
EvaRegs.T1CON.bit.TENABLE=1;
//使能定时器T1计数操作
EvaRegs.T2CON.bit.TENABLE=1;
//使能定时器T2计数操作
EvbRegs.T3CON.bit.TENABLE=1;
//使能定时器T3计数操作
EvbRegs.T4CON.bit.TENABLE=1;
//使能定时器T4计数操作
while
(1)
{
}
}
任务结果
示波器初始情况(图一)
以下图片演示示波器变化情况
结论
DSP这门课程需要硬件和软件两方面的能力,在硬件方面,需要对各类芯片管脚以及不同的器件的性质十分的熟悉,懂得器件之间如何搭配,使得电路效率最大化,价格最优化。
在软件方面,需要较强的思维逻辑性,对于一个设计要求,在程序设计时要有连贯性,能够巧妙的用较简洁的程序来解决问题,这个需要平时多加的训练以提高编程能力。
不管怎样硬件与软件都是十分重要的,只有两方面都重视,才能在DSP的学习上有所前进,为以后自己的工作学习带来便捷。
虽然课设时间说长不长说短不短,但是却是让人收获颇多的。
凭借着一股谦虚好学的劲头,问同学问老师,自己再回去钻研看书本,终于在编程上有多突破,自己也品尝到了些许成功的喜悦。
但是不能放松心态,因为真正的实验调试结果还没有出来,需要我们理论到实验的过程了。
但是自己定下心来,在多次失败之后逐渐掌握了编程的技巧,于是接下来很顺利的完成了实验。
总之不管怎么样,这次课程设计是对我们专业课程学习的一种检验,更是一种激励,它在一定程度上表明了光学书本上的知识是远远达不到真正掌握DSP的程度的,只有不断的自我学习,请教他人,吸取别人的优秀经验,自己敢于创新,才能在学习中立于不败之地。
参考文献
[1]手把手教你学DSP顾立刚编著北京航空航天大学出版社
[2]DSP原理及其运用邹彦主编电子工业出版社
[3]C语言程序设计谭浩强主编清华大学出版社
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 输出 可变 PWM 波形