版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、巡線小車源程序(MSP430,PID)首先是各種宏定義的頭文件cppview plaincopyprint?1 myhead.h 2 #ifndef xxxx_xxx 3 #define xxxx_xxx 4 #define P 43 5 #define I 0.01 6 #define D 100 7 #define LeftMotorTurnNeg P3OUT|=BIT0;P3OUT&=BIT1; 8 #define LeftMotorTurnPos P3OUT&=BIT0;P3OUT|=BIT1; 9 #define RightMotorTurnNeg P3OUT|=BIT3;P3OUT
2、&=BIT2; 10 #define RightMotorTurnPos P3OUT&=BIT3;P3OUT|=BIT2; 11 #define LeftPwmOut TACCR1 12 #define RightPwmOut TACCR2 13 #define F 10000 14 #define T (/F) 15 #define BASIC 100 16 #define simpletime (unsigned int)5 17 #define LEFT 100 18 #define RIGHT 100 19 #endif 接下來就是點擊驅(qū)動的頭文件 cppview plaincopyp
3、rint?20 Motor.h 21 #ifndef Motor 22 #define Motor 23 #include myhead.h 24 #include msp430x14x.h 25 void MotorLeft(float left) 26 27 LeftMotorTurnPos/正轉(zhuǎn) 28 if(left0) 29 30 LeftMotorTurnNeg/反轉(zhuǎn) 31 left=-left; 32 33 LeftPwmOut=(int)(left*T/100); 34 35 void MotorRight(float right) 36 37 RightMotorTurnPos
4、/正轉(zhuǎn) 38 if(right100)left=100; 50 if(left100)right=100; 52 if(right=0;i-); 106 while(IFG1&OFIFG); 107 BCSCTL2=SELM_2+DIVM_0+SELS+DIVS_0;/SMCLK=MCLK=XT2;DIV=0; 108 109 float PID_Cal(float error) 110 111 float derror=error-lasterror;/微分df 112 sumerror+=error;/積分 113 lasterror=error; 114 return P*error+I
5、*sumerror+D*derror; 115 116 float Sensor_Read()/左邊傳感器壓線往左偏 117 118 static float ans=0; 119 float sum=0; 120 int i,sensor=0,num=0; 121 sensor=P5IN;/3.7 5.7 5.6 122 sensor=(P3IN&BIT7)1)|sensor; 123 for(i=0;i9;i+) 124 125 if(!(sensor&(1i) 126 127 sum+=Sensori; 128 num+; 129 130 131 if(num!=0&nu
6、m=4)ans=sum/num; 132 if(ans0) 133 134 P6OUT=0x80; 135 P6OUT|=(int)(-(ans-0.5); 136 137 else 138 139 P6OUT=(int)(ans+0.5); 140 141 142 return ans;/運行找正常 143 144 void AvoidDetection(float left,float right)/壁障函數(shù) 145 146 int sensor=0; 147 MotorLeft(left); 148 MotorRight(right); 149 delay(200); 150 do 15
7、1 MotorLeft(right); 152 MotorRight(left); 153 sensor=P3IN&BIT7;/3.7 5.7 5.6 154 sensor=(sensor1)|P5IN; 155 while(sensor=0x1ff);/當在空白的時候,一只往里面拐。 156 157 void main( void ) 158 159 / Stop watchdog timer to prevent time out reset 160 WDTCTL = WDTPW + WDTHOLD; 161 Crystal(); 162 IO_inti(); 163 timer_inti(); 164 PID_inti(); 165 P6OUT=0XF0; 166 while(1) 167 168 if(flag) 169 170 DriveMotor(PID_Cal(Sensor_Read(); 171 172 173 174 #pragma vector=TIMERB0_VECTOR 175 _interrupt void timer_bo() 176 1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 人教(蒙教版)七下信息技術(shù) 1.4網(wǎng)絡(luò)安全與道德 教案
- 農(nóng)牧合同模板
- 北京個人借款合同模板
- 人教鄂教版小學(xué)科學(xué)五年級上冊一單元4課《保溫和散熱》第1課時教案
- 包材質(zhì)量合同模板
- 公路測量合同模板
- 代理退稅租房合同模板
- 保溫泡沫盒采購合同模板
- 國企采購鋁錠合同模板
- 商業(yè)酒水合同模板
- 初中歷史教學(xué)經(jīng)驗總結(jié)
- 《1.3 空間向量及其運算的坐標表示》課件與同步練習(xí)
- 2024江西省水利投資集團限公司秋季校園招聘116人高頻考題難、易錯點模擬試題(共500題)附帶答案詳解
- MOOC 知識創(chuàng)新與學(xué)術(shù)規(guī)范-南京大學(xué) 中國大學(xué)慕課答案
- 患者多發(fā)骨折的應(yīng)急預(yù)案
- 圍欄網(wǎng)片采購安裝項目售后服務(wù)方案
- 酒店住宿水單-1
- 【高中+語文】《天文學(xué)上的曠世之爭》(教學(xué)課件)+高二語文(統(tǒng)編版+選擇性必修下冊)
- 揚州大學(xué)開題報告模板
- 訓(xùn)練基地餐飲服務(wù)服務(wù)質(zhì)量管理方案
- 中醫(yī)學(xué)理論體系的形成和發(fā)展
評論
0/150
提交評論