【正文】
GSU_STEP_M ;判斷恒速中間脈沖數(shù)是否為0 CJNE A,0,HENGSU2 ;為0則轉(zhuǎn)向恒速高脈沖數(shù)判斷 MOV A,HENGSU_STEP_H ;判斷恒速高字節(jié)脈沖數(shù)是否為0 CJNE A,0,HENGSU3 ;為0則恒速區(qū)結(jié)束轉(zhuǎn)向減速高脈沖數(shù)判斷 MOV A,JIANSU_STEP_L ;判斷減速低脈沖數(shù)是否為0 CJNE A,0,JIANSU1 ;為0則轉(zhuǎn)向減速高脈沖數(shù)判斷 MOV A,JIANSU_STEP_H ;判斷減速高脈沖數(shù)是否為0 CJNE A,0,JIANSU2 ;為0則電機(jī)停止轉(zhuǎn)動 SETB FINISH ; RETIJIASU1: ;判斷加速低脈沖數(shù)不為0則減1 DEC JIASU_STEP_L ACALL REINIT_TIME0 ;重新裝入定時常數(shù) RETIJIASU2: DEC JIASU_STEP_H ;判斷加速高脈沖數(shù)不為0則減1 DEC JIASU_STEP_L ;判斷加速低脈沖數(shù)減1 INC DANGQIANSUDU ;改變當(dāng)前速度指針 ACALL REINIT_TIME0 ;重新裝入定時常數(shù) RETIHENGSU1: DEC HENGSU_STEP_L ;判斷恒速低脈沖數(shù)不為0則減1 ACALL REINIT_TIME0 ;重新裝入定時常數(shù) RETIHENGSU2: DEC HENGSU_STEP_M ;判斷恒速低脈沖數(shù)不為0則減1 DEC HENGSU_STEP_L ;判斷恒速低脈沖數(shù)減1 ACALL REINIT_TIME0 ;重新裝入定時常數(shù) RETIHENGSU3: DEC HENGSU_STEP_H ;判斷恒速低脈沖數(shù)不為0則減1 DEC HENGSU_STEP_M ;判斷恒速低脈沖數(shù)減1 DEC HENGSU_STEP_L ;判斷恒速低脈沖數(shù)減1 ACALL REINIT_TIME0 ;重新裝入定時常數(shù) RETIJIANSU1: DEC JIANSU_STEP_L ;判斷減速低脈沖數(shù)不為0則減1 ACALL REINIT_TIME0 ;重新裝入定時常數(shù) RETI JIANSU2: DEC JIANSU_STEP_L ;判斷減速低脈沖數(shù)不為0則減1 DEC JIANSU_STEP_H ;判斷減速低脈沖數(shù)減1 DEC DANGQIANSUDU ;改變當(dāng)前速度指針 ACALL REINIT_TIME0 ;重新裝入定時常數(shù) RETIREINIT_TIME0: ;定時器0時間常數(shù)重裝子程序 MOV A,DANGQIANSUDU ;取得當(dāng)前速度指針位置 MOV DPL,A MOV DPH,02H CLR A MOVC A,A+DPTR ;查表取出指針?biāo)鶎?yīng)的周期時間常數(shù)低字節(jié) MOV TL0,A MOV DPH,03H CLR A MOVC A,A+DPTR ;查表取出指針?biāo)鶎?yīng)的周期時間常數(shù)低字節(jié) MOV TH0,A SETB TR0 ;重新啟動定時器0;如果是對步進(jìn)電機(jī)的轉(zhuǎn)速,即周期有嚴(yán)格要求的情況下,應(yīng)對時間常數(shù)進(jìn)行校正 RET;步進(jìn)電機(jī)加減速時間常數(shù)表;當(dāng)前數(shù)據(jù)表示電機(jī)運行頻率10Hz~2500Hz,可自行更改; 0 1 2 3 4 5 6 7 8 9 ORG 0200HSUDU_L: DB 0B0H,039H,00BH,092H,006H,08EH,074H,05AH,096H,05EH DB 0D1H,005H,009H,0E8H,0A8H,050H,0E3H,067H,0DCH,045H DB 0A4H,0FBH,04AH,092H,0D5H,012H,04BH,07FH,0B0H,0DEH DB 008H,031H,056H,079H,09BH,0BAH,0D8H,0F4H,00FH,028H DB 040H,057H,06DH,082H,096H,0A9H,0BCH,0CDH,0DEH,0EEH DB 0FDH,00CH,01BH,028H,036H,043H,04FH,05BH,066H,072H DB 07CH,087H,091H,09BH,0A4H,0ADH,0B6H,0BFH,0C7H,0CFH DB 0D7H,0DFH,0E7H,0EEH,0F5H,0FCH,003H,009H,00FH,016H DB 01CH,022H,027H,02DH,033H,038H,03DH,042H,047H,04CH DB 051H,056H,05AH,05FH,063H,068H,06CH,070H,074H,078H DB 07CH,080H,084H,087H,08BH,08EH,092H,095H,099H,09CH DB 09FH,0A2H,0A5H,0A8H,0ABH,0AEH,0B1H,0B4H,0B7H,0BAH DB 0BCH,0BFH,0C2H,0C4H,0C7H,0C9H,0CCH,0CEH,0D0H,0D3H DB 0D5H,0D7H,0DAH,0DCH,0DEH,0E0H,0E2H,0E4H,0E6H,0E8H DB 0EAH,0ECH,0EEH,0F0H,0F2H,0F4H,0F6H,0F8H,0F9H,0FBH DB 0FDH,0FFH,000H,002H,004H,005H,007H,008H,00AH,00BH DB 00DH,00EH,010H,011H,013H,014H,016H,017H,019H,01AH DB 01BH,01DH,01EH,01FH,020H,022H,023H,024H,025H,027H DB 028H,029H,02AH,02BH,02DH,02EH,02FH,030H,031H,032H DB 033H,034H,035H,036H,037H,038H; 0 1 2 3 4 5 6 7 8 9 ORG 0300HSUDU_H: DB 03CH,0AAH,0C9H,0D7H,0E0H,0E5H,0E9H,0ECH,0EEH,0F0H DB 0F1H,0F3H,0F4H,0F4H,0F5H,0F6H,0F6H,0F7H,0F7H,0F8H DB 0F8H,0F8H,0F9H,0F9H,0F9H,0FAH,0FAH,0FAH,0FAH,0FAH DB 0FBH,0FBH,0FBH,0FBH,0FBH,0FBH,0FBH,0FBH,0FCH,0FCH DB 0FCH,0FCH,0FCH,0FCH,0FCH,0FCH,0FCH,0FCH,0FCH,0FCH DB 0FCH,0FDH,0FDH,0FDH,0FDH,0FDH,0FDH,0FDH,0FDH,0FDH DB 0FDH,0FDH,0FDH,0FDH,0FDH,0FDH,0FDH,0FDH,0FDH,0FDH DB 0FDH,0FDH,0FDH,0FDH,0FDH,0FDH,0FEH,0FEH,0FEH,0FEH DB 0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH DB 0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH DB 0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH DB 0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH DB 0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH DB 0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH DB 0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH DB 0FEH,0FEH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH END附錄2 位置控制單片機(jī)程序如下:POS: CPL ; 電平狀態(tài) PUSH ACC ;累加器A進(jìn)棧 PUSH PSW PUSH R0 ;R0進(jìn)棧 JNB ,POS4 ; =0時,半個脈沖,轉(zhuǎn)到POS4 CLR EA ;關(guān)中斷 JNB ,POS1 ;反轉(zhuǎn),轉(zhuǎn)到POS1 MOV R0,32H ;正轉(zhuǎn)。[6]王瑾,基于DSP和CAN總線的步進(jìn)電機(jī)控制系統(tǒng)。[J]。北京航天航天大學(xué)出版社,2007[5]孟武勝,李亮。電動機(jī)的單片機(jī)控制。[M]。上海交通大學(xué)出版社,2001,35,(10):15171520[3]周慶貴,黃章。步進(jìn)電機(jī)速度的精確控制。[M]。本人在