void main (void)
{
init_sys();
ZKB1=40; /*占空比初始值設定*/
ZKB2=70; /*占空比初始值設定*/
while(1)
{
if (distance<10&distance>100) //如果距離<10或者大于100,占空比為0
{
Delay5Ms();
if (distance<10&distance>100)
{
ZKB1=0;
ZKB2=100;
}
}
if (20<distance<30) //如果20<距離<30,占空比不變
{
Delay5Ms();
if (20<distance<30)
{
ZKB1=ZKB1;
ZKB2=100-ZKB1;
}
}
if (30<distance<100) //如果30<距離<100,增加占空比
{
Delay5Ms();
if (30<distance<100)
{
ZKB1++;
ZKB2=100-ZKB1;
}
}
if (10<distance<20) //如果10<距離<20,減少占空比
{
Delay5Ms();
if (10<distance<20)
{
ZKB1--;
ZKB2=100-ZKB1;
}
}
/*對占空比值限定范圍*/
if (ZKB1>99) ZKB1=1;
if (ZKB1<1) ZKB1=99;