標題: 四輪尋跡小車 PWM調(diào)速程序 [打印本頁]

作者: 紛紛為豐富    時間: 2017-10-28 22:11
標題: 四輪尋跡小車 PWM調(diào)速程序
#include <stc12c5a.H>
void PWM_init();
void ys (uint x);

sbit q1=P0^0;      
sbit q2=P0^1;

sbit z2=P2^0;
sbit z1=P2^1;                 
sbit y1=P2^2;                 
sbit y2=P2^3;
sbit zj=P2^4;

void qian()
{
q1=1;q2=1;
CCAP0H = 70;
}

void zuo()
{
q1=1;q2=0;
CCAP0H = 130;

}

void you()
{
q1=0;q2=1;
CCAP0H = 130;

}


void main ()
{
PWM_init();
  while(1)
  {
  qian();

  if(z1==1&&y1==0)
    {
     zuo();
     while(zj==0);
         qian();
    }

  if(z2==1&&y1==0)
    {
     zuo();
     while(zj==0);
         qian();
    }
  if(y1==1&&z1==0)
    {
     you();
     while(zj==0);
         qian();
    }
  if(y2==1&&z1==0)
    {
     you();
     while(zj==0);
         qian();
    }
  if(z1==1&&zj==1&&y1==1)
    {
     qian();
    }
  }
}

void ys (uint x)   
{
    uint a,b,c;
    for(c=x;c>0;c--)
        for(b=142;b>0;b--)
            for(a=2;a>0;a--);
}


void PWM_init()
{
        CCON=0X00;                //CF中斷標志位為0 CR運行控制位清零 CCF1 CCF2模塊中斷標志位為0
        CMOD=0x02;                //CIDL在空閑狀態(tài)下繼續(xù)工作  時鐘源選擇系統(tǒng)時鐘/2  ECF計數(shù)器中斷溢出使能位 0
        CCAPM0=0X42;                //模式選擇位0
        CCAPM1=0X42;            //模式選擇位1
        CL=CH=0;                //PWM內(nèi)的計數(shù)器高低位TH0 TL0
        CR=1;                        //運行控制位 打開PWM
}


作者: 萬文BB    時間: 2017-10-30 13:02
來看看,學習學習




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1