⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 md166bv1.lst

📁 步进马达控制程序
💻 LST
📖 第 1 页 / 共 5 页
字号:
0291 C4              610                     SWAP    A
0292 7004            611                     JNZ     TICK_LOP4
0294 C200     F      612                     CLR     STEP_DIRECT
0296 8005            613                     JMP     TICK_LOP5
0298 14              614     TICK_LOP4:      DEC     A
0299 502E            615                     JNC     TICK_EXIT
029B D200     F      616                     SETB    STEP_DIRECT
029D                 617     TICK_LOP5:
029D A20D            618     _TICK_START:    MOV     C,EXECUTE
029F 5017            619                     JNC     _TICK_STOP
02A1 A20A            620                     MOV     C,MOTOR_FD
02A3 B000     F      621                     ANL     C,/STEP_DIRECT
02A5 4011            622                     JC      _TICK_STOP
02A7 A204            623                     MOV     C,BD_END
02A9 8200     F      624                     ANL     C,STEP_DIRECT
02AB 400B            625                     JC      _TICK_STOP
02AD D291            626                     SETB    XFREE
A51 MACRO ASSEMBLER  MD166BV1                                                             05/27/2004 16:38:38 PAGE    10

02AF D290            627                     SETB    YFREE
02B1 750002   F      628                     MOV     STEP_MODEL,#02
02B4 D200     F      629                     SETB    STEP_M_FLAG
02B6 80E5            630                     JMP     _TICK_START
02B8 C200     F      631     _TICK_STOP:     CLR     STEP_M_FLAG
02BA 750000   F      632                     MOV     STEP_MODEL,#00
02BD C280            633                     CLR     XCW
02BF C293            634                     CLR     YCW
                     635             ;       SETB    XCW
                     636             ;       SETB    YCW
02C1 C281            637                     CLR     XCCW
02C3 C292            638                     CLR     YCCW
                     639             ;       SETB    XCCW
                     640             ;       SETB    YCCW
02C5 C291            641                     CLR     XFREE
02C7 C290            642                     CLR     YFREE
02C9 22              643     TICK_EXIT:      RET
                     644     ;--------------------------------------------------------------------
02CA E523            645     AUTO_MOVE:      MOV     A,INPORT3
02CC 54F0            646                     ANL     A,#0F0H
02CE C4              647                     SWAP    A
02CF 7004            648                     JNZ     _AUTO_LOP1
02D1 C200     F      649                     CLR     STEP_DIRECT
02D3 8005            650                     JMP     _AUTO_LOP2
02D5 14              651     _AUTO_LOP1:     DEC     A
02D6 5039            652                     JNC     _AUTO_EXIT
02D8 D200     F      653                     SETB    STEP_DIRECT
02DA A20D            654     _AUTO_LOP2:     MOV     C,EXECUTE
02DC 5033            655                     JNC     _AUTO_EXIT
02DE A20D            656     _AUTO_START:    MOV     C,EXECUTE
02E0 40FC            657                     JC      _AUTO_START
02E2 A200     F      658                     MOV     C,STEP_DIRECT
02E4 8204            659                     ANL     C,BD_END
02E6 4016            660                     JC      _AUTO_STOP
02E8 A20A            661                     MOV     C,MOTOR_FD
02EA B000     F      662                     ANL     C,/STEP_DIRECT
02EC 4010            663                     JC      _AUTO_STOP
02EE D291            664                     SETB    XFREE
02F0 D290            665                     SETB    YFREE
02F2 A200     F      666                     MOV     C,STEP_DIRECT
02F4 4005            667                     JC      _AUTO_S_LOP1
02F6 120000   F      668                     CALL    _AUTO_PLUS
02F9 8003            669                     JMP     _AUTO_STOP
02FB 120000   F      670     _AUTO_S_LOP1:   CALL    _AUTO_MINUS
                     671     
02FE 750000   F      672     _AUTO_STOP:     MOV     STEP_MODEL,#00
0301 C200     F      673                     CLR     STEP_A_FLAG
0303 C200     F      674                     CLR     T0_HL_FLAG
0305 C280            675                     CLR     XCW
0307 C293            676                     CLR     YCW
0309 C281            677                     CLR     XCCW
030B C292            678                     CLR     YCCW
030D C291            679                     CLR     XFREE
030F C290            680                     CLR     YFREE
0311 22              681     _AUTO_EXIT:     RET
                     682     ;-------------------------------------------------------
0312 750001   F      683     _AUTO_PLUS:     MOV     STEP_MODEL,#01
0315 C200     F      684                     CLR     STEP_A_FLAG
0317 C200     F      685                     CLR     T0_HL_FLAG
0319 D200     F      686                     SETB    STEP_M_FLAG
031B A204            687                     MOV     C,BD_END
031D 5010            688                     JNC     _PLUS_EXIT
031F A208            689     _PLUS_LOP1:     MOV     C,MOTOR_BD
0321 50FC            690                     JNC     _PLUS_LOP1
0323 0500     F      691                     INC     STEP_MODEL
0325 A209            692     _PLUS_LOP2:     MOV     C,MOTOR_MD
A51 MACRO ASSEMBLER  MD166BV1                                                             05/27/2004 16:38:38 PAGE    11

0327 50FC            693                     JNC     _PLUS_LOP2
0329 0500     F      694                     INC     STEP_MODEL
032B A20A            695     _PLUS_LOP3:     MOV     C,MOTOR_FD
032D 50FC            696                     JNC     _PLUS_LOP3
032F C200     F      697     _PLUS_EXIT:     CLR     STEP_M_FLAG
0331 750000   F      698                     MOV     STEP_MODEL,#00
0334 22              699                     RET
                     700     ;-------------------------------------------------------
0335 750001   F      701     _AUTO_MINUS:    MOV     STEP_MODEL,#01
0338 C200     F      702                     CLR     STEP_A_FLAG
033A C200     F      703                     CLR     T0_HL_FLAG
033C D200     F      704                     SETB    STEP_M_FLAG
033E A209            705     _MINUS_LOP1:    MOV     C,MOTOR_MD
0340 50FC            706                     JNC     _MINUS_LOP1
0342 0500     F      707                     INC     STEP_MODEL
0344 A208            708     _MINUS_LOP2:    MOV     C,MOTOR_BD
0346 50FC            709                     JNC     _MINUS_LOP2
0348 0500     F      710                     INC     STEP_MODEL
034A A204            711     _MINUS_LOP3:    MOV     C,BD_END
034C 50FC            712                     JNC     _MINUS_LOP3
034E C200     F      713                     CLR     STEP_M_FLAG
0350 750000   F      714                     MOV     STEP_MODEL,#00
0353 22              715                     RET
                     716     ;-------------------------------------------------------
0354 750001   F      717     _SYSTEM_INIT:   MOV     SEL_BYTE,#01
0357 750000   F      718                     MOV     tick_clock,#00
035A 750030   F      719                     MOV     LSB_PERIOD,#LOW(65536-2000)     ;1mS
035D 7500F8   F      720                     MOV     MSB_PERIOD,#HIGH(65536-2000)
0360 85008B   F      721                     MOV     TL1,LSB_PERIOD
0363 85008D   F      722                     MOV     TH1,MSB_PERIOD
0366 438910          723                     ORL     TMOD,#10H
0369 D2AF            724                     SETB    EA
036B D2AB            725                     SETB    ET1
036D D28E            726                     SETB    TR1
                     727                     WAIT    100
0376 C2B7            736                     CLR     OOE
0378 22              737                     RET
                     738     ;-------------------------------------------------------                
0379 85008C   F      739     _STEP_INIT:     MOV     TH0,T0_TH       
037C 85008A   F      740                     MOV     TL0,T0_TL
037F 438901          741                     ORL     TMOD,#01H
0382 D2AF            742                     SETB    EA
0384 D2A9            743                     SETB    ET0
0386 D28C            744                     SETB    TR0
0388 22              745                     RET
                     746     ;-------------------------------------------------------
0389 A202            747     _MACH_INIT:     MOV     C,CLAMP_BD
038B 5026            748                     JNC     _MACH_FAIL
                     749             ;       MOV     C,CLAMP_FD
                     750             ;       JC      _MACH_FAIL
038D A204            751                     MOV     C,BD_END
038F 402D            752                     JC      _MACH_END ;_MACH_MOVE
                     753             ;       MOV     T0_TH,#HIGH(65536-20000)        ;10mS
                     754             ;       MOV     T0_TL,#LOW(65536-20000)         ;RAD=1N/10S
                     755             ;       CLR     STEP_DIRECT                     ;0-PLUS;1-MINUS
                     756             ;       MOV     STEP_MODEL,#02                  ;HIGH SPEED
                     757             ;       SETB    STEP_M_FLAG
                     758             ;       MOV     R7,#10
                     759     ;_MACH_LOP1:    WAIT    100             ;10*100*10mS=10S
                     760             ;       DJNZ    R7,_MACH_LOP1
                     761             ;       CLR     STEP_M_FLAG
                     762             ;       MOV     STEP_MODEL,#00
                     763             ;       SETB    XCW
                     764             ;       SETB    YCW
                     765             ;       SETB    XCCW
                     766             ;       SETB    YCCW
A51 MACRO ASSEMBLER  MD166BV1                                                             05/27/2004 16:38:38 PAGE    12

                     767             ;       RET
0391 7500B1   F      768     _MACH_MOVE:     MOV     T0_TH,#HIGH(65536-20000)        ;10mS
0394 7500E0   F      769                     MOV     T0_TL,#LOW(65536-20000)         ;RAD=1N/10S
0397 D200     F      770                     SETB    STEP_DIRECT                     ;0-PLUS;1-MINUS
0399 750002   F      771                     MOV     STEP_MODEL,#02                  ;HIGH SPEED
039C D200     F      772                     SETB    STEP_M_FLAG
039E A204            773     _MOVE_LOP1:     MOV     C,BD_END
03A0 50FC            774                     JNC     _MOVE_LOP1
03A2 C200     F      775                     CLR     STEP_M_FLAG             ;CLOSE STEP MOTOR
                     776             ;       SETB    XCW
                     777             ;       SETB    YCW
                     778             ;       SETB    XCCW
                     779             ;       SETB    YCCW
03A4 C280            780                     CLR     XCW
03A6 C293            781                     CLR     YCW
03A8 C281            782                     CLR     XCCW
03AA C292            783                     CLR     YCCW
03AC C291            784                     CLR     XFREE
03AE C290            785                     CLR     YFREE
03B0 C200     F      786                     CLR     STEP_DIRECT                     ;0-PLUS;1-MINUS
                     787             ;       SETB    STEP_M_FLAG
                     788             ;       MOV     R7,#10
                     789     ;_MOVE_LOP2:    WAIT    100             ;10*100*10mS=10S
                     790             ;       DJNZ    R7,_MOVE_LOP2
                     791             ;       CLR     STEP_M_FLAG
                     792             ;       MOV     STEP_MODEL,#00
                     793             ;       SETB    XCW
                     794             ;       SETB    YCW
                     795             ;       SETB    XCCW
                     796             ;       SETB    YCCW
03B2 22              797                     RET
03B3 B248            798     _MACH_FAIL:     CPL     BUZZER
                     799                     WAIT    50
03BC 80F5            808                     JMP     _MACH_FAIL
03BE 22              809     _MACH_END:      RET
                     810     
                     811     ;=======================================================
03BF                 812     STEP_ACCEL:     ;01-ACCELERATE  
03BF C0E0            813                     PUSH    ACC
03C1 20000E   F      814                     JB      STEP_A_FLAG,ACCEL_LOP1
03C4 750016   F      815                     MOV     T0_TH,#HIGH(65536-59904);RAD(min)=2N/M  
03C7 750000   F      816                     MOV     T0_TL,#LOW (65536-59904)
03CA 85008C   F      817                     MOV     TH0,T0_TH

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -