单片机产生pwm脉冲波频率范围如何计算

2025-04-08 22:02:42
推荐回答(2个)
回答1:

不同的单片机是不同的,拿stc15系列单片机来说:pwm的频率=pca时钟输入频率/256
pca的时钟源有以下几种:sysclk,sysclk/2,sysclk/4,sysclk/6,sysclk/8,sysclk/12,定时器0的溢出,eci/p1.2输入,stc15系列单片机的工作频率0-35mhz,你可以计算出pwm的频率范围了吧?

回答2:

看了下你的控制周期的函数,pwm是周期还是占空比?
只需要一个定时器就可以了
void
timer0()
interrupt
1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
if(ZQ)//
周期
{
ZQ--;
if(ZKB)//占空比
{
ZKB--;
IO
=
1;//控制占空比的单片机输出口
}
else
IO
=
0;
}
else
{
ZQ=100;//如果你需要ZQ和ZKB可调可以定义一个变量a,b;ZQ=a;ZKB=b;
ZKB=30;//注意ZKB要小于ZQ
}
}