單片機可以用匯編語言編程,也可以用高級語言C、Basic編程,也可以用圖形化語言編程。工業(yè)控制中普遍采用可編程控制器,其CPU模塊內(nèi)的微控制器往往是普通的單片機,而可編程控制器可以梯形圖編程,或者用流程圖編程?,F(xiàn)在的智能教育機器人控制器均用單片機,而這些機器人的編程大多支持流程圖編程。上海廣茂達(dá)電子信息有限公司的能力風(fēng)暴系列機器人采用VJC可視化流程圖與C語言編程;中鳴機器人系列采用機器人快車軟件編程,該軟件也是可視化流程圖與C語言編程;西米亞公司的樂高系列、博思威龍機器人、美國的VEX系列機器人、雙龍公司的機器人DIY系列均可以采用可視化流程圖與C語言編程。而這些機器人的控制系統(tǒng)核心均為單片機。由此可知,普通單片機的開發(fā)一定可以采用流程圖編程。其實,機器人的流程圖編制軟件可以反過來作為相應(yīng)單片機的編程軟件。下面用一個實例詳細(xì)說明單片機如何用圖形化編程。
1 問題描述
某機器上,2臺電機通過滾珠絲杠驅(qū)動工作臺做順序運動,如圖1所示。用單片機系統(tǒng)控制2臺電機,實現(xiàn)規(guī)定的順序動作。當(dāng)行程開關(guān)KX1壓下時,電機D1帶動卡緊機構(gòu)右移,右移到撞塊壓下KX2時,電機D1停轉(zhuǎn),并且這種狀態(tài)延遲一段時間T1。電機D2按以下順序開始動作:當(dāng)行程開關(guān)KX3壓下時,電機D2帶動工作臺右移,工作臺右移到撞塊壓下KX4時,電機D2停轉(zhuǎn),并且這種狀態(tài)延遲一段時間T2;然后電機D2反轉(zhuǎn),帶著工作臺向左返回,工作臺返回左側(cè)壓下KX3時,電機D2停轉(zhuǎn),同時電機D1反轉(zhuǎn),松開卡緊機構(gòu)直到KX1壓下,電機D1停轉(zhuǎn)。
圖1 卡緊機構(gòu)和工作臺的順序動作動作
順序如圖2所示。
圖2 動作順序圖
2 單片機控制系統(tǒng)組成
實現(xiàn)上述控制功能的方案有多種,如繼電器接觸器控制系統(tǒng)、可編程序控制器控制系統(tǒng)、單片機控制系統(tǒng)等。本文用單片機控制系統(tǒng)來實現(xiàn)上述控制動作,單片機控制系統(tǒng)的組成如圖3所示。
圖3 單片機控制系統(tǒng)結(jié)構(gòu)圖
單片機采用Motorola公司的MC68HC11E1。為了仿真實驗的需要,單片機控制系統(tǒng)采用上海廣茂達(dá)電子信息有限公司的能力風(fēng)暴機器人ASUII中的主控制板。行程開關(guān)KX1~KX4用機器人上的碰撞開關(guān)來模擬,碰撞開關(guān)電路如圖4(a)所示。電機D1、D2用機器人2輪的驅(qū)動電機來模擬,電路如圖4(b)所示。其中,電機驅(qū)動芯片選用的是TI公司的SN754410。
圖4 能力風(fēng)暴機器人上的碰撞開關(guān)電路和驅(qū)動電機電路
3 VJC程序流程
使用能力風(fēng)暴機器人的編程開發(fā)環(huán)境VJC1.6(可以從上海廣茂達(dá)電子信息有限公司網(wǎng)站
圖5 雙電機啟??刂撇糠至鞒虉D
結(jié)語
這里單片機系統(tǒng)實現(xiàn)的功能就相當(dāng)于一個可編程控制器系統(tǒng),而且編程語言是流程圖語言。可見,某些單片機系統(tǒng)略加擴充就可以成為一個可以使用流程圖編程、C語言編程和匯編語言編程的功能相當(dāng)完備的可編程控制器,從而與現(xiàn)有的可編程控制器在工業(yè)控制領(lǐng)域并駕齊驅(qū)。