用運(yùn)動控制卡來控制數(shù)控雕銑機(jī)的步進(jìn)電機(jī),其輸入控制信息有三類:使能,方向,一定頻率的脈沖。據(jù)此將PC主機(jī)發(fā)往USB設(shè)備的數(shù)據(jù)進(jìn)行一定的格式定義,以進(jìn)行分類,然后在單片機(jī)中將接收到的數(shù)據(jù)按照此類格式進(jìn)行分析,并實(shí)現(xiàn)其功能。
下圖是單片機(jī)程序內(nèi)處在主循環(huán)程序中的處理接收到的數(shù)據(jù)的流程。
據(jù)此流程圖,可以看出要使數(shù)控雕銑機(jī)的電機(jī)沿某方向運(yùn)轉(zhuǎn)一定的步數(shù),只需依次發(fā)送電機(jī)的使能方向信息,速度信息和一系列的步數(shù)信息,所接收的步數(shù)信息往往是n=±1的電機(jī)的基本動作。為了避免數(shù)控雕銑機(jī)>的電機(jī)的基本動作間因?yàn)榻邮諗?shù)據(jù)的時間而變得不連續(xù),單片機(jī)采用了定時器中斷編程來控制脈沖輸出,而單片機(jī)前臺則負(fù)責(zé)接收主機(jī)發(fā)送過來的數(shù)據(jù),并等待上一個脈沖輸出的完成。AT89S52單片機(jī)片內(nèi)有3路定時器中斷,剛好可以滿足雕銑機(jī)3個電機(jī)的控制需求,每路定時器中斷負(fù)責(zé)控制1個電機(jī)的控制脈沖輸出。