版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、#include DSP28x_Project.h#include IQmathLib.h/#include math.h#define PWM1_INT_ENABLE 1#define PWM2_INT_ENABLE 1#define PWM3_INT_ENABLE 1#define PWM4_INT_ENABLE 1void InitEPwm1Example(void);void InitEPwm2Example(void);void InitEPwm3Example(void);interrupt void epwm1_timer_isr(void);/interrupt void ep
2、wm2_timer_isr(void);/interrupt void epwm3_timer_isr(void);Uint32 EPwm1TimerIntCount;Uint32 EPwm2TimerIntCount;Uint32 EPwm3TimerIntCount;Uint32 EPwm4TimerIntCount;Uint32 TonC1,TonC2;Uint16 k;float32 Tc,N;#define PI 3.float32 M=0.8;float32 fz=20000;float32 fr=50;void main(void) InitSysCtrl(); InitEPwm
3、1Gpio(); / InitEPwm2Gpio(); / InitEPwm3Gpio(); DINT; InitPieCtrl(); IER = 0x0000; IFR = 0x0000; InitPieVectTable(); EALLOW; / This is needed to write to EALLOW protected registers PieVectTable.EPWM1_INT = &epwm1_timer_isr; / PieVectTable.EPWM2_INT = &epwm2_timer_isr; / PieVectTable.EPWM3_INT = &epwm
4、3_timer_isr; EDIS; EALLOW; SysCtrlRegs.PCLKCR0.bit.TBCLKSYNC = 0; / Stop all the TB clocks EDIS; InitEPwm1Example(); / InitEPwm2Example(); / InitEPwm3Example(); EALLOW; SysCtrlRegs.PCLKCR0.bit.TBCLKSYNC = 1; EDIS; EPwm1TimerIntCount = 0; EPwm2TimerIntCount = 0; EPwm3TimerIntCount = 0; IER |= M_INT3;
5、 PieCtrlRegs.PIEIER3.bit.INTx1 = PWM1_INT_ENABLE; / PieCtrlRegs.PIEIER3.bit.INTx2 = PWM2_INT_ENABLE; / PieCtrlRegs.PIEIER3.bit.INTx3 = PWM3_INT_ENABLE; EINT; / Enable Global interrupt INTM ERTM; for(;) asm( NOP); void InitEPwm1Example() EPwm1Regs.TBCTL.bit.SYNCOSEL = TB_CTR_ZERO;/zhuyi EPwm1Regs.TBP
6、RD = 1500; /载波周期=2*1500TBCLK EPwm1Regs.TBPHS.half.TBPHS = 0x0000; / Phase is 0 EPwm1Regs.TBCTL.bit.PRDLD = TB_SHADOW; EPwm1Regs.TBCTR = 0x0000; EPwm1Regs.TBCTL.bit.CTRMODE = TB_COUNT_UPDOWN; / Count up down EPwm1Regs.TBCTL.bit.PHSEN = TB_DISABLE; / Disable phase loading EPwm1Regs.TBCTL.bit.HSPCLKDIV
7、 = TB_DIV1; / Clock ratio to SYSCLKOUT EPwm1Regs.TBCTL.bit.CLKDIV = TB_DIV1; EPwm1Regs.CMPCTL.bit.SHDWAMODE = CC_SHADOW; / Load registers every ZERO_PRD EPwm1Regs.CMPCTL.bit.SHDWBMODE = CC_SHADOW; EPwm1Regs.CMPCTL.bit.LOADAMODE = CC_CTR_ZERO_PRD; EPwm1Regs.CMPCTL.bit.LOADBMODE = CC_CTR_ZERO_PRD; EPw
8、m1Regs.CMPA.half.CMPA =1000; EPwm1Regs.AQCTLA.bit.CAU = AQ_CLEAR; / Clear PWM1A on CAU EPwm1Regs.AQCTLA.bit.CAD = AQ_SET; EPwm1Regs.AQCTLB.bit.CAU = AQ_SET; / SET PWM1B on CAU EPwm1Regs.AQCTLB.bit.CAD = AQ_CLEAR; /set dead band EPwm1Regs.ETSEL.bit.INTSEL = ET_CTR_PRDZERO; /? Select INT on Zero Prd e
9、vent EPwm1Regs.ETSEL.bit.INTEN = PWM1_INT_ENABLE; / Enable INT EPwm1Regs.ETPS.bit.INTPRD = ET_1ST;interrupt void epwm1_timer_isr(void) EPwm1TimerIntCount+; if( EPwm1Regs.TBCTR=1500) k=0; N=fz/fr; Tc=1/fz; TonC1=Tc/4*(1+M*sin(k*PI/N); k+=2; if(k(2*N-2) k=0; EPwm1Regs.CMPA.half.CMPA = TonC1; / EPwm1Re
10、gs.AQCTLA.bit.CAU = AQ_CLEAR; / Clear PWM1A on CAU / EPwm1Regs.AQCTLA.bit.CAD = AQ_SET; / EPwm1Regs.AQCTLB.bit.CAU = AQ_SET; / SET PWM1B on CAU / EPwm1Regs.AQCTLB.bit.CAD = AQ_CLEAR; else k=1; N=fz/fr; Tc=1/fz; TonC2=Tc/4*(1+M*sin(k*PI/N); k+=2; if(k(2*N-1) k=1; EPwm1Regs.CMPA.half.CMPA = TonC2;/ EP
11、wm1Regs.AQCTLA.bit.CAU = AQ_CLEAR; / Clear PWM1A on CAU/ EPwm1Regs.AQCTLA.bit.CAD = AQ_SET; / EPwm1Regs.AQCTLB.bit.CAU = AQ_SET; / SET PWM1B on CAU / EPwm1Regs.AQCTLB.bit.CAD = AQ_CLEAR; / Clear INT flag for this timer EPwm1Regs.ETCLR.bit.INT = 1; / Acknowledge this interrupt to receive more interru
12、pts from group 3 PieCtrlRegs.PIEACK.all = PIEACK_GROUP3;#include DSP280x_Device.h / DSP280x Headerfile Include File#include DSP280x_Examples.h / DSP280x Examples Include Filevoid InitePWM(void) EALLOW;EPwm1Regs.TBPRD = 600; / Period = 601 TBCLK countsEPwm1Regs.CMPA = 350; / Compare A = 350 TBCLK cou
13、ntsEPwm1Regs.CMPB = 200; / Compare B = 200 TBCLK countsEPwm1Regs.TBPHS = 0; / Set Phase register to zeroEPwm1Regs.TBCTR = 0; / clear TB counterEPwm1Regs.TBCTL.bit.CTRMODE = TB_COUNT_UP;EPwm1Regs.TBCTL.bit.PHSEN = TB_DISABLE; / Phase loading disabledEPwm1Regs.TBCTL.bit.PRDLD = TB_SHADOW;EPwm1Regs.TBC
14、TL.bit.SYNCOSEL = TB_SYNC_DISABLE;EPwm1Regs.TBCTL.bit.HSPCLKDIV = TB_DIV1; / TBCLK = SYSCLKEPwm1Regs.TBCTL.bit.CLKDIV = TB_DIV1;EPwm1Regs.CMPCTL.bit.SHDWAMODE = CC_SHADOW;EPwm1Regs.CMPCTL.bit.SHDWBMODE = CC_SHADOW;EPwm1Regs.CMPCTL.bit.LOADAMODE = CC_CTR_ZERO; / load on CTR = ZeroEPwm1Regs.CMPCTL.bit
15、.LOADBMODE = CC_CTR_ZERO; / load on CTR = ZeroEPwm1Regs.AQCTLA.bit.PRD = AQ_CLEAR;EPwm1Regs.AQCTLA.bit.CAU = AQ_SET;EPwm1Regs.AQCTLB.bit.PRD = AQ_CLEAR;EPwm1Regs.AQCTLB.bit.CBU = AQ_SET;EPwm1Regs.DBCTL.bit.OUT_MODE = DB_DISABLE;EPwm1Regs.PCCTL.bit.CHPEN = CHP_DISABLE;EPwm1Regs.TZCTL.bit.TZA = TZ_NO_
16、CHANGE;EPwm1Regs.TZCTL.bit.TZB = TZ_NO_CHANGE;EDIS;1. #includeDSP28_Device.h 2. #includestdio.h 3. #includemath.h 4. #includefloat.h 5. #defineNX404 6. #definePI3. 7. floatM=0.8;8. intk0,h1,h2;9. doubleaNX;10. externinttp=1250;11. 12. voidzkb();13. interruptvoideva_T1UFINT_ISR(void);14. 15. voidmain
17、(void)16. 17. k0=0;18. h1=0;19. h2=0;20. InitSysCtrl();21. DINT;/禁止全局中断 22. IER=0;23. IFR=0;24. EALLOW;25. /EnablePWMpins 26. GpioMuxRegs.GPAMUX.all=0x00FF;/EVAPWM1-6pins 27. /GpioMuxRegs.GPBMUX.all=0x00FF;/EVBPWM7-12pins 28. EDIS;29. InitPieCtrl();30. InitPieVectTable();31. EALLOW;32. PieVectTable.
18、T1UFINT=&eva_T1UFINT_ISR;33. EDIS;34. IER|=M_INT2;35. PieCtrl.PIEIER2.bit.INTx6=1;36. InitEv();37. zkb();38. EvaRegs.T1CON.all=EvaRegs.T1CON.all|0x0040;/启动定时器1 39. EINT;40. while(1)41. 42. asm(NOP);43. 44. 45. voidzkb()46. 47. unsignedintn=0;48. floatq,l,j;49. while(n=375&l3375)62. an=3375;63. else64. an=375;65. 66. 67. n=n+1;68. */69. i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 河北省永清一中2023-2024学年高考仿真卷英语试卷含解析
- 江西省恒立中学2024年高三六校第一次联考英语试卷含解析
- 江西上饶重点中学2024年高考仿真模拟英语试卷含解析
- 6.17 君主立宪制的英国 教学设计 2023-2024学年统编版九年级历史上册
- 新视野大学英语第四册-unit8B-A-turning-point-of-my-life
- 装修合同解除协议模板
- 统编六年级语文1~4单元期中测试卷
- 皮肤科住院医师:血液科题库考点五
- 浅谈后进生转化工作
- 年度电力保护设备竞争策略分析报告
- 六年级英语老师家长会发言稿
- 小学数学英文测试题
- 超声诊断学:卵巢疾病
- 12千伏户外柱上断路器标准化设计方案(2020版)V1.2-20210126
- 2022年福建省中考英语试题及参考答案
- 呼吸防护标准( 自吸过滤式防毒面具)
- 《食品工艺学》第一篇肉制品加工技术和应用
- 公路水运工程施工安全标准化指南(251页)
- T∕CISA 044-2020 钢铁企业绿色高质量发展指数
- 东莞刻蚀设备项目可行性研究报告(范文)
评论
0/150
提交评论