芯片解密|单片机解密|IC解密|芯片破解|芯片复制| PCB抄板|软件开发

飞芯科技-芯片解密|单片机解密|IC解密|芯片破解|芯片复制| PCB抄板|软件开发

单片机解密单片机PID循迹小车代码

  1. 单片机解密#include"PID.h"
  2. 单片机解密#include"Trace.h"

  3. extern  int flag;
  4. int    RK=6;   //固定基准,不能变得               


  5. int    KP=4;     //比例调节参数
  6. int    out;      //最后输出结果
  7. //int   out0=40; //初始偏移分量
  8. int    Td=7;     //微分时间常数
  9. int    Ti=1;     //积分时间常数
  10. int    T =1;     //采样周期
  11. int    Sk;       //积分,微分
  12. int    Dk;

  13. int  Ek[]={0,0,0,0,0};

  14. /*================================================================
  15. 将flag的值与RK=5相减,当右边的红外对管检测到黑线时
  16. ,即flag为7  8  9  10 11  12时小车发生了左偏,增加左轮转速,减小右轮

  17. 将flag的值与RK=5相减,当左边的红外对管检测到黑线时
  18. ,即flag为5  4  3  2  1   0 时小车发生了右偏,增加右轮转速,减小左轮
  19. //================================================================*/

  20. void  PID (int flag)
  21. {
  22.           Ek[4]=Ek[3];
  23.           Ek[3]=Ek[2];
  24.           Ek[2]=Ek[1];
  25.           Ek[1]=Ek[0];
  26.           Ek[0]=RK-flag;

  27. //Sk = (T/Ti)*(Ek[0]+Ek[1]+Ek[2]+Ek[3]+Ek[4]);
  28.      Dk = (Td/T)*(Ek[0]-Ek[1]);
  29.            out = KP*Ek[0]+Sk+Dk;
  30.            turn(25+out,25-out);
  31.        
  32.        

  33.                
  34. }
  35.        
复制代码



extern  int flag;
int    RK=6;   

int    KP=4;  
int    out;   
//int   out0=40;
int    Td=7;   
int    Ti=1;  
int    T =1;  
int    Sk;      
int    Dk;

int  Ek[]={0,0,0,0,0};


void  PID (int flag)
{
          Ek[4]=Ek[3];
          Ek[3]=Ek[2];
          Ek[2]=Ek[1];
          Ek[1]=Ek[0];
          Ek[0]=RK-flag;

//Sk = (T/Ti)*(Ek[0]+Ek[1]+Ek[2]+Ek[3]+Ek[4]);
     Dk = (Td/T)*(Ek[0]-Ek[1]);
           out = KP*Ek[0]+Sk+Dk;
           turn(25+out,25-out);
        }




void xunji (void)
{
if(count ==200)//采样周期
{
           if(input==0x77)//0111 0 111
        flag=6;

      else if(input==0x7b)//0111 0 01
        flag=7;
                  else if(input==0x7b)//0111 1 011
        flag=8;
                        else if(input==0x75)//0111 1 001
        flag=9;
      else if(input==0x7d)//0111 1 101
        flag=10;
                        else if(input==0x7c)//0111 1 100
        flag=11;
                  else if(input==0x7e)//0111 1 110
        flag=12;
                        else if(input==0x6d)//0110 0 111
        flag=5;
      else if(input==0x6f)//0110 1 111
        flag=4;
                        else if(input==0x4f)//0100 1 111                  
        flag=3;
                        else if(input==0x5f)//0101 1 111                  
        flag=2;
                        else if(input==0x1f)//0001 1 111                 
        flag=1;
                        else if(input==0x10)//0011 1 111         
        flag=0;


   count=0;
}



联系方式

地址:石家庄市新华区民族路77号华强广场D座2009
电话:0311-88816616/87087811
手机:13315190088
传真:0311-67901001
联系人:张工
网址:www.feixindz.com
邮箱:feixindz@163.com
微信:xinpianjiemi
QQ:527263666/568069805

在线客服
热线电话

企业微信