#include<reg52.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
sbit pwm=P3^7;
uchar i;
void delayms(uint xms)
{
uint i,j;
for(i=xms;i>0;i--)
for(j=110;j>0;j--);
}
void Delay500us() //@11.0592MHz
{
unsigned char i;
_nop_();
i = 227;
while (--i);
}
void Delay2500us() //@11.0592MHz
{
unsigned char i, j;
i = 5;
j = 120;
do
{
while (--j);
} while (--i);
}
void Delay17ms() //@11.0592MHz
{
unsigned char i, j;
_nop_();
i = 31;
j = 119;
do
{
while (--j);
} while (--i);
}
void Delay19ms() //@11.0592MHz
{
unsigned char i, j;
i = 35;
j = 13;
do
{
while (--j);
} while (--i);
}
void duoji1()
{
pwm=1;
Delay500us();
pwm=0;
Delay19ms();
Delay500us();
}
void duoji2()
{
pwm=1;
Delay2500us();
pwm=0;
Delay17ms();
Delay500us();
}
void mian()
{
while(1)
{
for(i=0;i<10;i++)
{
duoji2();
}
delayms(1000);
for(i=0;i<10;i++)
{
duoji1();
}
}
}
我写了一个输出pwm控制舵机的程序,但是没有反应,只是给电的一瞬间动一下,各位帮忙看一下是哪里的问题啊
|