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

📄 turn lamp.lst

📁 《Proteus在MCS-51&ARM7系统中的应用百例》书中附带原程序代码
💻 LST
字号:
A51 MACRO ASSEMBLER  TURN_LAMP                                                            08/02/2006 13:22:11 PAGE     1


MACRO ASSEMBLER A51 V8.00
OBJECT MODULE PLACED IN Turn Lamp.OBJ
ASSEMBLER INVOKED BY: e:\Program Files\Keil\C51\BIN\A51.EXE Turn Lamp.asm SET(SMALL) DEBUG EP

LOC  OBJ            LINE     SOURCE

0000                   1                     ORG             0000H
0000 0130              2                     AJMP    START1
0030                   3                     ORG             0030H
  004E                 4     SAME    EQU             4EH
0030 759000            5     START1: MOV             P1,#00H                 ;无输入时无输出
0033 E5B0              6     START:  MOV             A,P3                    ;读P3口数据
0035 541F              7                     ANL             A,#1FH                  ;取用P3口的低五位数据
0037 B41F02            8                     CJNE    A,#1FH,SHIY             ;对P3口低五位数据进行判断
003A 0130              9                     AJMP    START1
003C F54E             10     SHIY:   MOV             SAME,A
003E 120112           11                     LCALL   YS                              ;延时
0041 E5B0             12                     MOV             A,P3                    ;读P3口的数据
0043 541F             13                     ANL             A,#1FH                  ;取用P3口的低五位数据
0045 B41F02           14                     CJNE    A,#1FH,SHIY1    ;对P3口的低五位数据进行判断
0048 0130             15                     AJMP    START1                  ;开关没有动作时无输出
004A B54EE3           16     SHIY1:  CJNE    A,SAME,START1
004D B41702           17                     CJNE    A,#17H,NEXT1    ;P3.3=0时进入左转分支
0050 0181             18                     AJMP    LEFT
0052 B40F02           19     NEXT1:  CJNE    A,#0FH,NEXT2    ;P3.4=0时进入右转分支
0055 018F             20                     AJMP    RIGHT
0057 B41D02           21     NEXT2:  CJNE    A,#1DH,NEXT3    ;P3.1=0时进入紧急分支
005A 019D             22                     AJMP    EARGE
005C B41E02           23     NEXT3:  CJNE    A,#1EH,NEXT4    ;P3.0=0时进入刹车分支
005F 01AB             24                     AJMP    BRAKE
0061 B41602           25     NEXT4:  CJNE    A,#16H,NEXT5    ;P3.0=P3.3=0时进入左转刹车分支
0064 01B0             26                     AJMP    LEBR
0066 B40E02           27     NEXT5:  CJNE    A,#0EH,NEXT6    ;P3.0=P3.4=0时进入右转刹车分支
0069 01BE             28                     AJMP    RIBR
006B B41C02           29     NEXT6:  CJNE    A,#1CH,NEXT7    ;P3.0=P3.1=0时进入紧急刹车分支
006E 01CC             30                     AJMP    BRER
0070 B41402           31     NEXT7:  CJNE    A,#14H,NEXT8    ;P3.0=P3.1=P3.3=0时进入左转紧急刹车分支
0073 01DA             32                     AJMP    LBE
0075 B40C02           33     NEXT8:  CJNE    A,#0CH,NEXT9    ;P3.0=P3.1=P3.4=0时进入右转紧急刹车分支
0078 01E8             34                     AJMP    RBE
007A B41B02           35     NEXT9:  CJNE    A,#1BH,NEXT10   ;P3.2=0时进入停靠分支
007D 01F6             36                     AJMP    STOP
007F 2104             37     NEXT10: AJMP    ERROR                   ;其他情况进入错误分支
0081 75902A           38     LEFT:   MOV             P1,#2AH                 ;左转分支
0084 12011B           39                     LCALL   Y1s
0087 759000           40                     MOV             P1,#00H
008A 12011B           41                     LCALL   Y1s
008D 0133             42                     AJMP    START
008F 759054           43     RIGHT:  MOV             P1,#54H                 ;右转分支
0092 12011B           44                     LCALL   Y1s
0095 759000           45                     MOV             P1,#00H
0098 12011B           46                     LCALL   Y1s
009B 0133             47                     AJMP    START
009D 75907F           48     EARGE:  MOV             P1,#7FH                 ;紧急分支
00A0 12011B           49                     LCALL   Y1s
00A3 759000           50                     MOV             P1,#00H
00A6 12011B           51                     LCALL   Y1s
00A9 0133             52                     AJMP    START
00AB 759060           53     BRAKE:  MOV             P1,#60H                 ;刹车分支
00AE 0133             54                     AJMP    START
00B0 75906A           55     LEBR:   MOV             P1,#6AH                 ;左转刹车分支
00B3 12011B           56                     LCALL   Y1s
00B6 759040           57                     MOV             P1,#40H
00B9 12011B           58                     LCALL   Y1s
A51 MACRO ASSEMBLER  TURN_LAMP                                                            08/02/2006 13:22:11 PAGE     2

00BC 0133             59                     AJMP    START
00BE 75906A           60     RIBR:   MOV             P1,#6AH                 ;右转刹车分支
00C1 12011B           61                     LCALL   Y1s
00C4 759040           62                     MOV             P1,#40H
00C7 12011B           63                     LCALL   Y1s
00CA 0133             64                     AJMP    START
00CC 75907E           65     BRER:   MOV             P1,#7EH                 ;紧急刹车分支
00CF 12011B           66                     LCALL   Y1s
00D2 759060           67                     MOV             P1,#60H
00D5 12011B           68                     LCALL   Y1s
00D8 0133             69                     AJMP    START
00DA 75907E           70     LBE:    MOV             P1,#7EH                 ;左转紧急刹车分支
00DD 12011B           71                     LCALL   Y1s
00E0 759040           72                     MOV             P1,#40H
00E3 12011B           73                     LCALL   Y1s
00E6 0133             74                     AJMP    START
00E8 75907E           75     RBE:    MOV             P1,#7EH                 ;右转紧急刹车分支
00EB 12011B           76                     LCALL   Y1s
00EE 759020           77                     MOV             P1,#20H
00F1 12011B           78                     LCALL   Y1s
00F4 0133             79                     AJMP    START
00F6 759066           80     STOP:   MOV             P1,#66H                 ;停靠分支
00F9 120128           81                     LCALL   Y100ms
00FC 759000           82                     MOV             P1,#00H
00FF 120128           83                     LCALL   Y100ms
0102 0133             84                     AJMP    START
0104 759080           85     ERROR:  MOV             P1,#80H                 ;错误分支
0107 12011B           86                     LCALL   Y1s
010A 759000           87                     MOV             P1,#00H
010D 12011B           88                     LCALL   Y1s
0110 0133             89                     AJMP    START
0112 7F20             90     YS:             MOV             R7,#20H                 ;延时
0114 7EFF             91     YS0:    MOV             R6,#0FFH
0116 DEFE             92     YS1:    DJNZ    R6,YS1
0118 DFFA             93                     DJNZ    R7,YS0
011A 22               94                     RET
011B 7F04             95     Y1s:    MOV             R7,#04H                 ;延时
011D 7EFF             96     Y1s1:   MOV             R6,#0FFH
011F 7DFF             97     Y1s2:   MOV             R5,#0FFH
0121 DDFE             98                     DJNZ    R5,$
0123 DEFA             99                     DJNZ    R6,Y1s2
0125 DFF6            100                     DJNZ    R7,Y1s1
0127 22              101                     RET
0128 7F66            102     Y100ms: MOV             R7,#66H                 ;延时
012A 7EFF            103     Y100ms1:MOV             R6,#0FFH
012C DEFE            104     Y100ms2:DJNZ    R6, Y100ms2
012E DFFA            105                     DJNZ    R7, Y100ms1
0130 22              106                     RET
                     107                     END
A51 MACRO ASSEMBLER  TURN_LAMP                                                            08/02/2006 13:22:11 PAGE     3

SYMBOL TABLE LISTING
------ ----- -------


N A M E             T Y P E  V A L U E   ATTRIBUTES

BRAKE. . . . . . .  C ADDR   00ABH   A   
BRER . . . . . . .  C ADDR   00CCH   A   
EARGE. . . . . . .  C ADDR   009DH   A   
ERROR. . . . . . .  C ADDR   0104H   A   
LBE. . . . . . . .  C ADDR   00DAH   A   
LEBR . . . . . . .  C ADDR   00B0H   A   
LEFT . . . . . . .  C ADDR   0081H   A   
NEXT1. . . . . . .  C ADDR   0052H   A   
NEXT10 . . . . . .  C ADDR   007FH   A   
NEXT2. . . . . . .  C ADDR   0057H   A   
NEXT3. . . . . . .  C ADDR   005CH   A   
NEXT4. . . . . . .  C ADDR   0061H   A   
NEXT5. . . . . . .  C ADDR   0066H   A   
NEXT6. . . . . . .  C ADDR   006BH   A   
NEXT7. . . . . . .  C ADDR   0070H   A   
NEXT8. . . . . . .  C ADDR   0075H   A   
NEXT9. . . . . . .  C ADDR   007AH   A   
P1 . . . . . . . .  D ADDR   0090H   A   
P3 . . . . . . . .  D ADDR   00B0H   A   
RBE. . . . . . . .  C ADDR   00E8H   A   
RIBR . . . . . . .  C ADDR   00BEH   A   
RIGHT. . . . . . .  C ADDR   008FH   A   
SAME . . . . . . .  N NUMB   004EH   A   
SHIY . . . . . . .  C ADDR   003CH   A   
SHIY1. . . . . . .  C ADDR   004AH   A   
START. . . . . . .  C ADDR   0033H   A   
START1 . . . . . .  C ADDR   0030H   A   
STOP . . . . . . .  C ADDR   00F6H   A   
Y100MS . . . . . .  C ADDR   0128H   A   
Y100MS1. . . . . .  C ADDR   012AH   A   
Y100MS2. . . . . .  C ADDR   012CH   A   
Y1S. . . . . . . .  C ADDR   011BH   A   
Y1S1 . . . . . . .  C ADDR   011DH   A   
Y1S2 . . . . . . .  C ADDR   011FH   A   
YS . . . . . . . .  C ADDR   0112H   A   
YS0. . . . . . . .  C ADDR   0114H   A   
YS1. . . . . . . .  C ADDR   0116H   A   


REGISTER BANK(S) USED: 0 

ASSEMBLY COMPLETE.  0 WARNING(S), 0 ERROR(S)

⌨️ 快捷键说明

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