第三届全国大学生智能汽车大赛
//.0-32768--不能取最后的那个数,可以有小数,随着数的增大,小数数减少,从15位到0位 //精度1/32768----1
SpdPID.IntegralGain=25000;//20480;15000
SpdPID.IntegralGainScale=14;//14;//0.625的系数 1.25 1.45(pian da) 0.925
0.45 0.15 0.85
SpdPID.DerivativeGain=20000;// 0 SpdPID.DerivativeGainScale=14; SpdPID.PositivePIDLimit=DC_Limit; SpdPID.NegativePIDLimit=0; SpdPID.IntegralPortionK_1=0;//=0 SpdPID.InputErrorK_1=0;//=0
RTI_Init(); SET_PLL(); ATD_Init(); Servo_Init(); Forward_Init(); ECT_Init();
DDRT=0x00;
boma=PTIT;//读入拨码开关; boma>>=4;
boma&=0b00001111;
zhidao_speed=90+7*boma; wangdao_speed=75+4*boma; chongchu_speed=50;//60+boma;
25
第三届全国大学生智能汽车大赛
EnableInterrupts; for(;;) {
/////////////////////调速///////////////////// if(abs(ave_weight[2])<3) {
Object_Speed=zhidao_speed; }
else if(abs(ave_weight[2])<14) Object_Speed=wangdao_speed; else
Object_Speed=chongchu_speed;
/////////////////////转弯/////////////////////
cha1=pid1(ave_weight[2],ave_weight[1],ave_weight[0]); cha1=(cha1*100+cha0*0)/100; cha0 =cha1;
Sensor=4785-38*ave_weight[2];//pid1(ave_weight[2],ave_weight[1],ave_weight[0]); if(Sensor>MID+MAXTURN) {
Sensor=MID+MAXTURN; }
if(Sensor Sensor=MID-MAXTURN; 26 第三届全国大学生智能汽车大赛 } PWMDTY01=Sensor; ave_weight[0]=ave_weight[1]; ave_weight[1]=ave_weight[2]; count0=0; } } #pragma CODE_SEG NON_BANKED /**********************定时1ms中断************************/ void interrupt 7 RTI_int() { int i,j,k,l,m; static int pulse_t; CRGFLG|=0x80; pulse_t++; if(pulse_t>5) { pulse_t=0; DDRA=0xff; PORTA_BIT0=1; for(i=0;i<1500;i++); ATD0CTL5=0x90;//启动一个新的转换 ,ch0 begin ATD1CTL5=0x90; while(!(ATD0STAT0&0x80)); //等待队列转换结束 27 第三届全国大学生智能汽车大赛 AD_Value[0]=ATD0DR0L;//ATD0DR0L; //读取相应结果寄存器值清相应转换完成通道标志ATD0STAT1 AD_Value[1]=ATD0DR1L; AD_Value[2]=ATD0DR2L; AD_Value[3]=ATD0DR3L; AD_Value[4]=ATD0DR4L; AD_Value[5]=ATD0DR5L; AD_Value[6]=ATD0DR6L; AD_Value[7]=ATD0DR7L; //begin ATD1,ch0 begin while(!(ATD1STAT0&0x80));//等待ATD1队列转换结束 AD_Value[8]=ATD1DR0L; AD_Value[9]=ATD1DR1L; AD_Value[10]=ATD1DR2L; AD_Value[11]=ATD1DR3L; AD_Value[12]=ATD1DR4L; AD_Value[13]=ATD1DR5L;//ATD1DR5L; PORTA_BIT0=0; for(i=0;i<14;i++) { if(AD_Value[i]>AD_LEVEL) { atd_value[i]=1; count0++; //检测到的个数 } 28 第三届全国大学生智能汽车大赛 else atd_value[i]=0; } if(count0==0) { exit1=3000; ave_weight[2]=ave_weight[1]; } else if(count0>6 && count0<14) { } else { exit1=3000; ave_weight[2]=((atd_value[0]*(-13)+atd_value[1]*(-11)+atd_value[2]*(-9)+atd_value[3]*(-7)+atd_value[4]*(-5)+atd_value[5]*(-3)+atd_value[6]*(-1)+atd_value[7]*(1)+atd_value[8]*(3)+atd_value[9]*(5)+atd_value[10]*7+atd_value[11]*9+atd_value[12]*11+atd_value[13]*13)/count0); } } for(i=0;i<3;i++){ if(atd_value[i]==1){ for(j=i;j<7;j++){ if(atd_value[j]==0){ for(k=j;k<9;k++){ if(atd_value[k]==1){ for(l=k;l<12;l++){ 29 百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库智能车程序(6)在线全文阅读。
相关推荐: