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

正文內(nèi)容

單片機的足球機器人小車系統(tǒng)設(shè)計-資料下載頁

2025-06-29 22:16本頁面
  

【正文】 序用C語言編寫的程序代碼如下:void pengzhuang(void)interrupt 0{ houtui() /*用碰撞時用*/}以上所述的幾大功能模塊,都可以獨立使用,分別完成不同的任務(wù),而把它們聯(lián)系到一塊,則可以形成一個完整的程序,使機器人在賽場上完成整場比賽。而把他們聯(lián)系在一起的橋梁則是前中提到的持球探測壁以及其上的持球傳感器。持球傳感器也一個紅外接收管,不需要AD轉(zhuǎn)換,只需要邏輯判斷,當(dāng)機器人持球時。整個程序運行過程中,通過查詢方式來判斷是否持球。=0時,執(zhí)行找球程序,=1時,執(zhí)行進攻程序。在整個程序中,中斷開放,實現(xiàn)任何狀態(tài)下的碰撞避讓。2.整體程序流程圖如圖34圖34 整體程序流程圖4 功能測試 找球功能模塊測試 測試條件:用一個高功率紅外發(fā)光管模擬比賽用球,在室內(nèi)日光燈光源下進行測試。 測試軟件:找球程序模塊。 測試結(jié)果:機器人能在40CM距離左右發(fā)現(xiàn)球,在向球運動過程中,前半段由于基礎(chǔ)電壓小,差值小于閾值,直線前進;當(dāng)靠近球時,電壓增大,差值大于閾值,機器人左右調(diào)整方向,逐漸靠近小球。 測試條件:面向墻壁直行,模擬碰撞場地?fù)醢濉? 測試軟件:裝入直行程序,中斷開放,中斷服務(wù)程序為倒退延時1秒,原地轉(zhuǎn)彎延時1秒。 測試結(jié)果:機器人在直行碰撞墻壁后,順利進入中斷服務(wù)程序,倒退并調(diào)頭,之后中斷返回繼續(xù)直行。 方向判斷功能模塊測試 測試條件:用黑白兩色紙模擬場地基板,室內(nèi)日光燈光源。 測試軟件:方向判斷程序模塊。默認(rèn)由白向黑進攻。在起點采樣,直行到另一色地面再次采樣,比較判斷。 測試結(jié)果:由白向黑行進時,機器人判斷方向為正確進攻方向 ,繼續(xù)前進;由黑向白行進時,機器人發(fā)現(xiàn)方向錯誤,掉頭前進。 5 設(shè)計總結(jié) 本設(shè)計的優(yōu)點及創(chuàng)新之處本設(shè)計利用簡單的器件使機器人擁有了較為完善的功能,用C語言做為其編程語言,即保證了程序的效率又使程序的模塊構(gòu)架清晰,用戶能夠根據(jù)需要方便的編寫輸入不同的程序,使得機器人的性能可以不斷的完善;同時,并行口數(shù)模轉(zhuǎn)換提高了數(shù)據(jù)的處理速度;還有為留有諸多的擴展接口(8個AD轉(zhuǎn)換接口,5個中斷源)給今后的功能擴展留下了廣闊的空間。機器人的外形結(jié)構(gòu)可以根據(jù)需要改變,并實現(xiàn)一定功能,本設(shè)計中的“持球探測臂”就是通過機器人的外形實現(xiàn)功能,大大簡化了軟件程序的算法,是本設(shè)計的創(chuàng)新之處。本設(shè)計屬于第一次嘗試,許多功能還不夠完善,結(jié)構(gòu)也過于簡單。在以下方面有待改進。(1)移動方式方面:目前所使用的2個驅(qū)動輪方式都只有兩個自由度,還不能實現(xiàn)任意定位和定向,若4個輪子都具備獨立驅(qū)動和轉(zhuǎn)向能力,則可實現(xiàn)全方位的運動,大大增加其靈活性。(2)數(shù)值的使用:目前能使用的紅外傳感器只能實現(xiàn)簡單地計算比較,精確的計算差值,必利用差值對轉(zhuǎn)向進行精確的控制,在用差值去調(diào)整PWM去改變電機轉(zhuǎn)速,再加入PID環(huán)節(jié)就會更好,這也是改進的方向之一。(3)傳感器方面:本次設(shè)計只使用了光電和微動開關(guān)兩種傳感器,而傳感器的種類是繁多的,如超聲波測距傳感器,數(shù)字指南針等等,在足球機器人上都能發(fā)揮很大的作用。參考文獻[1] 東北大學(xué)機器人研究室微型足球機器人設(shè)計與開發(fā)—連載,機器人技術(shù)與應(yīng)用,1999年 (5);28—29 [2] 胡新宇,:高等教育出版社. 2006,7988[3] . 北京:,1925[4] 8051 管腳資料Intel公司提供芯片資料[5] L298N Description,ST公司提供芯片資料[6] . 北京:機械工業(yè)出版社. 2005,194199[7] . 北京:,176178 [8] ADC0809芯片, TEXAS INSTRUMENTS公司提供芯片資料[9] 王建國,寧改娣. 51系列單片機及C51程序設(shè)計. 北京:,2832 [10] . 北京:,103109 附 錄: (A0)(A1)4. 總體程序代碼如下include include define IN0 XBYTE[0xFEF8] /* 0通道的絕對地址*/define IN1 XBYTE[0xFEFA] /*2通道的絕對地址*void abc0809_1(uchar idata *x)。 /*找球傳感器的值*/void abc0809_2(uchar idata *x)。 /*灰度傳感器的值*/void line(void)。 /*直行函數(shù)*/void left(void); /*左轉(zhuǎn)函數(shù)*/void right(void); /*右轉(zhuǎn)函數(shù)*/void xuanzhuang(void); /*碰撞函數(shù)*/oid houtui(void); /*后退函數(shù)*/void pengzhuang(void)interrupt 0; /*中斷函數(shù)*/void attack(void); /*進攻函數(shù)*/void pwm1(void); /*PWM脈沖產(chǎn)生1函數(shù)*/void pwm2(void); /*PWM脈沖產(chǎn)生2函數(shù)*/void delay(int a); /*延時函數(shù)*/void find(void); /*找球函數(shù)*/void main (void){ uchar idata ab[2]。 /*存放找球傳感器的數(shù)值*/ uchar idata ac[2]。 /*存放灰度傳感器的數(shù)值*/ uchar idata ad[2]。 /*存放最原始灰度傳感器的值*/ abc0809_2(ad)。 /*提取灰度傳器最原始的值*/ abc0809_1(ab)。 /*取找球傳感器的數(shù)值*/}void abc0809_1(uchar data *x) /*提取找球傳感器值的函數(shù)*/{ uchar i 。 uchar idata *ad_dr。 ad_dr=amp。IN0。 for(i=0。j2。i++){ do{*ad_dr=i x[i]=*ad_dr。 }while(P1^5==0)。}}void abc0809_2(uchar data *x) /*提取灰度傳感器值的函數(shù)*/{ uchar i 。 uchar idata *ad_dr。 ad_dr=amp。IN1。 for(i=0。j2。i++){ do{*ad_dr=i x[i]=*ad_dr。 }while(P1^5==0)。}}void line(void) /*用于進攻*/{ p1^1=1。 /* 由電機旋轉(zhuǎn)邏輯表得*/ p1^2=0。 p1^3=1。 p1^4=0。pwm1()。 /*長距離運動*/}void left(void) /*用于找球*/{ p1^1=1。 /* 由電機旋轉(zhuǎn)邏輯表得*/ p1^2=0。 p1^3=0。 p1^4=0。 pwm2(); /*短距離運動*/}void right(void) /*用于找球*/{ p1^1=0。 /* 由電機旋轉(zhuǎn)邏輯表得*/ p1^2=0。 p1^3=0。 p1^4=1。 pwm2()。 /*短距離運動*/}void xuanzhuang(void) /*用于找球*/{ p1^1=1。 /* 由電機旋轉(zhuǎn)邏輯表得*/ p1^2=0。 p1^3=0。 p1^4=1。pwm2()。 /*短距離運動*/}oid houtui(void) /*用碰撞時用*/{ p1^1=0。 /* 由電機旋轉(zhuǎn)邏輯表得*/ p1^2=1。 p1^3=0。 p1^4=1。 pwm2(); /*短距離運動*/ p1^1=1。 p1^2=0。 p1^3=0。 p1^4=1。 pwm2()。 /*當(dāng)后退后在旋轉(zhuǎn)調(diào)頭*/}void find(void) /*找球子程序*/{ uchar a,b。 abc0809_1(ab)。 /*提取找球傳感器的值*/ a=ad[0]ad[1]。 /*判斷傳感器的值*/ b=abs(a)。 if(ab[0]==0||ab[1]==0) { xuanzhuang();} /*調(diào)用原地旋程序*/ elseif(b2) { line();} /*直線長行走*/elseif(ab[0]ab[1]) { life()。 } /*左轉(zhuǎn)*/else { right()。 }}void attack(void) /*進攻子程序*/{ uchar a,d。abc0809_2(ac)。 /*提取灰度傳感器的值*/a=ac[0]ac[1]。 d=abs(a)。if(!(ac[0]ad[1]||ac[1]ad[1])) /*判斷進攻方向*/{ xuanzhuang();}elseif(abs(a)2) /*比較左右灰度傳感器的值*/{ line(); } /*長距離運動*/elseif(ac[0]ac[1]) { life()。} /*左轉(zhuǎn)*/else{ right();} /*右轉(zhuǎn)*/}void pengzhuang(void)interrupt 0{ houtui()。 /*用碰撞時用*/}void delay(int a) /*延時子程序*/ { int i。 for(i=0。ia。i++) {。}}void pwm1(void) /*輸出占空比為80%的PWM調(diào)制脈沖*/{ int i。 for(i=0。i=20000。i++) { p1^4=1。 delay(20)。 /*延時160us*/ p1^4=0。 delay(4)。 /* 延時40us*/} }void pwm2(void) /*輸出占空比為50%的PWM調(diào)制脈沖*/{ int i。 for(i=0。i=5000。i++) { p1^4=1。 delay(12)。 /*延時100us*/ p1^4=0。 delay(12)。 /* 延時100us*/} }致 謝這次畢業(yè)設(shè)計,使自己的思維更加開闊更加靈活,對各信息搜索、融合、變通等等處理有了很大程度的提高,為以后的工作打下了堅實的基礎(chǔ);同時又使自己對三年來所學(xué)的專業(yè)知識有了更進一步的了解,專業(yè)技術(shù)能有了質(zhì)的飛越,讓理論和實踐有更進一步的結(jié)合,知道了我們所學(xué)的基礎(chǔ)課有什么樣的作用它們都能做什么等等。感謝趙路民老師對我設(shè)計的指導(dǎo),提出了很多寶貴的意見。他平易近人的性格和嚴(yán)格學(xué)術(shù)態(tài)度讓我倍受教育,對我以后工作學(xué)習(xí)生活都有很大的影響
點擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1