单片机舵机程序问题,不大理解

51单片机舵机使用的程序,其中为什么设置time设上限175,为什么要让angle=13,和5,这些数字是怎么来的
unsigned int Time=0;
unsigned char Angle=5;

void main()
{
TMOD=0x02;
TH0=0x9c;
TL0=0x9c;
TR0=1;
ET0=1;
EA=1;

while(1){
    if(ren==0||ren2==0)
    {Angle=13;
    led=0;}
    else
    {
        Angle=5;
        }

}
void T_0() interrupt 1
{
TH0=0x9c;
TL0=0x9c;
if(Time<Angle)
{
dj=1;
}
else

{
    dj=0;
}
Time++;
if(Time==175)
{
    Time=0;
}

}

这就是一个软件PWM。
175决定了PWM的周期,是175个Timer0中断周期的长度,这个值要根据舵机的参数决定。Angle参数决定了在一个周期中,多少个周期输出1,1占比越高,角度越大,这个值也需要根据舵机的参数来确定。
你用的这种舵机就是PWM驱动的,占空比越高,角度越大。

任何机械设备必须有运动范围,所有范围都有最大值,最小值,因此会有很多上限值,下限值一般为0

https://blog.csdn.net/m0_51972555/article/details/120789303

循环或者条件判断一般需要一个边界的。。。