微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 初次用stc12c5a60s2写的pwm程序,用万用表测1.3,1.4但没结果

初次用stc12c5a60s2写的pwm程序,用万用表测1.3,1.4但没结果

时间:10-02 整理:3721RD 点击:
下面是我写的程序,有哪位高手用过stc12c5a60s2写PWM波的,帮看一下,小弟十分感谢!

#include "STC12C5A.h"
void PWM_Init()
{
        CMOD=0X04;                           //初始化工作模式寄存器
        CCON=0X00;                           //所有标志位清零
        CL=0;CH=0;                           //给PCA的16位计数器赋初值

        CCAP0H=CCAP0L=0x80; //给占空比100%
        CCAPM0=0X42;                //工作在PWM波模式,且无PCA中断
        PCA_PWM0=0X00;                //最高位给00
       
           CCAP1H=CCAP1L=0x80;        //给PWM1占空比50%
        CCAPM1=0X42;                //工作模式设定
        PCA_PWM1=0x00;
        CR=1;                                //启动
}

void main()
{
   PWM_Init();
   while(1);
}

刚刚看文献和实验后把问题解决;原来  CMOD=0X04;   是设置为定时器T0溢出的模式,我没有设置定时器,所以用万用表测不出来;  CMOD=0X08 才是系统时钟不分频模式,   另外 CCAP0H=CCAP0L=0x80; //给占空比应是50%的 CCAP0H=CCAP0L=0x00; 才是100%

呵呵,问题和答案俱全,不错

不过在占空比为100%时,输出的电压很低啊,大概有0.01v。怎么解释呢?小编。先谢谢了

不错。

能把STC12C5A.h的文件发我邮箱里吗  谢谢
574800449@qq.com

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top