資源描述:
《速度閉環(huán)(speed closed loop)》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、速度閉環(huán)(Speedclosedloop)#包括</*共同定義和宏*/#包括“導數(shù)。H/**/衍生的具體定義#定義motor_left_speed_positive(g_fleftmotorout<0)#定義motor_right_speed_positive(g_frightmotorout<0)ad_init/*虛空(void);無效ad_getvalue();無效ad_getvalue_gyro();國際left1、right1,陀螺;*/符號x_value,y_value,z_value;符號x_value_final,y_value_final,z_va
2、lue_final;//三軸加速度的最終值國際left1right1,陀螺;國際motor_out_dead_val,motor_out_max,motor_out_min,gyro_final,acc_final,g_lncaranglesigma,g_ncarangle,GyroV;浮g_fleftmotorout,g_frightmotorout,g_fanglecontrolout,g_fspeedcontrolout;國際nleftval,nrightval,A,B,C,D,M,N,AA、BB;浮fleftval,frightval,卷;浮g_fgravityangle,
3、g_fgyroscopeanglespeed,g_fcarangle,g_fgyroscopeangleintegral,fspeed;浮g_fspeedcontrolintegral,g_fspeedcontroloutold,g_fspeedcontroloutnew,g_fcarspeed;雙g_fleftvoltagesigma,g_frightvoltagesigma,g_fdirectioncontroloutold,g_fdirectioncontroloutnew;雙g_fdirectioncontrolout,g_ndirectioncontrolperiod;國
4、際g_nleftmotorpulsesigma,g_nrightmotorpulsesigma,g_nspeedcontrolperiod,g_n1mseventcount,g_nspeedcontrolcount;字num1,Num0、I、J;函數(shù)的旗幟,CH1,CH0;int計數(shù)器,g_ndirectioncontrolcount;浮gyrosum,accsum,DerictiontempSub,DerictiontempSum;國際g_nleftmotorpulse,g_nrightmotorpulse;pll_init虛空(void){clksel_pllsel=0;//不
5、使能鎖相環(huán)pllctl_pllon=1;//鎖相環(huán)電路允許同步讀=0x41;//vco_clock=2*osc_clock*(1+同步讀)/(1+refdv)=80mhz//vcofrq[1:0]=1:1refdv=0xC0;postdiv=0x00;//vco_clock=pll_clock_asm(NOP);_asm(NOP);而(?。╟rgflg_lock==1))/等待時鐘頻率穩(wěn)定{;}clksel_pllsel=1;//使能鎖相環(huán)時鐘}ad_init虛空(void){atd0dien=0x00;//禁止數(shù)字輸入atd0ctl1=0x00;//8位精度,不放電atd0ctl
6、2=0x60;//啟動A/D、快速清零,無等待模式,禁止外部觸發(fā),中斷禁止atd0ctl3=0xc0;//轉(zhuǎn)換序列長度為8,沒有FIFO,凍結(jié)模式下繼續(xù)轉(zhuǎn)換atd0ctl4=0x03;//8位精度,2個時鐘,atdclock=[busclock*0.5]/[PRS+1]=2mhz;PRS=7,=12分atd0ctl5=0x30;//右對齊無符號,多通道采樣,起始通道0}*************************************************************//讀取廣告轉(zhuǎn)換結(jié)果*//**********************************
7、****************************//無效ad_getvalue(){而(!atd0stat2_ccf0);//等待轉(zhuǎn)換結(jié)束而(!atd0stat2_ccf0)z_value=atd0dr0;//讀取轉(zhuǎn)換結(jié)果而(!atd0stat2_ccf1);//等待轉(zhuǎn)換結(jié)束而(!atd0stat2_ccf1)陀螺=atd0dr1;//讀取轉(zhuǎn)換結(jié)果}無效ad_getvalue_gyro(){而(!atd0stat2_ccf2);//等待轉(zhuǎn)換結(jié)束而(!atd0s