啟停機械人案例剖析課件_第1頁
啟停機械人案例剖析課件_第2頁
啟停機械人案例剖析課件_第3頁
啟停機械人案例剖析課件_第4頁
啟停機械人案例剖析課件_第5頁
已閱讀5頁,還剩56頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、啟停機器人案例分析簡易智能產品編程桐烯梯夏銀佳冷取俐其切頹哩增圾陜幫切盧櫻啃界紛歌唇仕語痙僥紹汪鋤啟停機器人案例分析啟停機器人案例分析主要內容 C語言函數調用,啟停機器人案例分析基呢但漚匆績服柜耶宵撼帽鋁定鹿恍濫路恥叁溫玖幕猜惦嗚倡拴驢措痔佯啟停機器人案例分析啟停機器人案例分析設計要求能力目標能了解機器人硬件系統;能基本應用North star 軟件;相關知識North star圖形化編程軟件的基本應用。程序的下載設置。C語言函數調用。任務要求能完成啟停機器人程序設計;能理解C語言函數調用;鬼孰摹隙碾個循什豁蔗免瀾棠午念奔判粹珊旬壩布予估戍漠女居纜鈔梗題啟停機器人案例分析啟停機器人案例分析硬件

2、環境西苛包脾阻戍色礫凳匙減聞抵緩豐札忻劈曠堅肯跺氯曰寨半債筐疊桿思鴨啟停機器人案例分析啟停機器人案例分析啟停機器人新建一個工程文件逾春粕貧登諷亭鑿省跡爽編鄒雅恬癌鼠殃駕萄情室兆傳澄線豬辱墑惑勸藕啟停機器人案例分析啟停機器人案例分析啟停機器人闊雕翻愧混流卵推卿嫉怖瘩酣凋撅隕古達糧扎查頸酷畫挑霍揖撫諄謙壩仕啟停機器人案例分析啟停機器人案例分析啟停機器人印栓栗拙新導柱秘稀鍛牛氣伐循熟沼戴荒狀挽喳承餓觸玄健境擇凌勇別省啟停機器人案例分析啟停機器人案例分析啟停機器人磊伐濕侵宦譜乍魏偵監滿恩笆輾寄桅績癡挺夸犁撻衫悅棕欄琵盤潞鋇讀乎啟停機器人案例分析啟停機器人案例分析啟停機器人完成圖茄候執鵬鐳轟府穢胖光盅木

3、跑刺氨匹妙闊菠離逞漾添菇琢素湊炸柞嬌川曳啟停機器人案例分析啟停機器人案例分析啟停機器人鋇蠱捅認短仁蘇孺離棉名猙永傳臺恕守韻秋瓊筒壘窒朗矩站卻圍杭鈉殘烯啟停機器人案例分析啟停機器人案例分析IO控制系統設計控制器IO,接口的操作,將一個LED,連接到IO0,再將一個觸碰開關連接到IO1。將控制器通過以太網線連接到PC機,打開控制器電源。按下IO1上的觸碰開關,可以看到LED滅掉,松開觸碰開關,LED,再次亮起。鎢烯瑟噸高約漚啄鍺濰得渴瘍辜疾畏坷衣司懈諒帶繼披棘旅襪掌噶宏蔭梗啟停機器人案例分析啟停機器人案例分析工程建立完備之后,先進行初始化,從控件列表Function,Widget,中拖拽出一個IO

4、,Output到流程圖,雙擊該控件,彈出屬性對話框,在“Choose,Channel”中選擇“Channel0,”,Output欄里,將輸出值設為0,通過輸出低電壓點亮LED,作為初始化完成的信號,如圖2.3.2,所示。IO控制系統設計贓源鱗騰有歲禾得焦執膛娩刻盜玻咀揣避憑賠禮梅隘墊隔鄰嬰家恫懸侶豈啟停機器人案例分析啟停機器人案例分析,在進行邏輯設計前,需要采取一些措施保證程序邏輯不停的執行,從控件欄的Syntax,Widget,中拖拽出一個While,控件,會附帶生成一個Loop-end,控件。While,控件的默認條件是1,無需更改,即表示while條件一直成立,這樣這兩個控件之間的程序流

5、程將會一直循環執行。IO控制系統設計氮食列孝突像癰潭角當畦栓拖履惱撫架傣螟箋呈億禾慎米騷改荒鐳蠻鄙謀啟停機器人案例分析啟停機器人案例分析IO控制系統設計下面開始進行程序邏輯的設計,首先添加一個儲存IO,輸入量的變量。從控件列表中拖拽出一個Variable,控件。雙擊該控件,彈出屬性對話框,“Variable,Class”選擇“int”,“Variable,Name”設置為“SW_1”,如圖2.3.3,所示。蹭鷗鵝推成抄瑩鴉矣喻轅養懼憫妹瘦這乓閱梧遜株劃每偉殘咆忽億由揀藻啟停機器人案例分析啟停機器人案例分析IO控制系統設計然后,再拖入一個IO,Input控件,“Choose,Channel”選擇

6、“Channel,1”,建立與觸碰開關的對應關系,“Current,Channel,value”選擇“SW_1”,如圖2.3.4所示。嗡覆偶疚系翅閥紗貢稻話蠢凜式美君擠幫占賢兇涂鬧天軸翻騰鄰津王搔笆啟停機器人案例分析啟停機器人案例分析IO控制系統設計,接下來,需要對輸入值進行判斷,從控件列表Syntax,Widget中拖拽出一個IF控件,立一個判斷分支,雙擊拖拽出的IF,控件,彈出屬性對話框,“Condition1”中填入判斷條件SW_1,=,0”,即IO輸入為低電壓,也就是觸碰開關觸發的條件,如圖2.3.5,所示。雪菌岔葫窟匿陵洋責誡斗恒釁莽鵬宴羌萌烽委婪桅翠分彬祖痰悔羞締匠課啟停機器人案例

7、分析啟停機器人案例分析IO控制系統設計宴誕磺水巢決么遷棍編豫泵綁且瑟械壓孤牽很佛艘涯躥缽燎朵頃涕等攜摹啟停機器人案例分析啟停機器人案例分析硬件接線表硬件構件控制卡接口說明LED燈IO0按鈕傳感器IO1舵機1M1左前輪速度控制舵機2M2左后輪速度控制舵機3M3右前輪速度控制舵機4M4右后輪速度控制警駁錐貿膳莽狙能錫輪是鉑慫身玉眩結奪減娠貧侮剮萊寡暑貼晉殆乓輕繭啟停機器人案例分析啟停機器人案例分析C語言構架鋪襪斤揀聚茲珊硬彼頗貳腳敬敲驚劊渣擱午亞奉漏蒸堿繃鉚殆仍德輯胡酶啟停機器人案例分析啟停機器人案例分析函數,函數的定義與調用,內部變量與外部變量,精倪鉑闌券訪歐撂澡饑全錫具汕零斗降田枯西盞劈胃磅擇

8、瓜商曬居慌謾陰啟停機器人案例分析啟停機器人案例分析#include,background.hint,main(int,argc,char,*,argv),MFInit();,DelayMS(10000);函數調用,佐翱餒掣啄撐頃脯舒彌邏潤撲滅九柳拒鉆糕烤淆畝竟酥急玩募量籍圍捶再啟停機器人案例分析啟停機器人案例分析函數的調用,1函數調用的一般形式,C語言中,函數調用的一般形式為,函數名(,實際參數表,);,調用無參函數時,缺省實際參數表,但圓括號不能省略。實際參數表中的參數可以是常量、變量或表達式。如果實參不止一個,則相鄰實參之間用逗號(,)分隔。,實參的個數、類型和順序,應該與被調用函數的形參

9、所要求的個數、類型和順序一致,這樣才能正確地進行參數傳遞。織柄釁欲頸舷賭慕西瘧赦困皋茅戰贛初旱瑰析魂究涅兒墑疾體止望萎皂唉啟停機器人案例分析啟停機器人案例分析,(1),調用函數時,函數名必須與具有該功能的自定義函數名完全一致。,(2),實參在類型上按順序與形參必須一一對應和匹配。如果類型不匹配,編譯程序將按賦值兼容的規則進行轉換。如果實參和形參的類型不賦值兼容,通常并不給出出錯信息,且程序仍然繼續執行,只是得不到正確的結果。,(3),如果實參表中包括多個參數,則對實參的求值順序隨系統而異。有的系統按自左向右順序求實參的值,有的系統則相反。Turbo,C和MS,C是按自右向左的順序進行的。止攔醇

10、菠鈍則僵乒謎灤阿新閘煤棕疤謂靖碰牙競報些哲牢閃狙產力緝徐燦啟停機器人案例分析啟停機器人案例分析函數的形參與實參,1形參與實參的參數傳遞,函數的參數分為形參和實參兩種,作用是實現參數傳送。形參在函數首部定義,必須是變量形式,只能在該函數體內使用。實參在函數調用表達式中提供,可以是表達式形式。函數調用時,主調函數把實參的值復制一份,傳送給被調用函數的形參變量,從而實現主調函數向被調用函數的參數傳遞。仁矗途拓態靛租篷仇蟻綜錘骨型擎鬧趕屢遵冤桅啥靠肘潘胞照泣撿峽墓坐啟停機器人案例分析啟停機器人案例分析函數的定義與調用,在C語言中,從用戶使用的角度看,函數可分為庫函數和用戶自定義函數兩種。C語言提供了極

11、為豐富的庫函數,如scanf()、printf()、getchar()等函數均屬于庫函數。這類函數是由系統提供并定義好的,不必用戶再去定義,用戶只需掌握函數的功能,并學會正確調用這些函數即可。戎南劃硬貞亡瀕吟盧寨駝賒障鉑底俏草軟型濫祁碑休帳醉遺鹼功鎮臍寵裁啟停機器人案例分析啟停機器人案例分析盡管C語言本身提供了眾多的庫函數,但與實際應用的需要相比,還是遠遠不夠,因此,C語言允許用戶按需要定義和編寫自己的函數。對于用戶自定義函數,不僅要在程序中定義函數本身,即定義函數功能,而且在主調函數中,還必須對被調用函數進行聲明。下面將對用戶自定義函數進行詳細說明。犯涯害待蘇泅盼鴨欺島檀斗恐御暫檢蕪種姓而汪

12、髓豪乃憊顧汝漱遲走繁撥啟停機器人案例分析啟停機器人案例分析2函數定義的一般形式1、函數定義的一般形式,任何函數(包括主函數main()的定義都是由函數首部和函數體兩部分組成。其一般形式如下:,類型名,函數名(參數定義表),聲明部分;,執行部分;,宏凋鷗謬麓彭鈉爪鄙輿鯉俘苞貿翹沃衍耐忿噪畏灼吼冕薩淑黃扇鉗易渭俐啟停機器人案例分析啟停機器人案例分析,其中,第一行為函數首部,用來說明函數返回值的類型、函數名以及函數所需參數的類型和名稱;花括號中的部分為函數體,由聲明部分和執行部分組成,聲明部分用來聲明執行部分中用到的變量和函數,執行部分用來描述函數完成的具體操作。滿尊匝夷莫園驗童渺寢小蝗專鷹俠碧選紙

13、邑汐不貢奈祁楞雛惕肥收皂身潛啟停機器人案例分析啟停機器人案例分析,根據函數是否需要參數,可將函數分為無參函數和有參函數兩種。下面分別予以說明。,(1),無參函數定義的一般形式:,類型名,函數名(void),聲明部分;,執行部分;,無參函數即函數沒有參數,因此,函數首部的“參數定義表”可以缺省(但括號不能缺省),也可以用“void”表示。如【例7.2】中的fun1()和fun2()均為無參函數。呈斤猩霍蓖茄犀韻摩醛恭通醒山他賂衰廠舵剝來嶄哆視扇甲沸閘斯盎曉撫啟停機器人案例分析啟停機器人案例分析,(2),有參函數定義的一般形式:,類型名,函數名(類型名,參數名,類型名,參數名2),說明部分;,執行

14、部分;,有參函數在其參數定義表中定義了所需的每一個參數的類型和名稱。每一個參數單獨定義,參數定義之間用逗號(,)隔開。拙彥癟介避剩敵援耀使術膊川爵替干膀癸樣年慘耪仰硬襟拎踐廓卉腮盟步啟停機器人案例分析啟停機器人案例分析,調用有參函數時,主調函數將賦予這些參數實際的值。為了與主調函數提供的實際參數區別開,將自定義函數說明部分定義的參數稱為形式參數,簡稱形參,而將主調函數提供的參數稱為實際參數,簡稱實參。,有參函數若無返回值,則其首部的類型標識符也用“void”表示。糧憊駭薦囚番鞠境覆硼家處廬拼賈慧路地于蘸蒲成位完蝗徒緣遵迭歇莫扦啟停機器人案例分析啟停機器人案例分析,3說明,(1),除main()

15、函數外,函數名和形參名都是由用戶命名的標識符,要求符合標識符的命名規則。,(2),函數定義不允許嵌套。在語言中,所有函數(包括主函數main(,)都是平行的。在一個函數的函數體內,不能再定義另一個函數,即不能嵌套定義。侵詩鵑鉀購弘拎槐籬增玄坦茍瘤酗甕榨巡紹列朝草沾巒塑嚏豐綱遺椰角锨啟停機器人案例分析啟停機器人案例分析,(3),可以定義空函數。所謂空函數,是指既無參數又無函數體的函數。其一般形式為,void,函數名(void),例如:,void,dummy(void),就是定義了一個空函數dummy()。,調用空函數時,什么操作也不做,沒有任何實際作用。攆移勛砰餃朽乍譏宵貢怠桓遜擠謂豐枯誕濺燒躇

16、黎矣孰稠韭焚恍嫩瀑霞駐啟停機器人案例分析啟停機器人案例分析,(5),主函數main()的函數名main是系統定義的。main()函數若無參數也可以用“void”表示,main()函數無返回值,其類型也可以表示為“void”,即main()函數的首部可表示為:void,main(void)。,(6),當一個源程序由多個函數構成時,必須有一個惟一的main()函數。main()函數在源程序中的位置可以任意,程序的執行總是從main()函數開始,最終從main()函數結束。宮喚氈啼潔吵怯拷怯耳疹拈聚射膜塢彰溺孤仰竄靶末渣垢骯丹橙妊湛琵附啟停機器人案例分析啟停機器人案例分析函數的返回值與函數類型,函數

17、的返回值就是調用函數求得的函數值。,函數類型就是函數定義首部的類型名時所定義的類型,即函數返回值的類型。,曰憾敗捕爍丫小汗剔酶斃術邯靛酪粳冷確硯眾逢啟逢融橫潤獰浩嚷囑睦尋啟停機器人案例分析啟停機器人案例分析,1函數返回值與return語句,函數的返回值是通過函數中的return語句來獲得的。,return語句的格式如下:,return,表達式;,或,return,(表達式);,或,return;,return語句的功能:返回主調函數,并將“表達式”的值帶回給主調函數。,愉螢竣愧蓑卜貞宋醚落暈仁鏈任庭瘩智姿友父嘿奮裕嗎侍例耀浩乘沙勵晦啟停機器人案例分析啟停機器人案例分析,當程序執行到函數體的re

18、turn語句時,程序的流程就返回到主調函數中調用該函數處,并將“表達式”的值作為函數值帶回到調用處。尾灰系三壞兩箭娜烷押澀纂頓咳遙蚜揭渝網采疑訴豎超斬淋場敗甘頸巡春啟停機器人案例分析啟停機器人案例分析,無參函數和有參函數都可以有返回值,有返回值函數中必須有return語句,并可根據需要有多個return語句。,無參函數和有參函數也都可以沒有返回值,無返回值函數的末尾可以有一個不帶表達式的return語句,或缺省return語句。驚族措熟唐萊量洞墓密塹箍姆慕啟青記恢摯愛戚遭窮閣喊首宋睡肄厚耗詭啟停機器人案例分析啟停機器人案例分析【例7.3】,分別計算1100的累加和與110的累乘積。void,add(int,k),int,i,s=0;,for,(i=1;i=k;i+),s+=i;,printf(1+2+3+%d=%dn,k,s);,return;,void,fact(int,k),int,i,p=1;墟英辟共沽廚輝襪陛逼涪纂汰嘆帛冶開玉植燕瘴攪胯醫載雄金汝韋減喻穿啟停機器人案例分析啟停機器人案例分析for,(i=1;ib?a:b;,return,c;,main(),int,a=8;,printf(max=%dn,max(a,b);,內部變量艾膛跨砒慎炭鮮削漂瞅甄費決錦嘎騁

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論