找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3691|回复: 0
收起左侧

DSP28x两电平SPWM源码

[复制链接]
ID:247388 发表于 2018-3-16 15:09 | 显示全部楼层 |阅读模式
DSP28x芯片两电平SPWM
0.png

dsp源程序如下:
  1. #include "DSP28_Device.h"
  2. #include "DSP28_Globalprototypes.h"
  3. #include "math.h"

  4. #define pi 3.141592653
  5. #define N 480  //正弦采样点个数
  6. #define m 0.8  //调制比
  7. float sina[N];
  8. /*
  9. float sina[120]={0.000000,    0.026177,    0.052336,    0.078459,    0.104528,
  10.                  0.130526,    0.156434,    0.182236,    0.207912,    0.233445,
  11.                  0.258819,    0.284015,    0.309017,    0.333807,    0.358368,
  12.                  0.382683,    0.406737,    0.430511,    0.453990,    0.477159,
  13.                  0.500000,    0.522499,    0.544639,    0.566406,    0.587785,
  14.                  0.608761,    0.629320,    0.649448,    0.669131,    0.688355,
  15.                  0.707107,    0.725374,    0.743145,    0.760406,    0.777146,
  16.                  0.793353,    0.809017,    0.824126,    0.838671,    0.852640,
  17.                  0.866025,    0.878817,    0.891007,    0.902585,    0.913545,
  18.                  0.923880,    0.933580,    0.942641,    0.951057,    0.958820,
  19.                  0.965926,    0.972370,    0.978148,    0.983255,    0.987688,
  20.                  0.991445,    0.994522,    0.996917,    0.998630,    0.999657,
  21.                  1.000000,    0.999657,    0.998630,    0.996917,    0.994522,
  22.                  0.991445,    0.987688,    0.983255,    0.978148,    0.972370,
  23.                  0.965926,    0.958820,    0.951057,    0.942641,    0.933580,
  24.                  0.923880,    0.913545,    0.902585,    0.891007,    0.878817,
  25.                  0.866025,    0.852640,    0.838671,    0.824126,    0.809017,
  26.                  0.793353,    0.777146,    0.760406,    0.743145,    0.725374,
  27.                  0.707107,    0.688355,    0.669131,    0.649448,    0.629320,
  28.                  0.608761,    0.587785,    0.566406,    0.544639,    0.522499,
  29.                  0.500000,    0.477159,    0.453990,    0.430511,    0.406737,
  30.                  0.382683,    0.358368,    0.333807,    0.309017,    0.284015,
  31.                  0.258819,    0.233445,    0.207912,    0.182236,    0.156434,
  32.                  0.130526,    0.104528,    0.078459,    0.052336,    0.026177};//定义正弦函数
  33. */
  34. int16 i = 0;

  35. void main ()
  36. {
  37.        
  38.         InitSysCtrl();

  39.         DINT;
  40.         IER = 0x0000;
  41.         IFR = 0x0000;
  42.        
  43.         InitPieCtrl();
  44.         InitPieVectTable();
  45.         InitGpio();
  46.         InitEv();   //开外设定时器中断

  47.         PieCtrl.PIEIER2.bit.INTx4 = 1;//开PIE定时器中断
  48.         IER = 0x0002;//开CPU中断

  49.         EINT;//开全局中断
  50.         ERTM;//开实时中断
  51.        
  52.         EvaRegs.T1CON.bit.TENABLE = 1;//使能T1定时器

  53.         while(1)
  54.         {
  55.                
  56.         }
  57. }


  58. ///////////////////////EVA定时器中断//////////////////////
  59. interrupt void T1PINT_ISR(void)    // EV-A
  60. {
  61.         if((i>=0)&&(i<=N))
  62.         {
  63.                 sina[i] = sin(i * 2 * pi/N);
  64.                 EvaRegs.CMPR1 = EvaRegs.T1PR * m * sina[i];
  65.         }//比较寄存器的值更新

  66.         i++;

  67.         if(i > N)
  68.         {
  69.                 i = 0;
  70.         }
  71.         PieCtrl.PIEACK.all = PIEACK_GROUP2;//响应同组其余中断
  72.         EvaRegs.EVAIFRA.bit.T1PINT = 1;//清中断标志位
  73. }
复制代码

所有资料51hei提供下载:
SPWM.zip (610.67 KB, 下载次数: 48)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表