biaogreat 发表于 2010-8-2 18:26:38

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 气死我了?望高手指点。不胜感激。

sheva21 发表于 2010-8-3 17:28:30

PWM 输出不是有标准的PWM端口和程序么,说明书上有
页: [1]
查看完整版本: STC T0可变PWM问题,望指点,不胜感激