微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > stc12c5a60s2的pwm问题,求指点

stc12c5a60s2的pwm问题,求指点

时间:10-02 整理:3721RD 点击:
#include<STC12C5A.h>
void PWM_init(void)
{
        CMOD=0x02;//pca模式设置,设置pwm频率
        CL=0x00;
        CH=0x00;
        CCAPM0=0x42;//设置pca工作方式位pwm模式(0100 0010)
        CCAP0L=0x00;//pwm0初始值为0
        CCAP0H=0x00;
        CR=1;//启动定时器
        //也可以增加设置pwm1,pwm2...
}
/*******************************pwm占空比设置*************************************************/
void PWM_set(unsigned char a)//参数0x00~0xff,也可以用0~256
{
        CCAP0L=a;//设置值写入CCAP0L
        CCAP0H=a;//设置值写入CCAP0H
}
void main()
{
        PWM_init();
        PWM_set(0xff);
}
我程序这样写,理论上p1.3电压应该为0,可是为什么我测量电压为4.76V,而且我发现,当我CCAP0L为e3时,输出的电压为最小,1.03V,之前0x00为5.12V,随着CCAP0L增大电压减小,之后随着CCAP0L增大,电压又反而上升了,这是怎么回事?

要测也是测输出的PWM波型吧,直接测电压肯定不准啊,因为他有一定的频率,直流测不出来的。

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

网站地图

Top