版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第 6 章編程像計(jì)算機(jī)一樣,要控制自動(dòng)化設(shè)備也需要有控制,要編寫(xiě)就得要用計(jì)算機(jī)語(yǔ)言。常把計(jì)算機(jī)語(yǔ)言分成以下幾類(lèi):機(jī)器語(yǔ)言,指計(jì)算機(jī)中用二進(jìn)制表示的數(shù)據(jù)或指令,計(jì)算機(jī)可以直接執(zhí)行;自然語(yǔ)言,類(lèi)似于人類(lèi)交流使用的語(yǔ)言,常用于表示算法;高級(jí)語(yǔ)言,介于機(jī)器語(yǔ)言與自然語(yǔ)言之間的編程語(yǔ)言。程序設(shè)計(jì)語(yǔ)言大致可以分為面向過(guò)程的程序設(shè)計(jì)語(yǔ)言和面象的程序設(shè)計(jì)語(yǔ)言兩大類(lèi)。面向過(guò)程的程序設(shè)計(jì)語(yǔ)言中,程序的執(zhí)行總是從一個(gè)主控模塊開(kāi)始,該主控模塊就像是一個(gè)家庭的戶主,負(fù)責(zé)整個(gè)程序的執(zhí)行流程的管理,包括程序的開(kāi)始執(zhí)行、運(yùn)行過(guò)程以及運(yùn)行結(jié)果的最終輸出等。而面象的程序設(shè)計(jì)語(yǔ)言則模擬現(xiàn)實(shí)世界的對(duì)象交流方式,先定義同類(lèi)對(duì)象的模板,
2、即程序設(shè)計(jì)語(yǔ)言中的類(lèi),然后由類(lèi)產(chǎn)生對(duì)象,通過(guò)對(duì)象之間的消息通信及交互實(shí)現(xiàn)整個(gè)程序的功能。通常,面向過(guò)程的語(yǔ)言在解決小規(guī)模上非常精確、方便,但對(duì)于大型、復(fù)雜問(wèn)題有點(diǎn)力不從心。而面比較方便和快捷。象的程序設(shè)計(jì)語(yǔ)言對(duì)于解決大規(guī)模,“卓越”搭建的各種自動(dòng)化構(gòu)型,均是由構(gòu)型自身搭載的控制器來(lái)控制,常用的是面象的設(shè)計(jì)語(yǔ)言C 語(yǔ)言?!碧峁┝藘煞N編程方式:使用通用編程Keil Vi“卓越形化編程4 MDK;使用圖Crater。使用 Keil Vi4 MDK 需要用戶具備一定的單片機(jī) C 語(yǔ)言編程基礎(chǔ),產(chǎn)品配套的 USDG(Uptech Software Development Guide)包含了用戶編寫(xiě)控制程
3、序需要的函數(shù)庫(kù),用戶可以很方便地查詢需要的 API 函數(shù),編寫(xiě)控制程序。Crater 是專門(mén)為“卓越”開(kāi)發(fā)的一款圖形化編程,每個(gè)控制函數(shù)都被封裝成圖塊,用戶直接拖動(dòng)需要的模塊并連接起來(lái)就可生成控制程序,簡(jiǎn)單易用,適合 C 語(yǔ)言剛?cè)腴T(mén)的用戶。866.1USDG 介紹6.1USDG 介紹USDG(Uptech Software Development Guide)是用于LUBY 控制器編程的幫助文檔,包含了基于 LUBY 控制器的函數(shù)庫(kù)、硬件、綜合實(shí)驗(yàn)等內(nèi)容,在編程過(guò)程中,可以很方便地在USDG 中查找所需要的 API 函數(shù),或參考“綜合案例”,編寫(xiě)自己的 LUBY 控制器程序。圖 6-1 為US
4、DG 的界面。圖 6-1 USDGUSDG 是標(biāo)準(zhǔn)版的格式文檔,可以單擊“+”號(hào)展開(kāi)感的目錄,如圖 6-2 所示。單擊目錄展開(kāi)后的函數(shù),可以打開(kāi)函數(shù)的相關(guān)內(nèi)容(如參數(shù)說(shuō)明、返回值等),如圖 6-3所示。讀者可在本書(shū)的配套關(guān)盤(pán)中找到 USDG 電子文檔及文檔中的實(shí)驗(yàn)參考程序源碼。87第 6 章編程圖 6-2 USDG 目錄圖 6-3 函數(shù)說(shuō)明6.2Crater 圖形化編程Crater 圖形化編程(以下簡(jiǎn)稱 Crater)是一個(gè)圖形化交互式控制程序開(kāi)發(fā)工具。在軟886.2Crater 圖形化編程件中,通過(guò)鼠標(biāo)拖動(dòng)類(lèi)似邏輯框的控件和對(duì)控件做簡(jiǎn)單的屬性設(shè)置,就可以快捷地編寫(xiě)控制程序。程序編輯完后,可以
5、編譯并作簡(jiǎn)便、功能強(qiáng)大的特點(diǎn),動(dòng)作。到“卓越”控制器中運(yùn)行。編程環(huán)境具有操在圖標(biāo)拖動(dòng)中創(chuàng)建復(fù)雜的邏輯,的構(gòu)型按照您的意愿本程序默認(rèn)包含標(biāo)題欄、件界面如圖 6-4 所示。、工具箱、繪圖區(qū)、代碼區(qū)、輸出窗口、狀態(tài)欄等。軟圖 6-4 Crater 界面Crater 主要采用模塊圖代碼的結(jié)構(gòu)。用戶在視圖區(qū)拖出模塊圖,程序便在右側(cè)生成代碼,如圖 6-5 所示。Crater 的代碼區(qū)是基于USDG 強(qiáng)大的函數(shù)封裝功能實(shí)現(xiàn)的(見(jiàn) USDG 文檔)。根據(jù)用戶連接的模塊圖生成基于USDG 和C 語(yǔ)言的代碼。此代碼保存為文件后,在用戶需要編譯的情況下調(diào)用 ARM 編譯器將它編譯成 LUBY 控制器需要的文件,并且
6、在用戶需要的情況下到控制器里供用戶選擇使用。Crater 代碼區(qū)所生成的函數(shù)大部分都是基于USDG 封裝好的,部分庫(kù)函數(shù)如圖 6-6 所示。89第 6 章編程圖 6-5 C 語(yǔ)言代碼生成圖 6-6 部分庫(kù)函數(shù)906.2Crater 圖形化編程6.2.1開(kāi)發(fā)環(huán)境搭建首先雙擊安裝文件“Luby_Crater_Setup.exe”(讀者可在本書(shū)配套光盤(pán)中找到 Crater 安裝程序)選擇安裝語(yǔ)言,如圖 6-7 所示。單擊“OK”,出現(xiàn)安裝向?qū)Ы缑?,如圖 6-8 所示。圖 6-7 選擇語(yǔ)言圖 6-8 Crater 安裝向?qū)ёC協(xié)議界面,如圖 6-9 所示。單擊“下一步”,出現(xiàn)圖 6-9 Crater證協(xié)
7、議單擊“我接受”,進(jìn)入安裝位置選擇,如圖 6-10 所示。選擇安裝位置并單擊安裝,開(kāi)始安裝并顯示安裝進(jìn)度,如圖 6-11 所示。最后顯示安裝完成,如圖 6-12 所示。91第 6 章編程圖 6-10選擇安裝位置圖 6-11安裝進(jìn)度顯示圖 6-12 安裝完成926.2Crater 圖形化編程6.2.2Crater使用介紹界面的風(fēng)格與常見(jiàn)的 Windows 應(yīng)用類(lèi)似,最上面是菜單欄和,最下面是狀態(tài)欄及信息提示欄,中間部分的最左邊是流程圖工具箱(即控件庫(kù)),中間是程序設(shè)計(jì)工作區(qū),右邊是流程圖程序?qū)?yīng)的 C 語(yǔ)言代碼顯示區(qū)。單擊“菜單欄”中的“幫助”,在下拉菜單中單擊“幫助”(如圖 6-13 所示)就
8、可打開(kāi)Crater 的幫助文檔,幫助文檔(如圖 6-14 所示)中有對(duì)重復(fù)。功能的詳細(xì)說(shuō)明,在此不再一一圖 6-13 “幫助”菜單圖 6-14 幫助文檔下面通過(guò)一個(gè)實(shí)驗(yàn)來(lái)讓大家初步了解 Crater的使用。6.2.3Crater設(shè)計(jì)實(shí)驗(yàn)1實(shí)驗(yàn)?zāi)康氖煜rater作。93第 6 章編程2實(shí)驗(yàn)器材計(jì)算機(jī)(安裝 Crater,有一個(gè) USB 口) 1多功能調(diào)試器(含USB AB 線)1舵機(jī)線1紅外接近傳感器1舵機(jī)(ID 號(hào)設(shè)置為 1)1LUBY 控制器1LUBY 控制器電池13實(shí)驗(yàn)過(guò)程步驟 1環(huán)境。運(yùn)行 Crater,創(chuàng)建工程文件“demo”,單擊“確定”(如圖 6-15 所示),進(jìn)入編程圖 6-1
9、5 新建項(xiàng)目步驟 2從左側(cè)“工具箱”中的“公共資源”中找到“變量”模塊,拖動(dòng)“變量圖標(biāo)”到中間編程區(qū)域,如圖 6-16 所示。說(shuō)明:在工具箱窗口要?jiǎng)?chuàng)建的模塊圖標(biāo)上按下鼠標(biāo)左鍵,拖動(dòng)到流程圖編輯窗口松開(kāi)鼠標(biāo)(此時(shí)光標(biāo)變?yōu)橐獎(jiǎng)?chuàng)建的模塊圖標(biāo)),即可創(chuàng)建一個(gè)該模塊。946.2Crater 圖形化編程圖 6-16 添加變量步驟 3雙擊拖動(dòng)到編程區(qū)域的“變量”圖標(biāo),彈出設(shè)置窗口,將“變量名稱”設(shè)置為“demo_n”,如圖 6-17 所示,單擊“確定”。連接“開(kāi)始”與“變量”圖標(biāo),如圖 6-18 所示。圖 6-17 設(shè)置變量95第 6 章編程圖 6-18 連線說(shuō)明:在流程圖編輯區(qū)中選中要連接的起點(diǎn)模塊,模塊
10、圖標(biāo)上下會(huì)顯示紅域,將鼠標(biāo)放到紅域按住左鍵不放,移動(dòng)鼠標(biāo)到要連接的終點(diǎn)模塊(此過(guò)程中從起點(diǎn)模塊的到光標(biāo)位置有一條直線),松開(kāi)鼠標(biāo),這兩個(gè)模塊之間就會(huì)出現(xiàn)一條曲線,此時(shí)兩個(gè)模塊之間已經(jīng)建立連接。如果拖動(dòng)到空白位置,則無(wú)法建立連接,松開(kāi)鼠標(biāo)后不會(huì)有曲線出現(xiàn)。步驟 4創(chuàng)建一個(gè)循環(huán)結(jié)構(gòu),使設(shè)計(jì)的程序連續(xù)不停地運(yùn)行,拖動(dòng)“公共資源”中的“條件循環(huán)”到編程區(qū),其包含“While”和“Endloop”即循環(huán)開(kāi)始和結(jié)束兩個(gè)模塊,并將其連接到程序中,如圖 6-19 所示。步驟 5從“工具箱”中的“資源”添加一個(gè)“數(shù)字輸入”模塊到程序中,用來(lái)查詢開(kāi)關(guān)狀態(tài),并設(shè)置端為 0,如圖 6-20 所示,連接該模塊到程序中。
11、966.2Crater 圖形化編程圖 6-19增加“條件循環(huán)”圖 6-20增加“數(shù)字輸入”97第 6 章編程步驟 6添加“條件判斷”(在“公共資源”中),其包含“If”和“Endlf”兩個(gè)模塊,在“If”中設(shè)置判斷條件為“demo_n=1”,并連接“條件判斷”到程序中,如圖 6-21 所示。圖 6-21 條件判斷設(shè)置步驟 7添加兩個(gè)“舵機(jī)”模塊(“外部設(shè)備”中),根據(jù)開(kāi)關(guān)狀態(tài)讓舵機(jī)正轉(zhuǎn)或反轉(zhuǎn),設(shè)置屬性如圖 6-22 所示。圖 6-22 舵機(jī)設(shè)置986.2Crater 圖形化編程步驟 8添加一個(gè)延時(shí)模塊“Delay”(“資源”中),讓舵機(jī)有時(shí)間執(zhí)行動(dòng)作,在“Delay”模塊中,設(shè)置時(shí)間為 1 0
12、00 ms,如圖 6-23 所示。圖 6-23 延時(shí)設(shè)置步驟 9連接所有模塊,完整程序如圖 6-24 所示。圖 6-24 完整的程序步驟 10單擊“菜單欄”中“項(xiàng)目”下拉菜單里的“編譯項(xiàng)目”,編譯完成后生成可執(zhí)行文件。步驟 11根據(jù) 3.3.2 所述,連接好計(jì)算機(jī)、LUBY 控制器和多功能調(diào)試器,單擊“菜單欄”中 “項(xiàng)目”下拉菜單里的“項(xiàng)目”即可將程序到控制器中。99第 6 章編程步驟 12根據(jù) 4.2.8 所述將紅外接近傳感器接到 LUBY 控制器的 AD0,將舵機(jī)接到控制器舵機(jī)控制接口,即可觀察程序運(yùn)行結(jié)果:當(dāng)紅外接近傳感器未探測(cè)到物時(shí),舵機(jī)向一個(gè)方向轉(zhuǎn)動(dòng),當(dāng)紅外接近傳感器探測(cè)到物時(shí),舵機(jī)向反方向轉(zhuǎn)動(dòng)。4實(shí)驗(yàn)結(jié)論(1)Crater 采用圖形化編程方式,拖動(dòng)一些封裝好的模塊,即可編寫(xiě)控制器程序。(2)圖形化編程過(guò)程中,可生成 C 語(yǔ)言代碼,方便用戶檢查程序邏輯,
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年教育機(jī)構(gòu)校園宣傳欄設(shè)施采購(gòu)及安裝合同3篇
- 二零二五年度木材防腐處理木工班組承包合同樣本4篇
- 2025年食堂食材安全認(rèn)證與采購(gòu)合同3篇
- 2025版家居建材行紀(jì)合同范本2篇
- 第八章生命體征的評(píng)估與護(hù)理護(hù)理學(xué)基礎(chǔ)88課件講解
- 2025年保潔防疫服務(wù)協(xié)議
- 2025年加盟連鎖店經(jīng)銷(xiāo)合作協(xié)議范例
- 2025年大型綜合市場(chǎng)用水電合同
- 2025年專利知識(shí)產(chǎn)權(quán)技術(shù)權(quán)利使用許可轉(zhuǎn)讓合同
- 二零二五版閉門(mén)會(huì)議知識(shí)產(chǎn)權(quán)授權(quán)與保密條款合同3篇
- 2024年萍鄉(xiāng)衛(wèi)生職業(yè)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)標(biāo)準(zhǔn)卷
- 2024年高考數(shù)學(xué)(理)試卷(全國(guó)甲卷)(空白卷)
- DB32-T 4444-2023 單位消防安全管理規(guī)范
- 臨床三基考試題庫(kù)(附答案)
- 合同簽訂執(zhí)行風(fēng)險(xiǎn)管控培訓(xùn)
- 九宮數(shù)獨(dú)200題(附答案全)
- 人員密集場(chǎng)所消防安全管理培訓(xùn)
- JCT587-2012 玻璃纖維纏繞增強(qiáng)熱固性樹(shù)脂耐腐蝕立式貯罐
- 典范英語(yǔ)2b課文電子書(shū)
- 員工信息登記表(標(biāo)準(zhǔn)版)
- 春節(jié)工地停工復(fù)工計(jì)劃安排( 共10篇)
評(píng)論
0/150
提交評(píng)論