DSP生成正弦波的程序.txt

上传人:wj 文档编号:1212732 上传时间:2023-04-30 格式:TXT 页数:5 大小:4.25KB
下载 相关 举报
DSP生成正弦波的程序.txt_第1页
第1页 / 共5页
DSP生成正弦波的程序.txt_第2页
第2页 / 共5页
DSP生成正弦波的程序.txt_第3页
第3页 / 共5页
DSP生成正弦波的程序.txt_第4页
第4页 / 共5页
DSP生成正弦波的程序.txt_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

DSP生成正弦波的程序.txt

《DSP生成正弦波的程序.txt》由会员分享,可在线阅读,更多相关《DSP生成正弦波的程序.txt(5页珍藏版)》请在冰点文库上搜索。

DSP生成正弦波的程序.txt

//�������ڱ仯�����Ҳ�

#include"DSP2833x_Device.h"//DSP2833xHeaderfileIncludeFile

#include"DSP2833x_Examples.h"//DSP2833xExamplesIncludeFile

#include"IQmathLib.h"

#include"qmath.h"

#include"math.h"

#defineN33

#definePI3.1415925

#definePRD600

floatM=0.8;

inti;

//doublea[N];

//unsignedintn=0;

//floatQ;

#definePWM1_INT_ENABLE1

#definePWM2_INT_ENABLE1

#definePWM3_INT_ENABLE1

voidInitEPwm1Example(void);

//voidInitEPwm2Example(void);

//voidInitEPwm3Example(void);

interruptvoidepwm1_timer_isr(void);

//interruptvoidepwm2_timer_isr(void);

//interruptvoidepwm3_timer_isr(void);

//voidInitCmp();

//externUint16NN,MM;

//Uint16NN=24,MM=1;

//Uint16n=0;

Uint16cmp1[360],cmp2[360],cmp3[360];

Uint32EPwm1TimerIntCount;

Uint32EPwm2TimerIntCount;

Uint32EPwm3TimerIntCount;

voidmain(void)

{

InitSysCtrl();

InitEPwm1Gpio();

//InitEPwm2Gpio();

//InitEPwm3Gpio();

DINT;

InitPieCtrl();

IER=0x0000;

IFR=0x0000;

InitPieVectTable();

EALLOW;//ThisisneededtowritetoEALLOWprotectedregisters

PieVectTable.EPWM1_INT=&epwm1_timer_isr;

//PieVectTable.EPWM2_INT=&epwm2_timer_isr;

//PieVectTable.EPWM3_INT=&epwm3_timer_isr;

EDIS;

EALLOW;

SysCtrlRegs.PCLKCR0.bit.TBCLKSYNC=0;//StopalltheTBclocks

EDIS;

InitEPwm1Example();

//InitEPwm2Example();

//InitEPwm3Example();

//InitCmp();

EALLOW;

SysCtrlRegs.PCLKCR0.bit.TBCLKSYNC=1;

EDIS;

EPwm1TimerIntCount=0;

EPwm2TimerIntCount=0;

EPwm3TimerIntCount=0;

IER|=M_INT3;

PieCtrlRegs.PIEIER3.bit.INTx1=PWM1_INT_ENABLE;

//PieCtrlRegs.PIEIER3.bit.INTx2=PWM2_INT_ENABLE;

//PieCtrlRegs.PIEIER3.bit.INTx3=PWM3_INT_ENABLE;

EINT;//EnableGlobalinterruptINTM

ERTM;

{

asm("NOP");

}

}

voidInitEPwm1Example()

{

EPwm1Regs.TBCTL.bit.SYNCOSEL=TB_CTR_ZERO;//zhuyi

EPwm1Regs.TBPRD=PRD;//�ز�����=2*1500TBCLK

EPwm1Regs.TBPHS.half.TBPHS=0x0000;//Phaseis0

EPwm1Regs.TBCTL.bit.PRDLD=TB_SHADOW;

EPwm1Regs.TBCTR=0x0000;

EPwm1Regs.TBCTL.bit.CTRMODE=TB_COUNT_UPDOWN;//Countupdown

EPwm1Regs.TBCTL.bit.PHSEN=TB_DISABLE;//Disablephaseloading

EPwm1Regs.TBCTL.bit.HSPCLKDIV=TB_DIV2;//ClockratiotoSYSCLKOUT

EPwm1Regs.TBCTL.bit.CLKDIV=TB_DIV2;

EPwm1Regs.CMPCTL.bit.SHDWAMODE=CC_SHADOW;//LoadregisterseveryZERO_PRD

EPwm1Regs.CMPCTL.bit.SHDWBMODE=CC_SHADOW;

EPwm1Regs.CMPCTL.bit.LOADAMODE=CC_CTR_ZERO;//����

EPwm1Regs.CMPCTL.bit.LOADBMODE=CC_CTR_ZERO;

//EPwm1Regs.CMPA.half.CMPA=1000;

EPwm1Regs.AQCTLA.bit.CAU=AQ_CLEAR;//ClearPWM1AonCAU

EPwm1Regs.AQCTLA.bit.CAD=AQ_SET;

EPwm1Regs.AQCTLB.bit.CAU=AQ_SET;//SETPWM1BonCAU�������������

EPwm1Regs.AQCTLB.bit.CAD=AQ_CLEAR;

//setdeadband

//�����ж�

EPwm1Regs.ETSEL.bit.INTSEL=ET_CTR_PRD;//?

SelectINTonZeroPrdevent

EPwm1Regs.ETSEL.bit.INTEN=PWM1_INT_ENABLE;//EnableINT

EPwm1Regs.ETPS.bit.INTPRD=ET_1ST;

}

/*

voidInitCmp()

{

//Uint16i=0;

if(i

{

cmp1[i]=(Uint16)(EPwm1Regs.TBPRD*0.25*(1+M*sin((2*i)*PI/N)+1+M*sin((2*i+1)*PI/N)));

// cmp2[i]=(Uint16)(EvaRegs.T1PR*0.25*(1+M*sin((2*i)*PI/N+PI*4/3)+1+M*sin((2*i+1)*PI/N+PI*4/3)));

// cmp3[i]=(Uint16)(EvaRegs.T1PR*0.25*(1+M*sin((2*i)*PI/N+PI*2/3)+1+M*sin((2*i+1)*PI/N+PI*2/3)));

i++;

}

else

{i=0;}

}*/

//�Ƚ�ֵ�ǰ����Ҳ��仯��

interruptvoidepwm1_timer_isr(void)

{

if(i

{

//cmp1[i]=(Uint16)(EPwm1Regs.TBPRD*sin((2*i)*PI/N)

cmp1[i]=(Uint16)(EPwm1Regs.TBPRD*0.25*(1+M*sin((2*i)*PI/N)+1+M*sin((2*i+1)*PI/N)));

// cmp2[i]=(Uint16)(EvaRegs.T1PR*0.25*(1+M*sin((2*i)*PI/N+PI*4/3)+1+M*sin((2*i+1)*PI/N+PI*4/3)));

// cmp3[i]=(Uint16)(EvaRegs.T1PR*0.25*(1+M*sin((2*i)*PI/N+PI*2/3)+1+M*sin((2*i+1)*PI/N+PI*2/3)));

EPwm1Regs.CMPA.half.CMPA=cmp1[i];

i++;

}

else

{i=0;}

EPwm1Regs.ETCLR.bit.INT=1;

PieCtrlRegs.PIEACK.all=PIEACK_GROUP3;

}

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2