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

📄 md166bv1.lst

📁 步进马达控制程序
💻 LST
📖 第 1 页 / 共 5 页
字号:
A51 MACRO ASSEMBLER  MD166BV1                                                             05/27/2004 16:38:38 PAGE     1


MACRO ASSEMBLER A51 V7.01
OBJECT MODULE PLACED IN MD166BV1.OBJ
ASSEMBLER INVOKED BY: C:\KEIL\C51\BIN\A51.EXE MD166BV1.ASM SET(SMALL) DEBUG EP

LOC  OBJ            LINE     SOURCE

                       1     ;//-------------------------------------------------------------------------
                       2     ;//     Copyright (c) Johnson Electric Industry Mfty. Ltd.
                       3     ;//     Filename :  Md166bv1.ASM
                       4     ;//     Language :  ASM for AT89C52
                       5     ;//     Revision :  1.0
                       6     ;//  Initial Date :  19/05/2004
                       7     ;//  Last Modify :  20/05/2004
                       8     ;//  System clock :  24.00MHZ
                       9     ;//  Description : 
                      10     ;//                
                      11     ;//-------------------------------------------------------------------------
                      12      ;       NAME   md166B
                      13      ;       PUBLIC  ?C_START
                      14     ;$include (D:\works\md166B\md166B.inc)
                      15     ;$include (D:\dyh\md166B.inc)
                +1    16     
                +1    17     ;NAME   INPUT_PORT
                +1    18     ;INPUT PORTS
                +1    19     ;INPORT0                EQU     01H
                +1    20     ;INPORT1                EQU     02H
                +1    21     ;INPORT2                EQU     04H
                +1    22     ;INPORT3                EQU     08H
                +1    23     ;INPORT4                EQU     10H
                +1    24     ;INPORT5                EQU     20H
                +1    25     ;INPORT6                EQU     40H
                +1    26     ;INPORT7                EQU     80H
  00B3          +1    27     OE              BIT     P3.3
  00B4          +1    28     OST             BIT     P3.4
  00B5          +1    29     INR             BIT     P3.5
  00B7          +1    30     OOE             BIT     P3.7
                +1    31     ;OUTPUT PORTS
  0087          +1    32     OPORT0          BIT     P0.7
  0086          +1    33     OPORT1          BIT     P0.6
  0085          +1    34     OPORT2          BIT     P0.5
  0084          +1    35     OPORT3          BIT     P0.4
  0083          +1    36     SDI             BIT     P0.3
  0082          +1    37     CLK             BIT     P0.2
  0080          +1    38     XCW             BIT     P0.0
  0093          +1    39     YCW             BIT     P1.3
  0081          +1    40     XCCW            BIT     P0.1
  0092          +1    41     YCCW            BIT     P1.2
  0091          +1    42     XFREE           BIT     P1.1
  0090          +1    43     YFREE           BIT     P1.0
                +1    44     ;INPUT PORTS    
  0020          +1    45     INPORT0         DATA    20H     ;SK19--SK20
  0021          +1    46     INPORT1         DATA    21H     ;SK21--SK22
  0022          +1    47     INPORT2         DATA    22H     ;SK23--SK24     ;BCD
  0023          +1    48     INPORT3         DATA    23H     ;SK25--SK26     ;BCD
  0024          +1    49     INPORT4         DATA    24H     ;SK15--SK16
  0025          +1    50     INPORT5         DATA    25H     ;SK11--SK12
  0026          +1    51     INPORT6         DATA    26H     ;SK17--SK18
  0027          +1    52     INPORT7         DATA    27H     ;SK13--SK14
                +1    53     
  0000          +1    54     STARTL          BIT     INPORT0.0       ;SK19.5--3
  0001          +1    55     STARTR          BIT     INPORT0.1       ;SK19.6--4
  0002          +1    56     CLAMP_BD        BIT     INPORT0.2       ;SK19.11--9
  0003          +1    57     CLAMP_FD        BIT     INPORT0.3       ;SK19.12--10
  0004          +1    58     BD_END          BIT     INPORT0.4       ;SK20.5--3
A51 MACRO ASSEMBLER  MD166BV1                                                             05/27/2004 16:38:38 PAGE     2

  0005          +1    59     FD_END          BIT     INPORT0.5       ;SK20.6--4
                +1    60     ;;;
  0008          +1    61     MOTOR_BD        BIT     INPORT1.0       ;SK21.5--1--3
  0009          +1    62     MOTOR_MD        BIT     INPORT1.1       ;SK21.6--2--4
  000A          +1    63     MOTOR_FD        BIT     INPORT1.2       ;SK21.11--7--9
                +1    64     ;;;
  000D          +1    65     EXECUTE         BIT     INPORT1.5       ;SK22.6--4
  000E          +1    66     MANUAL          BIT     INPORT1.6       ;SK22.11--9
  000F          +1    67     AUTO            BIT     INPORT1.7       ;SK22.12--9
                +1    68     ;OUTPUT PORTS
  0028          +1    69     OUTPORT0        DATA    28H     ;SK8
  0029          +1    70     OUTPORT1        DATA    29H     ;SK9
  002A          +1    71     OUTPORT2        DATA    2AH     ;SK7    
  002B          +1    72     OUTPORT3        DATA    2BH     ;SK10
                +1    73     
  0044          +1    74     SUCK            BIT     OUTPORT0.4      ;SK8.9--10
  0045          +1    75     CLAMP           BIT     OUTPORT0.5      ;SK8.11--12
  0046          +1    76     SC_03           BIT     OUTPORT0.6      ;SK8.13--14
  0047          +1    77     OUTLAMP         BIT     OUTPORT0.7      ;SK8.15--16
                +1    78     
  0048          +1    79     BUZZER          BIT     OUTPORT1.0      ;SK9.1--2
  0049          +1    80     NUM_CT          BIT     OUTPORT1.1      ;SK9.3--4
                +1    81     ;----------------------------------             
                +1    82     WAIT            MACRO   X
                +1    83             ;       LOCAL   WAIT1
                +1    84                     MOV     A,tick_clock
                +1    85                     ADD     A,#X
                +1    86                     CJNE    A,tick_clock,$
                +1    87             ;       MOV     wait_ms,#X
                +1    88     ;WAIT1:         NOP
                +1    89             ;       NOP
                +1    90             ;       DJNZ    wait_ms,WAIT1
                +1    91                     ENDM
                      92     
                      93     ;--------------------------------------------------------------------------
                      94     C_START         SEGMENT CODE
                      95     TIME0INT        SEGMENT CODE
                      96     TIME1INT        SEGMENT CODE
                      97     VAR0            SEGMENT DATA
                      98     VAR1            SEGMENT DATA
                      99     VAR2            SEGMENT DATA
                     100     VAR3            SEGMENT DATA
                     101     BVAR            SEGMENT BIT
                     102     STACK           SEGMENT IDATA
----                 103                     RSEG  VAR0
0000                 104     switch_dly:     DS      01
0001                 105     auto_end:       DS      01
0002                 106     task_p:         DS      01
0003                 107     manual_p:       DS      01
0004                 108     manual_code:    DS      01
0005                 109     wait_ms:        DS      01
0006                 110     NUM_BUF:        DS      01
----                 111                     RSEG  VAR1
0000                 112     T0_TH:          DS      01
0001                 113     T0_TL:          DS      01
0002                 114     _T0_TH:         DS      01
0003                 115     _T0_TL:         DS      01
0004                 116     STEP_MODEL:     DS      01      ;00-STOP;01-ACCELERATE;02-HIGHSPEED;03-DECELERATE
                     117     ;STEP_SPEED:    DS      01      ;ADJUST rotate speed 
                     118     ;STEP_H_SPEED:  DS      01
                     119     ;STEP_INDEX:    DS      01
0005                 120     STEP_L_COUNTER: DS      01      ;ADJUST LOW ROTATE SPEED
0006                 121     WORK_COUNTER0:  DS      01      ;WORKING TIMER
0007                 122     WORK_COUNTER1:  DS      01      ;WORKING TIMER
0008                 123     WAIT_COUNTER0:  DS      01      ;WAITING TIMER
0009                 124     WAIT_COUNTER1:  DS      01      ;WAITING TIMER
A51 MACRO ASSEMBLER  MD166BV1                                                             05/27/2004 16:38:38 PAGE     3

----                 125                     RSEG  VAR2
0000                 126     MSB_PERIOD:     DS      01        ;     
0001                 127     LSB_PERIOD:     DS      01      ;
0002                 128     IN_PTR:         DS      01
0003                 129     OUT_PTR:        DS      01
0004                 130     INP_BUF:        DS      08
000C                 131     SEL_BYTE:       DS      01
----                 132                     RSEG  VAR3
0000                 133     TICK_CLOCK:     DS      01
0001                 134     TICK:           DS      01
----                 135                     DSEG    AT 20H
0020                 136     IN_PORT:        DS      8H
0028                 137     OUT_PORT:       DS      4H
----                 138                     RSEG    BVAR
0000                 139     STEP_M_FLAG:    DBIT    1       ;0-OFF;1-ON
0001                 140     STEP_DIRECT:    DBIT    1       ;0-PLUS;1-MINUS
0002                 141     STEP_A_FLAG:    DBIT    1       ;0-ORIGIN STATUS
0003                 142     STEP_L_FLAG:    DBIT    1       ;1-LOW SPEED STATUS
0004                 143     T0_HL_FLAG:     DBIT    1       ;HIGH
----                 144                     RSEG  STACK
0000                 145                     DS    10H  ; 16 Bytes Stack
----                 146                     CSEG    AT      00H
0000 020000   F      147                     LJMP    MAIN
----                 148                     CSEG    AT      0BH
000B 020000   F      149                     LJMP    T0_INT
----                 150                     CSEG    AT      1BH
001B 020000   F      151                     LJMP    T1_INT
                     152     ;-------------------------------------------------------
----                 153                     RSEG    C_START
0000 787F            154     MAIN:           MOV     R0,#07FH
0002 E4              155                     CLR     A
0003 F6              156     IDATALOOP:      MOV     @R0,A
0004 D8FD            157                     DJNZ    R0,IDATALOOP
0006 758100   F      158                     MOV     SP,#STACK-01H
0009 D247            159                     SETB    OUTLAMP
000B 120000   F      160                     CALL    _SYSTEM_INIT
000E 120000   F      161                     CALL    _STEP_INIT
0011 120000   F      162                     CALL    _MACH_INIT
0014 C247            163                     CLR     OUTLAMP
                     164                     WAIT    100
001D D280            173                     SETB    XCW
001F D293            174                     SETB    YCW
0021 C281            175                     CLR     XCCW
0023 C292            176                     CLR     YCCW
0025                 177     MAIN_LOOP:;     MOV     C,CLAMP_BD      ;;;//
                     178             ;       JNC     ADAN1
                     179             ;       MOV     A,OUTPORT2
                     180             ;       RR      A
                     181             ;       MOV     OUTPORT2,A
0025                 182     ADAN2:  ;       MOV     C,CLAMP_BD
                     183             ;       JC      ADAN2
                     184             ;       ADAN1:
                     185             ;       MOV     C,CLAMP_FD
                     186             ;       JNC     ADAN3
0025                 187     ADAN4:  ;       MOV     C,CLAMP_FD
                     188             ;       JC      ADAN4
                     189             ;       MOV     A,OUTPORT3
                     190             ;       ADD     A,ACC
                     191             ;       JNZ     ADAN5
                     192             ;       MOV     A,#01
                     193             ;       ADAN5:

⌨️ 快捷键说明

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