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

📄 bujinchengxu.asm

📁 本人自己开发的步进电机驱动器(带细分)程序代码。汇编写的。
💻 ASM
📖 第 1 页 / 共 3 页
字号:
      MOV 50H,#5BH;2
      LCALL SGW
      MOV 50H,#4FH;3
      LCALL SGW
      MOV 50H,#66H;4
      LCALL SGW
      MOV 50H,#6DH;5
      LCALL SGW
      MOV 50H,#7DH;6
      LCALL SGW
      MOV 50H,#7H;7
      LCALL SGW
      MOV 50H,#7FH;8
      LCALL SGW
      MOV 50H,#6FH;9
      LCALL SGW
      MOV 50H,#3FH;0
      LJMP GEW
  SGW:LCALL YANSHIC
 D122:MOV R7,#255
 D123:MOV R6,#255
 D124:JNB P2.2,D125
      DJNZ R6,D124
      DJNZ R7,D123
      MOV A,40H
      JZ D125
      MOV 40H,#0H
      SJMP D126
 D125:MOV 40H,50H
 D126:JB P2.2,D122
 D127:JB P2.1,D128
      JB P2.0,SHIW
      LJMP TUICHUSMC
 D128:JB P2.0,D129
      RET
 D129:LJMP D169
;*************
  SHIW:MOV 40H,50H
       LCALL SHW;十位
       MOV 51H,#6H;1
       LCALL SHW
       MOV 51H,#5BH;2
       LCALL SHW
       MOV 51H,#4FH;3
       LCALL SHW
       MOV 51H,#66H;4
       LCALL SHW
       MOV 51H,#6DH;5
       LCALL SHW
       MOV 51H,#7DH;6
       LCALL SHW
       MOV 51H,#7H;7
       LCALL SHW
       MOV 51H,#7FH;8
       LCALL SHW
       MOV 51H,#6FH;9
       LCALL SHW
       MOV 51H,#3FH;0
       LJMP SHIW
   SHW:LCALL YANSHIC
  D130:MOV R7,#255
  D131:MOV R6,#255
  D132:JNB P2.2,D133
       DJNZ R6,D132
       DJNZ R7,D131
       MOV A,41H
       JZ D133
       MOV 41H,#0H
       SJMP D134
  D133:MOV 41H,51H
  D134:JB P2.2,D130
  D135:JB P2.1,D136
       JB P2.0,BAIW
       LJMP TUICHUSMC
  D136:JB P2.0,D137
       RET
  D137:LJMP D169
;********
    BAIW:MOV 41H,51H
           LCALL YANSHIC
           LCALL SBW;百位
           MOV 52H,#6H;1
           LCALL SBW
           MOV 52H,#5BH;2
           LCALL SBW
           MOV 52H,#4FH;3
           LCALL SBW
           MOV 52H,#66H;4
           LCALL SBW
           MOV 52H,#6DH;5
           LCALL SBW
           MOV 52H,#7DH;6
           LCALL SBW
           MOV 52H,#7H;7
           LCALL SBW
           MOV 52H,#7FH;8
           LCALL SBW
           MOV 52H,#6FH;9
           LCALL SBW
           MOV 52H,#3FH;0
           SJMP BAIW
       SBW:LCALL YANSHIC
      D138:MOV R7,#255
      D139:MOV R6,#255
      D140:JNB P2.2,D141
           DJNZ R6,D140
           DJNZ R7,D139
           MOV A,42H
           JZ D141
           MOV 42H,#0H
           SJMP D142
      D141:MOV 42H,52H
      D142:JB P2.2,D138
      D143:JB P2.1,D144
           JB P2.0,QIANW
           LJMP TUICHUSMC
      D144:JB P2.0,D145
           RET
      D145:LJMP D169;跳向设定细分倍数转换程序,最终跳向细分倍数设定程序.
;*************
    QIANW:MOV 42H,52H
           LCALL YANSHIC
           LCALL SQW;千位
           MOV 53H,#6H;1
           LCALL SQW
           MOV 53H,#5BH;2
           LCALL SQW
           MOV 53H,#4FH;3
           LCALL SQW
           MOV 53H,#66H;4
           LCALL SQW
           MOV 53H,#6DH;5
           LCALL SQW
           MOV 53H,#7DH;6
           LCALL SQW
           MOV 53H,#7H;7
           LCALL SQW
           MOV 53H,#7FH;8
           LCALL SQW
           MOV 53H,#6FH;9
           LCALL SQW
           MOV 53H,#3FH;0
           SJMP QIANW
       SQW:LCALL YANSHIC
      D146:MOV R7,#255
      D147:MOV R6,#255
      D148:JNB P2.2,D149
           DJNZ R6,D148
           DJNZ R7,D147
           MOV A,43H
           JZ D149
           MOV 43H,#0H
           SJMP D150
      D149:MOV 43H,53H
      D150:JB P2.2,D146
      D151:JB P2.1,D152
           JB P2.0,WANW
           LJMP TUICHUSMC
      D152:JB P2.0,D153
           RET
      D153:LJMP D169
;***********
      WANW:MOV 43H,53H
           LCALL YANSHIC
           LCALL SWW;万位
           MOV 54H,#86H;1
           LCALL SWW
           MOV 54H,#0DBH;2
           LCALL SWW
           MOV 54H,#0CFH;3
           LCALL SWW
           MOV 54H,#0E6H;4
           LCALL SWW
           MOV 54H,#0EDH;5
           LCALL SWW
           MOV 54H,#0FDH;6
           LCALL SWW
           MOV 54H,#87H;7
           LCALL SWW
           MOV 54H,#0FFH;8
           LCALL SWW
           MOV 54H,#0EFH;9
           LCALL SWW
           MOV 54H,#0BFH;0
           SJMP WANW
       SWW:LCALL YANSHIC
      D154:MOV R7,#255
      D155:MOV R6,#255
      D156:JNB P2.2,D157
           DJNZ R6,D156
           DJNZ R7,D155
           MOV A,44H
           JZ D157
           MOV 44H,#0H
           SJMP D158
      D157:MOV 44H,54H
      D158:JB P2.2,D154
      D159:JB P2.1,D160
           JB P2.0,SHIWANW
           LJMP TUICHUSMC
      D160:JB P2.0,D161
           RET
      D161:LJMP D169
;**********
SHIWANW:MOV 44H,54H
        LCALL YANSHIC
        LCALL SSWW;十万位
        MOV 55H,#86H;1
        LCALL SSWW
        MOV 55H,#0DBH;2
        LCALL SSWW
        MOV 55H,#0CFH;3
        LCALL SSWW
        MOV 55H,#0E6H;4
        LCALL SSWW
        MOV 55H,#0EDH;5
        LCALL SSWW
        MOV 55H,#0FDH;6
        LCALL SWW
        MOV 55H,#87H;7
        LCALL SSWW
        MOV 55H,#0FFH;8
        LCALL SSWW
        MOV 55H,#0EFH;9
        LCALL SSWW
        MOV 55H,#0BFH;0
        SJMP SHIWANW
   SSWW:LCALL YANSHIC
   D162:MOV R7,#255
   D163:MOV R6,#255
   D164:JNB P2.2,D165
        DJNZ R6,D164
        DJNZ R7,D163
        MOV A,45H
        JZ D165
        MOV 45H,#0H
        SJMP D166
   D165:MOV 45H,55H
   D166:JB P2.2,D162
   D167:JB P2.1,D168
        JB P2.0,BAIWANW
        LJMP TUICHUSMC
   D168:JB P2.0,D169
        RET
   D169:MOV A,56H
          CJNE A,#0BFH,D202
          MOV 56H,#80H
          MOV A,55H
          CJNE A,#0BFH,D202
          MOV 55H,#80H
          MOV A,54H
          CJNE A,#0BFH,D202
          MOV 54H,#80H
          MOV A,53H
          CJNE A,#3FH,D202
          MOV 53H,#0H
          MOV A,52H
          CJNE A,#3FH,D202
          MOV 52H,#0H
          MOV A,51H
          CJNE A,#3FH,D202
          MOV 51H,#0H
     D202:LJMP XFBS
TUICHUSMC:MOV A,56H
          CJNE A,#0BFH,D201
          MOV 56H,#80H
          MOV A,55H
          CJNE A,#0BFH,D201
          MOV 55H,#80H
          MOV A,54H
          CJNE A,#0BFH,D201
          MOV 54H,#80H
          MOV A,53H
          CJNE A,#3FH,D201
          MOV 53H,#0H
          MOV A,52H
          CJNE A,#3FH,D201
          MOV 52H,#0H
          MOV A,51H
          CJNE A,#3FH,D201
          MOV 51H,#0H
     D201:LJMP MONEY
;**********
   BAIWANW:LCALL SBWW;百万位
           MOV 56H,#86H;1
           LCALL SBWW
           MOV 56H,#0DBH;2
           LCALL SBWW
           MOV 56H,#0CFH;3
           LCALL SBWW
           MOV 56H,#0E6H;4
           LCALL SBWW
           MOV 56H,#0EDH;5
           LCALl SBWW
           MOV 56H,#0FDH;6
           LCALL SBWW
           MOV 56H,#87H;7
           LCALL SBWW
           MOV 56H,#0FFH;8
           LCALL SBWW
           MOV 56H,#0EFH;9
           LCALL SBWW
           SJMP BAIWANW
      SBWW:LCALL YANSHIC
      D170:MOV R7,#255
      D171:MOV R6,#255
      D172:JNB P2.2,D173
           DJNZ R6,D172
           DJNZ R7,D171
           MOV A,46H
           JZ D173
           MOV 46H,#0H
           SJMP D174
      D173:MOV 46H,56H
      D174:JB P2.2,D170
      D175:JB P2.1,D176
           JB P2.0,D178
           LJMP TUICHUSMC
      D176:JB P2.0,D177
           RET
      D177:LJMP XFBS
      D178:LJMP SMAICHONG
;****************设定电流初始化*************************
DIANLIU:MOV 40H,47H;显示上次设定值0.1位
        MOV 41H,48H;显示上次设定值个位
        MOV 42H,#0H
        MOV 43H,#0H
        MOV 44H,#0H
        MOV 45H,#0H
        MOV 46H,#0H
        LCALL YANSHIC;延时长
    D53:JB P2.2,D53
        JB P2.1,D51
        JB P2.0,D53
        LJMP TUICHU
    D51:JNB P2.0,D52
        LJMP FX0
    D52:MOV 33H,#202;设定电流
        MOV 40H,#3FH
        MOV 41H,#3FH
;*****************设定电流及显示电流大小************************
    SW:LCALL GW;十位
       MOV 41H,#6H;1
       LCALL GW
       MOV 41H,#5BH;2
       LCALL GW
       MOV 41H,#4FH;3
       LCALL GW
       MOV 41H,#66H;4
       LCALL GW
       MOV 41H,#6DH;5
       LCALL GW
       MOV 41H,#7DH;6
       LCALL GW
       MOV 41H,#7H;7
       LCALL GW
       MOV 41H,#7FH;8
       LCALL GW
       MOV 41H,#6FH;9
       LCALL GW
       MOV A,33H
       ADD A,#200
       MOV 33H,A
       LJMP SW
   GW:
      LCALL SAOMIAOX
      MOV 40H,#6H;1
      LCALL SAOMIAOX
      MOV 40H,#5BH;2
      LCALL SAOMIAOX
      MOV 40H,#4FH;3
      LCALL SAOMIAOX
      MOV 40H,#66H;4
      LCALL SAOMIAOX
      MOV 40H,#6DH;5
      LCALL SAOMIAOX
      MOV 40H,#7DH;6
      LCALL SAOMIAOX
      MOV 40H,#7H;7
      LCALL SAOMIAOX
      MOV 40H,#7FH;8
      LCALL SAOMIAOX
      MOV 40H,#6FH;9
      LCALL SAOMIAOX
      MOV 40H,#3FH;0
      RET
SAOMIAOX:JB P2.2,SAOMIAOX
         JB P2.1,D57
         JB P2.0,SAOMIAOX
         SJMP JNB3;退出
     D57:JNB P2.0,D56
         SJMP JNB6;设定方向
     D56:MOV R7,#255
      D4:MOV R6,#255
      D3:NOP
         NOP
         NOP
         NOP
         NOP
         NOP
         NOP
         NOP
         DJNZ R6,D3
         DJNZ R7,D4
         MOV A,33H
         CLR C
         SUBB A,#2
         MOV 33H,A
         RET
JNB3:CLR EA;退出
     MOV 47H,40H;保存设定值个位显示数据.
     MOV 48H,41H;保存设定值十位显示数据.
     MOV P1,33H
     CLR P2.5
     NOP
     NOP
     NOP
     SETB P2.5
     SETB P2.7
     SETB EA
     LJMP TUICHU
JNB6:CLR EA
     MOV 47H,40H;保存设定值个位显示数据.
     MOV 48H,41H;保存设定值十位显示数据.
     MOV P1,33H
     CLR P2.5
     NOP
     NOP
     NOP
     SETB P2.5
     SETB P2.7
     SETB EA
     LJMP FX0
;******************定时器中断服务程序***************
DINGSHI:JNB 08H,SAOMIAO1
        JNB 09H,SAOMIAO2
        JNB 0AH,SAOMIAO3
        JNB 0BH,SAOMIAO4
        JNB 0CH,SAOMIAO5
        JNB 0DH,SAOMIAO6
SAOMIAO:MOV P0,40H
        CLR P2.7
        CLR P2.6
        CLR 08H
        MOV TL1,#0H
        MOV TH1,#0FBH
        SETB EX0
        RETI
SAOMIAO1:MOV P0,41H
         SETB P2.6
         CLR 09H
         SETB 08H
         MOV TL1,#0FFH
         MOV TH1,#0FBH
         SETB EX0
         RETI
SAOMIAO2:MOV P0,42H
         SETB P2.7
         CLR P2.6
         CLR 0AH
         SETB 09H
         MOV TL1,#0FFH
         MOV TH1,#0FBH
         SETB EX0
         RETI
SAOMIAO3:MOV P0,43H
         SETB P2.6
         CLR 0BH
         SETB 0AH
         MOV TL1,#0FFH
         MOV TH1,#0FBH
         SETB EX0
         RETI
SAOMIAO4:MOV P0,44H;3
         CLR P2.6;1
         CLR P2.7;1
         CLR 0CH
         SETB 0BH
         MOV TL1,#0FFH;3
         MOV TH1,#0FBH;3
         SETB EX0;2
         RETI;1
SAOMIAO5:MOV P0,45H
         SETB P2.6
         MOV TL1,#0FFH
         MOV TH1,#0FBH
         CLR 0DH
         SETB 0CH
         RETI
SAOMIAO6:MOV P0,46H
         SETB P2.7
         CLR P2.6
         MOV TL1,#0FFH
         MOV TH1,#0FBH
         SETB 0DH
         RETI

END

⌨️ 快捷键说明

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