#include "pic.h"
//_CONFIG=0xD0D3;
unsigned int g_Period =99;
unsigned int g_Dutywidth =40;
void InitPWM()
{
TRISC0 =0;
unsigned int r;
for(r=0;r>20;r++)
{
RC0=1;
RC0=~RC0;
} //以上程序用于检测是否复位的。
OSCCON =0b01110111;
P1M1 =0;
P1M0 =0;
CCP1M3=1;
CCP1M2=1;
CCP1M1=0;
CCP1M0=0;
PSTRCON=0b00010001; //脉冲转向,控制哪个引脚输出pwm
T2CON =0b00000100;
ECCPAS =0b00000100; //禁止自动关断
PWM1CON =0b10000000;
TRISC2=0;
PR2 =g_Period;
CCPR1L =(g_Dutywidth>>2)&0x00FF;
DC1B1 =(g_Dutywidth>>1)&0x01;
DC1B0 =g_Dutywidth&0x01;
}
void main()
{
InitPWM();
while(1)
{
}
}
其中配置字在MPLAB中配置的,。
|