欢迎来到天天文库
浏览记录
ID:40665461
大小:19.50 KB
页数:4页
时间:2019-08-05
《16位DSPIC33产生两路互补的50KHZ的PWM波》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、/****************************************************************************文件名称:InitCPU.h**芯片系列:DSPIC33F**芯片型号:p33FJ256GP710**编译器版本:MPLABC30**编译器环境:MPLABIDE****创建人:laizhiping**创建日期:201100816**说明:程序产生两路互补的50KHZ的PWM波**************************************************************************/#i
2、nclude"p33FJ256GP710.h"#include"InitCPU.h"#defineucharunsignedchar#defineuintunsignedint//-----------------//系统时钟40MHz微秒级延时,固定误差8指令周期//入口参数USNums为延时微秒数,当入口参数为0时最大延时周期65536//--------------------------------------------------------------------voidDelayUS(unsignedintUSNums){unsignedchari;do{i=8;
3、while(--i);}while(--USNums);}//-----------------//系统时钟40MHz微秒级延时,每毫秒累加误差22指令周期//入口参数USNums为延时毫秒数,当入口参数为0时最大延时周期65536//------------------------------------------------------------------------voidDelayMS(unsignedintMSNums){do{DelayUS(1000);}while(--MSNums);}/*-----------------------------------
4、-------------------*函数名称:_T2Interrupt*入口参数:无*出口参数:无*说明:Timer2用作定时------------------------------------------------------*/void__attribute__((__interrupt__))_T2Interrupt(void){//IFS0bits.T2IF=0;}/*--------------------------------------------------------------------------------------*函数名称:PWM_in
5、it*功能描述:初始化输出比较PWM模块*入口参数:无*出口参数:无---------------------------------------------------------------------------------------*/voidPWM_init(void){//------Timer2控制寄存器配置----------------//空闲模式工作选择:继续工作//门控时间累加选择:禁能//输入时钟预分频选择:1:1//时钟源选择:内部时钟(FOSC/2)//------------------------------------------T2CON=0
6、x0000;//-----------配置PWM周期----------------------//PWM周期=[(PRy)+1]*TCY(TMRy预分频值)50K//--------------------------------------------PR2=0x031F;//------输出比较1控制寄存器配置-------------//空闲模式工作选择:继续工作//输出比较1时钟源选择:Timer2//输出比较1模式选择:不带故障PWM模式//-------------------------------------------OC1CON=0x0006;//初始化占空
7、比为%OC1R=0x0F0;OC1RS=0x0F0;//------Timer3控制寄存器配置----------------//空闲模式工作选择:继续工作//门控时间累加选择:禁能//输入时钟预分频选择:1:1//时钟源选择:内部时钟(FOSC/2)//------------------------------------------T3CON=0x0000;//-----------配置PWM周期----------------------//PWM周期=[(PRy)+1]
此文档下载收益归作者所有