freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于mc9s12xs128微控制器智能車的軟件設計-資料下載頁

2025-06-23 17:18本頁面
  

【正文】 //窄道標志為零,前5次檢測的值呈遞減規(guī)律時 //可認為現(xiàn)進入窄道,小車保持當前方向,以設定最低速前行 if (!NarrowLineFlag amp。amp。 NowBlackNum=LEDHistoryBlackNum[1] amp。amp。 LEDHistoryBlackNum[1]=LEDHistoryBlackNum[2]amp。amp。 LEDHistoryBlackNum[2]=LEDHistoryBlackNum[3]amp。amp。 LEDHistoryBlackNum[3]=LEDHistoryBlackNum[4]) { NarrowLineFlag=1。 //設置窄道標志 //SetSpeedN=MiddleSpeed1。 CrossLineFlag=0。 return。 } //若窄道標志已置位,且當前黑線值大于其前面第三的值,且前面第三的值大于3 //則可認為小車出窄道 if (NarrowLineFlag amp。amp。 NowBlackNum=LEDHistoryBlackNum[2] amp。amp。 LEDHistoryBlackNum[2]=LEDHistoryBlackNum[4]amp。amp。LEDHistoryBlackNum[4]3) { NarrowLineFlag=0。 //清除窄道標志 CrossLineFlag=0。 return。 } if (!NarrowLineFlag amp。amp。 NowBlackNum=6 amp。amp。 LEDHistoryBlackNum[1]=6 amp。amp。 LEDHistoryBlackNum[2]=6 amp。amp。 LEDHistoryBlackNum[3]=6 amp。amp。 LEDHistoryBlackNum[4]=6) { PDDF=1。 SetSpeedN=LowSpeed。 CrossLineFlag=0。 return。 } //否則現(xiàn)處于十字線,小車以當前速度和方向繼續(xù)前行 CrossLineFlag=1。 return。 } //計算黑線坐標 // else if (NowBlackNum=3) BkLnHistoryPosi[0]=CalBkLnPosi()。 //計算黑線坐標 // calposi: Edge=0。 Bit0=LEDHistoryValue[0]amp。0x0001。 for (i=1。i12。i++){ LEDHistoryValue[0]=1。 Bit1=LEDHistoryValue[0]amp。0x0001。 if (Bit0!=Bit1) Edge++。 Bit0=Bit1。 } if (NowBlackNum0amp。amp。(Edge==1||Edge==2)) BkLnHistoryPosi[0]=CalBkLnPosi()。}附錄七int CalBkLnPosi(void){ int i,MaxI,BlackLinePosition。 static float MaxValue,LEDOutPercent[12]。 static float temp。 DisableInterrupts。 for (i=0。i12。i++){ temp=(float)ATDData[i](float)LEDLowOutValue[i]。 LEDOutPercent[i]=temp/LEDOutRange[i]。 if (LEDOutPercent[i]0) LEDOutPercent[i]=0。 if (LEDOutPercent[i]=1) LEDOutPercent[i]=1。 } MaxValue=LEDOutPercent[0]。 MaxI=0。 for(i=1。i12。i++) if (MaxValueLEDOutPercent[i]){ MaxValue=LEDOutPercent[i]。 MaxI=i。 } if (MaxI==11) BlackLinePosition=(int)((LEDPosition[MaxI]+LEDPosition[MaxI1]*LEDOutPercent[MaxI1])/(LEDOutPercent[MaxI]+LEDOutPercent[MaxI1]))。 else if (MaxI==0) BlackLinePosition=(int)((LEDPosition[MaxI+1]*LEDOutPercent[MaxI+1]+LEDPosition[MaxI])/(LEDOutPercent[MaxI]+LEDOutPercent[MaxI+1]))。 else if (LEDOutPercent[MaxI1]LEDOutPercent[MaxI+1]) BlackLinePosition=(int)((LEDPosition[MaxI]+LEDPosition[MaxI1]*LEDOutPercent[MaxI1])/(LEDOutPercent[MaxI]+LEDOutPercent[MaxI1]))。 else if (LEDOutPercent[MaxI1]LEDOutPercent[MaxI+1]) BlackLinePosition=(int)((LEDPosition[MaxI+1]*LEDOutPercent[MaxI+1]+LEDPosition[MaxI])/(LEDOutPercent[MaxI]+LEDOutPercent[MaxI+1]))。 else BlackLinePosition=(int)(LEDPosition[MaxI])。 EnableInterrupts。 return (BlackLinePosition)。} 附錄八 =0。 =0。 =0。 =0。 =0。 =0。 //q0=Kp*(1+Ts/Ti+Td/Ts) if (==0){ =*(1+)。 } else { =*(1++)。 } //q1=Kp*(1+2*Td/ts) =*(1+2*)。 //q2=Kp*Td/Ts =*。 }void InitOrientPID(void){ =0。 =0。 =1470。 =0。 =0。 =0。 InitOrientQ()。}void InitOrientQ(void){ //q0=Kp*(1+Ts/Ti+Td/Ts) if (==0){ =*(1+)。 } else { =*(1++)。 } //q1=Kp*(1+2*Td/ts) =*(1+2*)。 //q2=Kp*Td/Ts =*。 }////方向控制函數(shù)**//根據(jù)控制策略,控制舵機轉向,和設置當前的設定速度值//void OrientControll(void){ //通過給定值SetOrigin與BkLnHistoryPosi[0]計算偏差,通過PID計算控制量Uk0,控制車前進方向 int AbsOrientE。 if (LEDHistoryBlackNum[0]==0) { //SetSpeedN=LowSpeed。 return。 //在沒有檢測到黑線時,保持原轉向繼續(xù) } =BkLnHistoryPosi[0]SetOrigin。 AbsOrientE=0?:。 if (AbsOrientE){ //當在允許偏側范圍內(nèi)時,保持原控制輸出不變 =(int)(*+*+*)。 +=。 } =。 =。 if (1660) =1660。 else if (1310) =1310。 //限定轉向角度 RudderOUT=。 PWMDTY23=。 if (CarRunFlag) { if (!NarrowLineFlag ){ //testdata!!! if (AbsOrientE60) SetSpeedN=LowSpeed。 else if (AbsOrientE45) SetSpeedN=MiddleSpeed1。 else if (AbsOrientE30) SetSpeedN=MiddleSpeed2。 else if (AbsOrientE15) SetSpeedN=MiddleSpeed3。 else SetSpeedN=HighSpeed。 } else SetSpeedN=LowSpeed。 } else { SetSpeedN=0。 }}////速度控制函數(shù)//RealSpeedN為實時測量到的速度(用編碼脈沖作量綱)//void SpeedControl(int RealSpeedN){ //通過給定值SetSpeedN與RealSpeedN計算偏差,通過PID計算控制量Uk0,控制車速 int SpeedError,SpeedOut。 SpeedError=SetSpeedNRealSpeedN。 =SpeedError。 SpeedError=SpeedError0?SpeedError:SpeedError。 if (SpeedError){ //當在允許偏側范圍內(nèi)時,保持原控制輸出不變 =(int)(*+*+*)。 +=。 if ((int)MotorCyc) =(int)MotorCyc。 else if (=0) =0。 //電機不反轉 } SpeedOut=。 =。 =。 SetSpeed(SpeedOut)。 } 致謝本論文是在余軍老師的精心指導下完成的,論文從選題到最終完成都得到了余老師的熱心幫助和精心指導,余老師的細心分析、精益求精的精神深深的感染了我,并對我的工作和學習產(chǎn)生了很大的促進作用。尤其是余老師對我的細心關照以及給我的獨特意見都讓我受益終身。在此特別要向余老師表示深深的感謝! 在此,還要特別感謝其他任課老師,他們所教的C語言、單片機等課程在思想和技術上給了我很大的啟迪。從他們所講授的課程中我學到了編程相關知識,以及MCU開發(fā)方法,這些在我的研究過程中發(fā)揮了巨大的作用,使我能順利完成我的論文。通過這次畢業(yè)設計,我學會了綜合的運用大學四年學的東西,學會了用嚴謹?shù)膽B(tài)度來做設計,為我走向社會打下了一個不錯的基礎,從一開始的比較迷茫,到最后能成功完成了這次設計,這里面有老師和同學的幫助,也有自己
點擊復制文檔內(nèi)容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1