• 大小: 32KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-13
  • 语言: 其他
  • 标签: DSP2407  PWM  扫频  

资源简介

由DSP2407产生PWM波形,并且PWM波的频率在一定范围内以一定的步距进行变化。

资源截图

代码片段和文件信息

#include “f2407rdef.h“

void inline disable()     //屏蔽中断
{
   asm(“ SETC INTM“);
}


void inline enable()      //使能中断
{
   asm(“ CLRC INTM“);
}


void interrupt nothing()  //其他中断返回子程序
{
   return;
}

  
///////////////////////////////
void  initial()
{
   asm(“ setc SXM“);                  //符号位扩展有效
   asm(“ clrc OVM“);                  //累加器中结果正常溢出
   asm(“ clrc CNF“);                  //B0被配置为数据存储空间
   
   *WDCR = 0x0E8;                     //不使能看门狗
   *SCSR1 = 0x81FE;                   //CLKIN=10MCLKOUT=4*CLKIN=40M
   *IFR = 0x0FFFF;                    //写1清全部中断标志
   WSGR =0x00;                        //禁止所有的等待状态
}


void  EVAinitial()
{
   int m;
   *ACTRA = 0x0006;                  //PWM2低有效;PWM1高有效
   *DBTCONA = 0x0FE8;                //使能死区0FE8-1.6;0FEC-3.2
   *T1PR = 0x0563;                   //计算=40M/f
   for(m=0;m<50;m++);
   *CMPR1 = *T1PR/2;
   *T1CNT = 0x0000;
   *COMCONA = 0x8200;                //使能比较操作
   *T1CON = 0x1000;                  //定时器1为连续增计数模式
}


void delay_50ms()
{
   int ij;
   for(j=0;j<=1500;j++)
   {
      for(i=0;i<=1000;i++);
   }
}


void change()
{
   int jm;
   for(j=0;j<525;j++)
   {
      *T1PR = *T1PR+0x0001;
      for(m=0;m<50;m++);
      *CMPR1 = *T1PR/2;
      delay_50ms();
   }
   
   for(j=0;j<525;j++)
   {
      *T1PR = *T1PR-0x0001;
      for(m=0;m<50;m++);
      *CMPR1 = *T1PR/2;      
      delay_50ms();
   }
}


//////////////**********************//////////////////
//         主程序
//////////////**********************//////////////////
void main()
{
   int m;
  
   disable();                //禁止总中断
   initial();                           //系统初始化
  
   *MCRA = 0x00C0;                      //端口配置为PWM功能口(亮灯)
   *PBDATDIR = 0x8000;
  
   EVAinitial();
   enable();                            //开总中断
  
   for(m=0;m<1000;m++);
   *T1CON |= 0x0040;
  
   while(1)
   {
  change();
   }
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

    I.A....       571  2009-06-18 14:42  change\cc_build_Debug.log

    I.A....      2764  2009-06-18 14:42  change\Debug\main.obj

    I.A....      4713  2009-06-18 14:42  change\Debug\pulsewidth.map

    I.A....      4200  2009-06-18 14:42  change\Debug\pulsewidth.out

    I.A....       696  2009-06-18 14:42  change\Debug\vectors.obj

    I.A....       262  2009-06-18 14:42  change\Debug.lkf

    I.A....       262  2009-06-18 14:42  change\Debug.lkv

    I.A....     18476  2007-10-26 09:37  change\f2407rdef.h

    I.A....      1699  2008-05-11 11:48  change\LF2407.CMD

    I.A....      2094  2009-06-18 14:41  change\main.c

    I.A....      1451  2009-06-18 14:46  change\pulsewidth.paf

    I.A....       772  2009-05-07 09:35  change\pulsewidth.pjt

    I.A....    101062  2002-01-30 21:54  change\RTS2XX.LIB

    I.A....       461  2009-05-07 10:09  change\VECTORS.ASM

    I..D...         0  2009-06-18 14:42  change\Debug

    I..D...         0  2009-06-18 14:42  change

----------- ---------  ---------- -----  ----

               139483                    16


评论

共有 条评论