pwm.c

来自「DSP2407控制程序」· C语言 代码 · 共 56 行

C
56
字号

#include "LF2407REGS.h"



void initsys(){
  asm(" setc SXM ");
  asm(" clrc OVM ");
  asm(" clrc CNF ");

  *SCSR1=0x83fe;  
  *WDCR =0x0e8;
  *IMR  =0x000f;
  *IFR  =0xffff;
  *WSGR =0x00;

}  

void inline disable(){
asm(" setc INTM ");
}

void inline enable(){
asm(" clrc INTM ");
}

void PWMinit(){
*MCRC=*MCRC|0x007e;                 //IOPE1~IOPE6配置为基本功能方式
*ACTRB=0x0666;                      //PWM12,10,8低有效,PWM11,9,7高有效
*DBTCONB=0;                         //不使能死区控制
*CMPR4 = 0x1000; 
*CMPR5 = 0x2000;
*CMPR6 = 0x3000;
*T3PER = 0x6000;                     //设置定时器3的周期寄存器,并设置CMPR4~CMPR6,以确定不同的输出占空比
*COMCONB=0x8200;                     //使能比较操作
*T3CON = 0x1000;                     // 定时器3为连续增计数模式

} 

void interrupt nothing()
{
 return;
}

void main()
{ 
 disable();                            //总中断禁止
    
 initsys();                            //系统初始化
 PWMinit();                            //pwm初始化
 
 *T3CON=*T3CON|0x40;                    //启动定时器3
 while(1);

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?