?? 步進電動機控制程序段.txt
字號:
《步進電動機控制程序段》
1.《軟件實現脈沖分配子程序》
COMMUTATION
LDP #0
BIT DIRECTION,15 ;判別轉向
BCND CCW,NTC ;反轉則跳轉
CW
LACL STATE ;正轉加1
ADD #1
SACL STATE
SUB #10
BCND ZZ,NEQ ;STATE沒超過9則跳轉
SPLK #0,STATE ;否則修正STATE=0
B ZZ
CCW
LACL STATE ;反轉減1
SUB #1
SACL STATE
SUB #0FFFFH
BCND ZZ,NEQ ;STATE不小于0則跳轉
SPLK #9,STATE ;否則修正STATE=9
ZZ LACL #ABC ;指向數據首地址
ADD STATE ;加偏移量
LDP #0E8H
TBLR ACTRA ;修改ACTRA
LDP #0
RET
ABC ;10個控制字
.WORD 000FH,003FH,003CH,00FCH,00F0H
.WORD 03F0H,03C0H,03C3H,0303H,030FH
2.《位置控制子程序》
POS
LDP #0
BIT DIRECTION,15 ;檢測轉向
BCND CCW,NTC ;反轉則跳轉
CW ;正轉加一
CLRC C ;清進位標志
LACL ABSOLUTEL
ADD #1
SACL ABSOLUTEL
LACL ABSOLUTEH
ADDC #0 ;加進位
SACL ABSOLUTEH
BCND ALARM,C ;有進位則越界
B REL
CCW ;反轉減一
SETC C ;清借位
LACL ABSOLUTEL
SUB #1
SACL ABSOLUTEL
LACL ABSOLUTEH
SUBB #0 ;減借位
SACL ABSOLUTEH
BCND ALARM,NC ;有借位則越界
REL
LACL RELATIVE ;步數減一
SUB #1
SACL RELATIVE
BCND QUIT,NEQ ;步數不等于0,退出
B STOP ;步數等于0,停機
ALARM
LDP #0E8H
LACL T1CON
AND #0FFBFH ;清TENABLE位
SACL T1CON ;停機
LDP #0
CALL BAOJING ;調報警子程序
STOP
LDP #0E8H
LACL T1CON
AND #0FFBFH ;清TENABLE位
SACL T1CON ;停機
QUIT
LDP #0
RET
3.《加減速子程序》
SPEED
LDP #0
BIT DIRECTION,15 ;檢測轉向
BCND CCW,NTC ;反轉則跳轉
CW ;正轉加一
CLRC C ;清進位標志
LACL ABSOLUTEL
ADD #1
SACL ABSOLUTEL
LACL ABSOLUTEH
ADDC #0 ;加進位
SACL ABSOLUTEH
BCND ALARM,C ;有進位則越界
B UP
CCW ;反轉減一
SETC C ;清借位
LACL ABSOLUTEL
SUB #1
SACL ABSOLUTEL
LACL ABSOLUTEH
SUBB #0 ;減借位
SACL ABSOLUTEH
BCND UP,C ;無借位則跳轉
ALARM
LDP #0E8H
LACL T1CON
AND #0FFBFH ;清TENABLE位
SACL T1CON ;停機
LDP #0
ALARM1
CALL BAOJING ;調報警子程序
B ALARM1
UP
BIT ABC,15
BCND CONSTANT,NTC ;不是加速則跳轉
LACL SPEEDUPN ;加速總步數減1
SUB #1
SACL SPEEDUPN
BCND UP1,NEQ ;加速總步數沒走完則跳轉
LACL ABC,1 ;修改標志,指向恒速
SACL ABC
B QUIT
UP1
LACL STEP ;級步數減1
SUB #1
SACL STEP
BCND QUIT,NEQ ;級步數沒走完則退出
LACL SPEEDN ;速度級數加1
ADD #1
SACL SPEEDN
LT SPEEDN
MPY #K ;計算級步數
PAC
SACL STEP
LDP #0E8H
LACL T1PR
SUB #10 ;周期值減10
SACL T1PR
B QUIT
CONSTANT
BIT ABC,14
BCND DOWN,NTC ;不是恒速則跳轉
LACL SPEEDCN ;恒速總步數減1
SUB #1
SACL SPEEDCN
BCND QUIT,NEQ ;恒速總步數沒走完則退出
LACL ABC,1 ;修改標志,指向減速
SACL ABC
B DOWN2
DOWN
LACL SPEEDWN ;減速總步數減1
SUB #1
SACL SPEEDWN
BCND DOWN1,NEQ ;減速總步數沒走完跳轉
LDP #0E8H
LACL T1CON ;總步數走完停機
AND #0FFBFH ;清TENABLE位
SACL T1CON ;停機
B QUIT
DOWN1
LACL STEP ;級步數減1
SUB #1
SACL STEP
BCND QUIT,NEQ ;級步數沒走完退出
DOWN2
LACL SPEEDN ;速度級數減1
SUB #1
SACL SPEEDN
LT SPEEDN ;計算級步數
MPY #K
PAC
SACL STEP
LDP #0E8H
LACL T1PR
ADD #10 ;周期值加10
SACL T1PR
QUIT ;退出
LDP #0
RET
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -