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

📄 bujinchengxu.asm

📁 本人自己开发的步进电机驱动器(带细分)程序代码。汇编写的。
💻 ASM
📖 第 1 页 / 共 3 页
字号:

;*************以下为细分倍数设定程序******************************************************
XFBS:MOV 40H,#6H;设定细分倍数
     MOV 41H,#0H
     MOV 42H,#0H
     MOV 43H,#0H
     MOV 44H,#0H
     MOV 45H,#0H
     MOV 46H,#0H
     MOV 32H,#90;1倍
     LCALL YANSHIC;延时长
;********1倍***********上
;********2倍***********下
XFBS2:JNB P2.2,D25;2倍
      SJMP XFBS2
  D25:JB P2.1,D24
      JB P2.0,XFBS2
      AJMP TUICHU
  D24:JB P2.0,D26
      MOV 40H,#5BH
      MOV 32H,#45
      LCALL YANSHIC;延时长
;********3倍***********下
XFBS3:JNB P2.2,D27;3倍
      SJMP XFBS3
  D27:JB P2.1,D28
      JB P2.0,XFBS3
      AJMP TUICHU
  D28:JB P2.0,D26
      MOV 40H,#4FH
      MOV 32H,#30
      LCALL YANSHIC
;**********5倍********下
XFBS5:JNB P2.2,D29;5倍
      SJMP XFBS5
  D29:JB P2.1,D30
      JB P2.0,XFBS5
      AJMP TUICHU
  D30:JB P2.0,D26
      MOV 40H,#6DH
      MOV 32H,#18
      LCALL YANSHIC
;******6倍**********下
XFBS6:JNB P2.2,D31
      SJMP XFBS6
  D31:JB P2.1,D32
      JB P2.0,XFBS6
      AJMP TUICHU
  D32:JB P2.0,D26
      MOV 40H,#7DH
      MOV 32H,#15
      LCALL YANSHIC
;********9倍*******下
XFBS9:JNB P2.2,D33
      SJMP XFBS9
  D33:JB P2.1,D34
      JB P2.0,XFBS9
      AJMP TUICHU
  D34:JB P2.0,D26
      MOV 40H,#6FH
      MOV 32H,#10
      LCALL YANSHIC
       SJMP XFBS10
D26:LJMP DIANLIU
;*********10倍*********下
XFBS10:JNB P2.2,D35
       SJMP XFBS10
   D35:JB P2.1,D36
       JB P2.0,XFBS10
       AJMP TUICHU
   D36:JB P2.0,D26
       MOV 40H,#3FH
       MOV 41H,#6H
       MOV 32H,#9
       LCALL YANSHIC
;*********15倍*********
XFBS15:JNB P2.2,D37
       SJMP XFBS15
   D37:JB P2.1,D38
       JB P2.0,XFBS15
       AJMP TUICHU
   D38:JB P2.0,D26
       MOV 40H,#6DH
       MOV 32H,#6
       LCALL YANSHIC
;**********18倍*********
XFBS18:JNB P2.2,D39
       SJMP XFBS18
   D39:JB P2.1,D40
       JB P2.0,XFBS18
       AJMP TUICHU
   D40:JB P2.0,D50
       MOV 40H,#7FH
       MOV 32H,#5
       LCALL YANSHIC
;**********30倍*********
XFBS30:JNB P2.2,D41
       SJMP XFBS30
   D41:JB P2.1,D42
       JB P2.0,XFBS30
       AJMP TUICHU
   D42:JB P2.0,D50
       MOV 40H,#3FH
       MOV 41H,#4FH
       MOV 32H,#3
       LCALL YANSHIC
;**********45倍**********
XFBS45:JNB P2.2,D43
       SJMP XFBS45
   D43:JB P2.1,D44
       JB P2.0,XFBS45
       AJMP TUICHU
   D44:JB P2.0,D50
       MOV 40H,#6DH
       MOV 41H,#66H
       MOV 32H,#2
       LCALL YANSHIC
;**********90倍***********下
XFBS90:JNB P2.2,D45
       SJMP XFBS90
   D45:JB P2.1,D46
       JB P2.0,XFBS90
       AJMP TUICHU
   D46:JB P2.0,D50
       MOV 40H,#3FH
       MOV 41H,#6FH
       MOV 32H,#1
       LCALL YANSHIC
;**********返回1倍*********
   D48:JNB P2.2,D47
       SJMP D48
   D47:JB P2.1,D49
       JB P2.0,D48
       AJMP TUICHU
   D49:JB P2.0,D50
       AJMP XFBS;
D50:LJMP DIANLIU;跳到设定电流
;**************以上为设定细分倍数程序段***********************************************
;**************以下程序为设定频率程序**************************************************
    SPINLV:
           MOV 40H,57H;显示上次设定周期数个位
           MOV 41H,58H;显示上次设定周期数十位
           MOV 42H,59H;显示上次设定周期数百位
           MOV 43H,5AH;显示上次设定周期数千位
           MOV 44H,5BH;显示上次设定周期数万位
           MOV 45H,#0H;显示空.
           MOV 46H,#0H;显示空.
    SPINLV1:LCALL YANSHIC
       D58:JB P2.2,D58;低电平有效.
           JB P2.1,D59;
           JB P2.0,D60
           LJMP TUICHUSP
       D59:JNB P2.0,SPINLV1
           AJMP SMAICHONG
       D60:MOV 35H,#195;设定频率
           MOV 36H,#255
           MOV 57H,#3FH;
           MOV 58H,#3FH
           MOV 59H,#3FH
           MOV 5AH,#3FH
           MOV 5BH,#0BFH
           MOV 40H,57H
           MOV 41H,58H
           MOV 42H,59H
           MOV 43H,5AH
           MOV 44H,5BH
 GWEI:LCALL SG
      MOV 57H,#6H;1
      LCALL SG
      MOV 57H,#5BH;2
      LCALL SG
      MOV 57H,#4FH;3
      LCALL SG
      MOV 57H,#66H;4
      LCALL SG
      MOV 57H,#6DH;5
      LCALL SG
      MOV 57H,#7DH;6
      LCALL SG
      MOV 57H,#7H;7
      LCALL SG
      MOV 57H,#7FH;8
      LCALL SG
      MOV 57H,#6FH;9
      LCALL SG
      MOV 57H,#3FH;0
      clr ea
      MOV A,35H
      CLR C
      ADD A,#10
      MOV 35H,A
      JNC D204
      INC 36H
 D204:setb ea
      LJMP GWEI
        SG:LCALL YANSHIC
       D62:MOV R7,#255
       D63:MOV R6,#255
       D64:JNB P2.2,D65
           DJNZ R6,D64
           DJNZ R7,D63
           MOV A,40H
           JZ D65
           MOV 40H,#0H
           SJMP D66
       D65:MOV 40H,57H
       D66:JB P2.2,D62
           JB P2.1,D67
           JB P2.0,SWEI
           LJMP TUICHUSP
       D67:JB P2.0,D69
clr ea
           MOV A,35H
           CLR C
           MOV A,35H
           DEC A
           MOV 35H,A
           JNC D68
           DEC 36H
       D68:setb ea
RET
       D69:LJMP SMAICHONG
  SWEI:
        MOV 40H,57H
  SWEI1:LCALL SS
        MOV 58H,#6H;1
        LCALL SS
        MOV 58H,#5BH;2
        LCALL SS
        MOV 58H,#4FH;3
        LCALL SS
        MOV 58H,#66H;4
        LCALL SS
        MOV 58H,#6DH;5
        LCALL SS
        MOV 58H,#7DH;6
        LCALL SS
        MOV 58H,#7H;7
        LCALL SS
        MOV 58H,#7FH;8
        LCALL SS
        MOV 58H,#6FH;9
        LCALL SS
        MOV 58H,#3FH;0
clr ea
        MOV A,35H
        CLR C
        ADD A,#100
        MOV 35H,A
        JNC D203
        INC 36H
    D203:setb ea
LJMP SWEI1
        SS:LCALL YANSHIC
       D72:MOV R7,#255
       D73:MOV R6,#255
       D74:JNB P2.2,D75
           DJNZ R6,D74
           DJNZ R7,D73
           MOV A,41H
           JZ D75
           MOV 41H,#0H
           SJMP D76
       D75:MOV 41H,58H
       D76:JB P2.2,D72
           JB P2.1,D77
           JB P2.0,BWEI
           LJMP TUICHUSP
       D77:JB P2.0,D79
clr ea
           MOV A,35H
           CLR C
           SUBB A,#10
           MOV 35H,A
           JNC D78
           DEC 36H
       D78:setb ea
RET
       D79:LJMP SMAICHONG
    BWEI:
           MOV 41H,58H
       D88:ACALL SB;百位
           MOV 59H,#6H;1
           ACALL SB
           MOV 59H,#5BH;2
           ACALL SB
           MOV 59H,#4FH;3
           ACALL SB
           MOV 59H,#66H;4
           ACALL SB
           MOV 59H,#6DH;5
           ACALL SB
           MOV 59H,#7DH;6
           ACALL SB
           MOV 59H,#7H;7
           ACALL SB
           MOV 59H,#7FH;8
           ACALL SB
           MOV 59H,#6FH;9
           ACALL SB
           MOV 59H,#3FH;0
clr ea
           MOV A,35H
           CLR C
           ADD A,#235
           MOV 35H,A
           MOV A,36H
           ADDC A,#3
           MOV 36H,A
setb ea
           AJMP D88
        SB:LCALL YANSHIC
       D80:MOV R7,#255
       D81:MOV R6,#255
       D82:JNB P2.2,D83
           DJNZ R6,D82
           DJNZ R7,D81
           MOV A,42H
           JZ D83
           MOV 42H,#0H
           SJMP D84
       D83:MOV 42H,59H
       D84:JB P2.2,D80
           JB P2.1,D85
           JB P2.0,QWEI
           LJMP TUICHUSP
       D85:JB P2.0,D87
clr ea
           MOV A,35H
           CLR C
           SUBB A,#100
           MOV 35H,A
           JNC D86
           DEC 36H
       D86:setb ea
RET
       D87:LJMP SMAICHONG
QWEI:MOV 42H,59H
   D90:ACALL SQ;
       MOV 5AH,#6H;1
       ACALL SQ
       MOV 5AH,#5BH;2
       ACALL SQ
       MOV 5AH,#4FH;3
       ACALL SQ
       MOV 5AH,#66H;4
       ACALL SQ
       MOV 5AH,#6DH;5
       ACALL SQ
       MOV 5AH,#7DH;6
       ACALL SQ
       MOV 5AH,#7H;7
       ACALL SQ
       MOV 5AH,#7FH;8
       ACALL SQ
       MOV 5AH,#6FH;9
       ACALL SQ
       MOV 5AH,#3FH;0
clr ea
       MOV A,35H
       CLR C
       ADD A,#55
       MOV 35H,A
       MOV A,36H
       ADDC A,#39
       MOV 36H,A
setb ea
       AJMP D90
    SQ:LCALL YANSHIC
   D91:MOV R7,#255
   D92:MOV R6,#255
   D93:JNB P2.2,D94
       DJNZ R6,D93
       DJNZ R7,D92
       MOV A,43H
       JZ D94
       MOV 43H,#0H
       SJMP D95
   D94:MOV 43H,5AH
   D95:JB P2.2,D91
   D96:JB P2.1,D97
       JB P2.0,WWEI
       LJMP TUICHUSP
   D97:JB P2.0,D99
       CLR EA
       MOV A,35H
       CLR C
       SUBB A,#235
       MOV 35H,A
       MOV A,36H
       SUBB A,#3
       MOV 36H,A
       SETB EA
       RET
   D99:LJMP SMAICHONG
WWEI:SETB 02H
      MOV 43H,5AH
 D100:ACALL SHEW;0
      MOV 5BH,#86H;1
      ACALL SHEW;1
      MOV 5BH,#0DBH;2
      ACALL SHEW;2
      MOV 5BH,#0CFH;3
      ACALL SHEW;3
      MOV 5BH,#0E6H;4
      ACALL SHEW;4
      MOV 5BH,#0EDH;5
      ACALL SHEW;5
      MOV 5BH,#0FDH;6
      ACALL SHEW;万位
      MOV 5BH,#0BFH;0
clr ea
      MOV A,35H
      CLR C
      ADD A,#75
      MOV 35H,A
      MOV A,36H
      ADDC A,#235
      MOV 36H,A
setb ea
      AJMP D100
 SHEW:LCALL YANSHIC
  D101:MOV R7,#255
  D102:MOV R6,#255
  D103:JNB P2.2,D104
       DJNZ R6,D103
       DJNZ R7,D102
       MOV A,44H
       JZ D104
       MOV 44H,#0H
       SJMP D105
  D104:MOV 44H,5BH
  D105:JB P2.2,D101
       JB P2.1,D106
       JB P2.0,D109
       LJMP TUICHUSP
  D106:JB P2.0,D108
       CLR EA
       MOV A,5BH
       CJNE A,#0FDH,D200
       SETB EA
       RET
  D200:MOV A,35H
       CLR C
       SUBB A,#56
       MOV 35H,A
  D107:MOV A,36H
       SUBB A,#39
       MOV 36H,A
       SETB EA
       RET
  D108:LJMP SMAICHONG
  D109:LJMP SPINLV
TUICHUSP:LJMP MONEY
;***************以上为设定频率程序段****************************************************
YANSHIC:MOV R5,#255
        YSC:MOV R4,#255
        YSC1:NOP
        NOP
        NOP
        NOP
        NOP
        NOP
        DJNZ R4,YSC1
        DJNZ R5,YSC
        RET
;************以下程序为设定脉冲数量程序(内部模式)**************
SMAICHONG:;设脉冲
          MOV 40H,50H;
          MOV 41H,51H;设定脉冲初始值,当各位和十位为"00"时既可无限制个脉冲.
          MOV 42H,52H
          MOV 43H,53H
          MOV 44H,54H
          MOV 45H,55H
          MOV 46H,56H
     D179:LCALL YANSHIC
     D120:JB P2.2,D120
          JB P2.1,D121
          JB P2.0,D180
          LJMP TUICHUSMC
     D121:JNB P2.0,D179
          LJMP XFBS
     D180:MOV 50H,#3FH
          MOV 51H,#3FH
          MOV 52H,#3FH
          MOV 53H,#3FH
          MOV 54H,#0BFH
          MOV 55H,#0BFH
          MOV 56H,#0BFH
          MOV 40H,50H
          MOV 41H,51H
          MOV 42H,52H
          MOV 43H,53H
          MOV 44H,54H
          MOV 45H,55H
          MOV 46H,56H
GEW:
      LCALL SGW
      MOV 50H,#6H;1
      LCALL SGW

⌨️ 快捷键说明

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