⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pwm.c

📁 这个程序运行在CCstudio平台上
💻 C
字号:
/********************************************
本程序使用2407的pwm单元产生非对称的pwm波形,
用来测试所有的PWM输出。
*********************************************/
#include "register.h"
initial()
{
  asm(" setc INTM ");
  asm(" setc SXM ");
  asm(" clrc OVM ");
  asm(" clrc CNF ");
  *SCSR1=0X81FE;  //CLKIN=10M,CLKOUT=4*CLKIN=40M
  *WDCR=0X0E8;
  *IMR=0X0000;
  *IFR=0X0FFFF;
  WSGR=0X00;        //禁止所有等待状态
  
}

int initialpwm()
{

 *MCRA=*MCRA|0X0FFF;  //初始化IO口
 *MCRC=*MCRC|0X0FFF;  //初始化IO口
 *ACTRA=*ACTRA|0X0AAA;//PWM1-6位高有效
 *ACTRB=*ACTRB|0X0999;//PWM7-12位高有效
 *DBTCONA=0X0000;//不使能死区
 *DBTCONB=0X0000;
 *CMPR1=0X3E8;   //(1-d)*4000
 *CMPR2=0X3E8;   //(1-d)*4000
 *CMPR3=0X3E8;   //(1-d)*4000
 *CMPR4=0XFA0;   //(1-d)*4000
 *CMPR5=0X000;   //(1-d)*4000
 *CMPR6=0X3E8;   //(1-d)*4000
 *T1PER=0XFA0; //设置Timer1的周期值,4000/CLKOUT=0.1ms,
               //占空比d为3/4
 *T3PER=0XFA0;              
 *COMCONA=0x8200;
 *COMCONB=0x8200;
 *T1CON=0X1000;
 *T3CON=0X1000;
}

void interrupt nothing()
{
 return;
}

main()
{
   initial();
   initialpwm();
   *T1CON=*T1CON|0X0040;
   *T3CON=*T3CON|0X0040;
   while(1)
   {
     ;
   }
   
}















⌨️ 快捷键说明

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