微處理器智能步進(jìn)電機(jī)控制卡開(kāi)發(fā)方案
4 系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)的主程序由消息循環(huán)和初始化程序構(gòu)成,其流程如圖5所示。在系統(tǒng)的主程序中,初始化程序的功能是在系統(tǒng)復(fù)位后完成單片機(jī)各個(gè)特殊功能寄存器的設(shè)置、各數(shù)據(jù)區(qū)的初始化、外部硬件設(shè)備的設(shè)置等操作;系統(tǒng)的消息循環(huán)則用來(lái)實(shí)現(xiàn)消息合法性的判斷及消息處理功能模塊的調(diào)用。
圖5 系統(tǒng)主程序流程圖
為了能夠?qū)ο⒌暮戏ㄐ赃M(jìn)行判斷,我們?yōu)橄⒔M中的每個(gè)消息定義了對(duì)應(yīng)的合法性判斷標(biāo)識(shí)位。如果某消息所對(duì)應(yīng)的合法性判斷標(biāo)識(shí)位為“1”,則表示該消息是合法的消息,系統(tǒng)應(yīng)該調(diào)用相應(yīng)的消息處理功能模塊對(duì)消息進(jìn)行處理;為“0”則表示該消息是非法的消息,系統(tǒng)應(yīng)該忽略該消息。為了實(shí)現(xiàn)“看門(mén)狗”功能,我們還在消息循環(huán)中加入了喂狗輸出操作。值得注意的是,在系統(tǒng)的串行通信處理模塊中,根據(jù)接收到的數(shù)據(jù)進(jìn)行判斷是自動(dòng)加工,或是手動(dòng)加工,還是參數(shù)設(shè)置,分別對(duì)消息序列中的標(biāo)志位進(jìn)行置位,以保證主程序能夠正確實(shí)現(xiàn)各處理模塊的調(diào)用。
5 本文創(chuàng)新點(diǎn)
本系統(tǒng)采用MCS51系列單片機(jī)對(duì)數(shù)據(jù)進(jìn)行處理及對(duì)運(yùn)動(dòng)狀態(tài)進(jìn)行控制,由8254可編程定時(shí)/計(jì)數(shù)器實(shí)現(xiàn)脈沖的分頻輸出,保證了運(yùn)動(dòng)控制的實(shí)時(shí)性要求。為了使運(yùn)動(dòng)控制器能夠在惡劣的環(huán)境下可靠地工作,我們采用X5045集成芯片為主要器件構(gòu)成低成本、高可靠性的抗干擾電路,實(shí)現(xiàn)對(duì)步進(jìn)電機(jī)運(yùn)動(dòng)控制卡的自動(dòng)保護(hù)。系統(tǒng)投入使用以來(lái),產(chǎn)生直接經(jīng)濟(jì)效益50余萬(wàn)元。
評(píng)論