直流电机闭环调速原理及汇编程序语言Word格式文档下载.docx
《直流电机闭环调速原理及汇编程序语言Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《直流电机闭环调速原理及汇编程序语言Word格式文档下载.docx(20页珍藏版)》请在冰豆网上搜索。
R1DW?
R2DW?
R3DW?
R4DW?
R5DW?
R6DW?
R7DB?
R8DW?
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MAIN:
CALLSYSTEM
CALLINIT
STI
M1:
MOVAL,TS
SUBAL,TC
JNCM1
MOVTC,00H
MOVAL,ZVV
MOVAH,00H
MOVYK,AX
CALLPID
MOVAL,CK
SUBAL,80H
JCIS0
MOVAAA,AL
JMPCOU
IS0:
MOVAL,10H
COU:
MOVAL,7FH
SUBAL,AAA
MOVBBB,AL
MOVAX,SPEC
MOVCH1,AL
MOVAX,YK
MOVCH2,AL
CALLPUT_COM
JMPM1
PUT_COM:
MOVAL,31H
OUT0C1H,AL
MOVAL,CH1
OUT0C0H,AL
WAIT1:
INAL,0C1H
TESTAL,01H
JZWAIT1
MOVAL,CH2
WAIT2:
JZWAIT2
MOVAL,34H
OUT0C1H,AL
RET
INIT:
NOP
PUSHDS
XORAX,AX
MOVDS,AX
MOVAX,OFFSETIRQ6
ADDAX,2000H
MOVSI,0038H
MOV[SI],AX
MOVAX,0000H
MOVSI,003AH
MOVAX,OFFSETIRQ7
MOVSI,003CH
MOVSI,003EH
CLI
POPDS
INAL,21H
ANDAL,3FH
OUT21H,AL
MOVVADD,0000H
MOVZV,00H
MOVZVV,00H
MOVCK,00H
MOVYK,0000H
MOVCK_1,00H
MOVEK_1,0000H
MOVAEK_1,0000H
MOVBEK,0000H
MOVBBB,00H
MOVVBB,00H
MOVR0,0000H
MOVR1,0000H
MOVR2,0000H
MOVR3,0000H
MOVR4,0000H
MOVR5,0000H
MOVR6,0000H
MOVR7,00H
MOVR8,0000H
MOVMARK,00H
MOVFPWM,01H
MOVAAA,7FH
MOVVAA,7FH
MOVTC,00H
MOVAL,80H
OUT63H,AL
MOVAL,00H
OUT61H,AL
MOVAL,0B6H
OUT43H,AL
MOVAL,8FH
OUT42H,AL
MOVAL,04H
RET
SYSTEM:
MOVAL,76H
MOVAL,0CH
OUT41H,AL
MOVAL,00H
CALLDLY1
OUT0C0H,AL
MOVAL,40H
CALLDLY1
MOVAL,7EH
OUT0C1H,AL
MOVAL,34H
CALLDLY1
ORAL,01H
OUT21H,AL
DLY1:
PUSHCX
MOVCX,3000H
B2:
PUSHAX
POPAX
LOOPB2
POPCX
IRQ7:
PUSHBX
PUSHCX
PUSHDX
PUSHF
MOVAL,MARK
CMPAL,01H
JZIN1
MOVMARK,01H
IN2:
MOVAL,20H
OUT20H,AL
POPF
POPDX
POPCX
POPBX
IRET
IN1:
CALLVV
MOVAL,ZV
MOVZVV,AL
JMPIN2
VV:
MOVDX,0000H
MOVAX,03E8H
MOVCX,VADD
CMPCX,0000H
JZMM1
DIVCX
MM:
MOVZV,AL
MM1:
IRQ6:
NOP
INCTC
CALLKJ
CLC
CMPMARK,01H
JCTT1
INCVADD
CMPVADD,0700H
MOVVADD,0700H
TT1:
MOVAL,20H;
CloseIRQ6
KJ:
CMPFPWM,01H
JNZTEST2
CMPVAA,00H
JNZANOT0
MOVFPWM,02H
MOVAL,BBB
RCRAL,01H
MOVVBB,AL
JMPTEST2
ANOT0:
DECVAA
MOVAL,01H
TEST2:
CMPFPWM,02H
JNZOUTT
CMPVBB,00H
JNZBNOT0
MOVAL,AAA
MOVVAA,AL
JMPOUTT
BNOT0:
DECVBB
OUT61H,AL
OUTT:
PID:
MOVAX,SPEC
SUBAX,YK
MOVR0,AX
MOVR1,AX
SUBAX,EK_1
MOVR2,AX
SUBAX,AEK_1
MOVBEK,AX
MOVR8,AX
MOVAX,R1
MOVEK_1,AX
MOVAX,R2
MOVAEK_1,AX
TESTR1,8000H
JZEK1
NEGR1
EK1:
SUBAX,IBAND
JCII
MOVR3,00H
JMPDDD
II:
MOVAL,TS
MOVCX,R1
MULCX
MOVCX,KII
MOVR3,AX
TESTR0,8000H
JZDDD
NEGR3
DDD:
TESTBEK,8000H
JZDDD1
NEGBEK
DDD1:
MOVAX,BEK
MOVCX,KDD
MULCX
MOVCX,0008H
MOVCX,AX
MOVR4,AX
TESTR8,8000H
JZDD1
NEGR4
DD1:
MOVAX,R3
ADDAX,R4
MOVR5,AX
JOL9
L2:
MOVAX,R5
ADDAX,R2
MOVR6,AX
JOL3
L5:
MOVAX,R6
MOVCX,KPP
IMULCX
MOVCX,1000H
IDIVCX
MOVCX,AX
RCLAH,01H
RCRAL,01H
JCLLL1
CMPCH,00H
JZLLL2
MOVAL,7FH
JMPLLL2
LLL1:
CMPCH,0FFH
MOVAL,80H
LLL2:
MOVR7,AL
ADDAL,CK_1
JOL8
L18:
MOVCK_1,AL
ADDAL,80H
MOVCK,AL
L8:
TESTR7,80H
JNZL17
JMPL18
L17:
MOVAL,80H
JMPL18
L9:
TESTR3,8000H
JNZL1
MOVR5,7FFFH
JMPL2
L1:
MOVR5,8000H
L3:
TESTR2,8000H
JNZL4
MOVR6,7FFFH
JMPL5
L4:
MOVR6,8000H
CODEENDS
ENDSTART