帮看看我的脉宽调制程序!!!!
我的程序如下,但是输出的频率是400多Hz的。我试着按注释那里改了下程序,但是发现当a=128时,占空比远远大于1/2,如果不加那两句占空比就是1/2。
不懂为什么,高手帮看看。
#include <AT89x051.H>
unsigned int a=128,b,c=0,d=0;
void main(void)
{
while(1)
{
P3_0=1;
for(i=0;i <10;i++) //后来加上的,如果没有这两句能正常输出400多HZ的方波
for(b=d;b <256-a;b++);
P3_0=0;
for(i=0;i <10;i++) //后来加上的,如果没有这两句能正常输出400多HZ的方波
for(b=b;b <256-d;b++);
}
}
我需要的输出频率要在100Hz以下,不懂应该怎么办了。。。
发表时间:2006年6月29日3:46:19