STC T0可变PWM问题,望指点,不胜感激
void pwm_init(){
AUXR|= 0x80; // 设置为1T模式
TMOD|=0X02;//自动重装模式
TH0= 0xfd; // 定时器赋初值
TL0= 0xfd;
TR0= 1; // 开启定时器0
CF=0;//清中断溢出标志位
CCF0=0;//清PWM中断标志位
CMOD|= 0x05;//T0溢出 并置位ECF开启PCA计数器阵列溢出标志
CL = 0x00; // PCA初值
CH = 0x00;
CCAP0L = 0xc0; // 设置比较值控制脉宽
CCAP0H = 0xc0; // CCAPnL 与 CCAPnH 值应相同
CR = 1;
//CCAPM0= 0x43; // 模块工作模式设置为PWM输出,ECCF0=1
CCAPM0= 0x4F;
//ECCF0 = 1; // 允许PCA中断及低压检测中断此位不打开将无法产生PCA中断
EA=1;//打开总中断
CR = 1;
}
void ccp_service() interrupt 7
{
static uchar Phase0 = 0, // 相位控制 0度
//Phase120 =85, // 相位控制 120度
//Phase240 = 170; // 相位控制 240度
EA=0x00;//关总中断
CR=0;
if(CF) //CF=1;益处中断
CF=0; //清除中断标志
if(CCF0)
{
CCF0=0;
CCAP0H = 128;
CCAP0L=128;
}
CR=1;
EA=1;
}
怎么产生不了PWM 气死我了?望高手指点。不胜感激。 PWM 输出不是有标准的PWM端口和程序么,说明书上有
页:
[1]