單片機(jī)的圖形化編程方法探討
單片機(jī)可以用匯編語(yǔ)言編程,也可以用高級(jí)語(yǔ)言C、Basic編程,也可以用圖形化語(yǔ)言編程。工業(yè)控制中普遍采用可編程控制器,其CPU模塊內(nèi)的微控制器往往是普通的單片機(jī),而可編程控制器可以梯形圖編程,或者用流程圖編程。現(xiàn)在的智能教育機(jī)器人控制器均用單片機(jī),而這些機(jī)器人的編程大多支持流程圖編程。上海廣茂達(dá)電子信息有限公司的能力風(fēng)暴系列機(jī)器人采用VJC可視化流程圖與C語(yǔ)言編程;中鳴機(jī)器人系列采用機(jī)器人快車(chē)軟件編程,該軟件也是可視化流程圖與C語(yǔ)言編程;西米亞公司的樂(lè)高系列、博思威龍機(jī)器人、美國(guó)的VEX系列機(jī)器人、雙龍公司的機(jī)器人DIY系列均可以采用可視化流程圖與C語(yǔ)言編程。而這些機(jī)器人的控制系統(tǒng)核心均為單片機(jī)。由此可知,普通單片機(jī)的開(kāi)發(fā)一定可以采用流程圖編程。其實(shí),機(jī)器人的流程圖編制軟件可以反過(guò)來(lái)作為相應(yīng)單片機(jī)的編程軟件。下面用一個(gè)實(shí)例詳細(xì)說(shuō)明單片機(jī)如何用圖形化編程。
1 問(wèn)題描述
某機(jī)器上,2臺(tái)電機(jī)通過(guò)滾珠絲杠驅(qū)動(dòng)工作臺(tái)做順序運(yùn)動(dòng),如圖1所示。用單片機(jī)系統(tǒng)控制2臺(tái)電機(jī),實(shí)現(xiàn)規(guī)定的順序動(dòng)作。當(dāng)行程開(kāi)關(guān)KXl壓下時(shí),電機(jī)D1帶動(dòng)卡緊機(jī)構(gòu)右移,右移到撞塊壓下KX2時(shí),電機(jī)D1停轉(zhuǎn),并且這種狀態(tài)延遲一段時(shí)間Tl。電機(jī)D2按以下順序開(kāi)始動(dòng)作:當(dāng)行程開(kāi)關(guān)KX3壓下時(shí),電機(jī)D2帶動(dòng)工作臺(tái)右移,工作臺(tái)右移到撞塊壓下KX4時(shí),電機(jī)D2停轉(zhuǎn),并且這種狀態(tài)延遲一段時(shí)間T2;然后電機(jī)D2反轉(zhuǎn),帶著工作臺(tái)向左返回,工作臺(tái)返回左側(cè)壓下KX3時(shí),電機(jī)D2停轉(zhuǎn),同時(shí)電機(jī)D1反轉(zhuǎn),松開(kāi)卡緊機(jī)構(gòu)直到KXl壓下,電機(jī)D1停轉(zhuǎn)。
2 單片機(jī)控制系統(tǒng)組成
實(shí)現(xiàn)上述控制功能的方案有多種,如繼電器接觸器控制系統(tǒng)、可編程序控制器控制系統(tǒng)、單片機(jī)控制系統(tǒng)等。本文用單片機(jī)控制系統(tǒng)來(lái)實(shí)現(xiàn)上述控制動(dòng)作,單片機(jī)控制系統(tǒng)的組成如圖3所示。
單片機(jī)采用Motorola公司的MC68HCllEl。為了仿真實(shí)驗(yàn)的需要,單片機(jī)控制系統(tǒng)采用上海廣茂達(dá)電子信息有限公司的能力風(fēng)暴機(jī)器人AS―UII中的主控制板。行程開(kāi)關(guān)KXl~KX4用機(jī)器人上的碰撞開(kāi)關(guān)來(lái)模擬,碰撞開(kāi)關(guān)電路如圖4(a)所示。電機(jī)D1、D2用機(jī)器人2輪的驅(qū)動(dòng)電機(jī)來(lái)模擬,電路如圖4(b)所示。其中,電機(jī)驅(qū)動(dòng)芯片選用的是TI公司的SN754410。
3 VJC程序流程
使用能力風(fēng)暴機(jī)器人的編程開(kāi)發(fā)環(huán)境VJC1.6(可以從上海廣茂達(dá)電子信息有限公司網(wǎng)站www.grandar.com上下載)編制、調(diào)試和下載程序。針對(duì)上述單片機(jī)雙電機(jī)啟??刂葡到y(tǒng),用VJCl.6編制的流程圖如圖5所示。實(shí)際的單片機(jī)控制系統(tǒng),只要把相應(yīng)的傳感器及其驅(qū)動(dòng)電路、電機(jī)及其驅(qū)動(dòng)電路更改成適應(yīng)實(shí)際對(duì)象的元器件,就仍然可以用這種單片機(jī)控制板和相應(yīng)的編程軟件。更進(jìn)一步的應(yīng)用可以擴(kuò)充軟硬件系統(tǒng)。
程序總體為一循環(huán)程序。在每一次循環(huán)中,依次檢測(cè)4個(gè)碰撞開(kāi)關(guān),按照電機(jī)的動(dòng)作順序要求啟動(dòng)或停止電機(jī)。程序模塊的使用和變量的設(shè)置方法此處從略,請(qǐng)參見(jiàn)說(shuō)明書(shū),或與上海廣茂達(dá)電子信息有限公司聯(lián)系。
圖5的流程圖在VJCl.6環(huán)境下可以轉(zhuǎn)化為C語(yǔ)言程序,具體可參看ⅥC1.6的使用。
在VJC1.6環(huán)境下編制的程序,無(wú)論是流程圖還是C語(yǔ)言程序,均可以直接下載到單片機(jī)的閃存或EEPROM中,這也是這種編程和開(kāi)發(fā)方法受到人們歡迎的原因。但是目前這種方法僅用在以單片機(jī)為核心的智能機(jī)器人的程序開(kāi)發(fā)之中,還沒(méi)有專(zhuān)門(mén)用于單片機(jī)開(kāi)發(fā)的這種圖形化編程環(huán)境,相信不久的將來(lái)就會(huì)出現(xiàn)這種方法。
結(jié) 語(yǔ)
這里單片機(jī)系統(tǒng)實(shí)現(xiàn)的功能就相當(dāng)于一個(gè)可編程控制器系統(tǒng),而且編程語(yǔ)言是流程圖語(yǔ)言??梢?jiàn),某些單片機(jī)系統(tǒng)略加擴(kuò)充就可以成為一個(gè)可以使用流程圖編程、C語(yǔ)言編程和匯編語(yǔ)言編程的功能相當(dāng)完備的可編程控制器,從而與現(xiàn)有的可編程控制器在工業(yè)控制領(lǐng)域并駕齊驅(qū)。
評(píng)論