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

📄 text1.lst

📁 实现交通灯控制
💻 LST
字号:
A51 MACRO ASSEMBLER  TEXT1                                                                04/15/2009 22:46:14 PAGE     1


MACRO ASSEMBLER A51 V7.07
OBJECT MODULE PLACED IN Text1.OBJ
ASSEMBLER INVOKED BY: F:\Keil\C51\BIN\A51.EXE Text1.asm SET(SMALL) DEBUG EP

LOC  OBJ            LINE     SOURCE

0000                   1                     ORG 0000H
0000 021000            2                     LJMP START
0003                   3                     ORG 0003H               ;INT0中断矢量
0003 021088            4                     LJMP EMERGY
0013                   5                     ORG 0013H               ;INT1中断矢量           
0013 0210BC            6                     LJMP PASSER
1000                   7                     ORG 1000H
1000 758160            8     START:  MOV SP,#60H
1003 D2A8              9                 SETB IE.0           ;允许外部中断0
1005 D2AA             10                     SETB IE.2               ;允许外部中断1
1007 C2BA             11                     CLR IP.2                ;外部中断0为高先级
1009 D2B8             12                     SETB IP.0               ;外部中断1为低优先级
100B C288             13                     CLR TCON.0              ;外0触发方式为低电平有效
100D C28A             14                     CLR TCON.2              ;外1触发方式为低电平有效
100F C2AF             15                     CLR EA                  ;关中断                 
1011 75A000           16                     MOV P2,#00H
1014 D2AF             17                     SETB EA                 ;开中断
1016 7590DE           18                     MOV P1,#11011110B       ;A绿,B红       
1019 7C1E             19                     MOV R4,#30              ;A路口30秒
101B 7D23             20                     MOV R5,#35              ;B路口35秒
101D 113C             21                     ACALL DELAY
101F 7590DD           22                     MOV P1,#11011101B       ;A黄,B红
1022 7C05             23                     MOV R4,#5               
1024 7D05             24                     MOV R5,#5
1026 113C             25                     ACALL DELAY
1028 7590F3           26                     MOV P1,#11110011B       ;A红,B绿
102B 7C14             27                     MOV R4,#20
102D 7D0F             28                     MOV R5,#15
102F 113C             29                     ACALL DELAY
1031 7590EB           30                     MOV P1,#11101011B       ;A红,B黄
1034 7C05             31                     MOV R4,#5                       
1036 7D05             32                     MOV R5,#5
1038 113C             33                     ACALL DELAY
103A 0100             34                     AJMP START
103C 790A             35     DELAY:  MOV R1,#10              ;延时子程序,延时1秒
103E 7A50             36     D1:             MOV R2,#80
1040 7B64             37     D2:             MOV R3,#100
                      38     ;***************数码管显示*****************************
                      39     ;        *******显示A路口时间*********
1042 EC               40                     MOV A,R4                ;显示A路口的时间 
1043 75F00A           41                     MOV B,#10
1046 84               42                     DIV AB
1047 43F0F0           43                     ORL B,#0F0H             ;B或F0H,个位高四位置1
104A 85F080           44                     MOV 80H,B               ;A路口时间个位数送P0口  
104D D284             45                     SETB P0.4               ;关1号管                        
104F C285             46                     CLR P0.5                ;开2号管显示个位
1051 7F64             47                     MOV R7,#100             
1053 DFFE             48     D4:             DJNZ R7,D4              ;数码管显示延时
1055 44F0             49                     ORL A,#0F0H             
1057 F580             50                     MOV 80H,A               ;A路口时间十位数送P0口
1059 D285             51                     SETB  P0.5              ;关2号管
105B C284             52                     CLR P0.4                ;开1号管显示十位
105D 7F64             53                     MOV R7,#100             
105F DFFE             54     D8:             DJNZ R7,D8              ;数码管显示延时
                      55     
                      56     ;        *******显示B路口时间*********
1061 ED               57                     MOV A,R5                ;显示B路口的时间 
1062 75F00A           58                     MOV B,#10
A51 MACRO ASSEMBLER  TEXT1                                                                04/15/2009 22:46:14 PAGE     2

1065 84               59                     DIV AB
1066 43F0F0           60                     ORL 0F0H,#0F0H          ;个位高四位置1
1069 85F080           61                     MOV 80H,0F0H            ;B路口时间个位数送P0口
106C D286             62                     SETB P0.6               ;关3号管
106E C287             63                     CLR P0.7                ;开4号管显示个位
1070 7F64             64                     MOV R7,#100
1072 DFFE             65     D5:             DJNZ  R7,D5             ;数码管显示延时
1074 44F0             66                     ORL A,#0F0H
1076 F580             67                     MOV 80H,A
1078 D287             68                     SETB P0.7               ;关4号管
107A C286             69                     CLR P0.6                ;开3号管显示十位
                      70     ;***************延时1s循环***********************                                          
107C DBFE             71     D3:             DJNZ R3,D3
107E DAC0             72                     DJNZ R2,D2
1080 D9BC             73                     DJNZ R1,D1
1082 DD01             74                     DJNZ R5,D6              ;R4或R5减为0时延时返回
1084 22               75                     RET
1085 DCB5             76     D6:             DJNZ R4,DELAY
1087 22               77                     RET
                      78     ;***************紧急车辆处理***************             
1088 309209           79     EMERGY:         JNB P1.2,E2             ;A通道为红灯跳到E2,不是红灯判断B通道
108B 30950E           80                     JNB P1.5,E1             ;B通道为红灯跳到E1,不是红灯则AB通道各亮5秒黄灯
108E C291             81                     CLR P1.1                
1090 D290             82                     SETB P1.0
1092 7C05             83                     MOV R4,#5
1094 7D05             84     E2:             MOV R5,#5               ;A通道继续亮5秒红灯,B通道亮5秒黄灯
1096 C294             85                     CLR P1.4
1098 D293             86                     SETB P1.3
109A 8006             87                     SJMP E3
109C 7C05             88     E1:             MOV R4,#5               ;A通道亮5秒黄灯,B通道继续亮5秒红灯
109E C291             89                     CLR P1.1 
10A0 D290             90                     SETB P1.0 
10A2 113C             91     E3:             ACALL DELAY
10A4 7590DB           92                     MOV P1,#11011011B       ;A红B红20秒
10A7 7C14             93                     MOV R4,#20
10A9 7D14             94                     MOV R5,#20
10AB 113C             95                     ACALL DELAY
10AD D070             96                     POP 70H                 ;修改PC的值 
10AF D071             97                     POP 71H
10B1 757010           98                     MOV 70H,#10H
10B4 757100           99                     MOV 71H,#00H
10B7 C071            100                     PUSH 71H
10B9 C070            101                     PUSH 70H        
10BB 32              102                     RETI
                     103     ;***************行人过街处理******************
10BC 20A104          104     PASSER: JB P2.1,LOOP2           ;A有行人 
10BF 20A21F          105                     JB P2.2,LOOP3           ;B有行人 
                     106     ;       ********A行人过街处理*******
10C2 32              107     INTEND: RETI
10C3 3090FC          108     LOOP2:  JNB P1.0,INTEND         ;A道为绿灯则中断返回
10C6 C2A1            109                     CLR P2.1                ;A行人中断选择位清0
10C8 7590EB          110                     MOV P1,#11101011B       ;A黄B黄秒
10CB 7C05            111                     MOV R4,#5
10CD 7D05            112                     MOV R5,#5
10CF 113C            113                     ACALL DELAY
10D1 D070            114                     POP 70H                 ;修改PC的值
10D3 D071            115                     POP 71H
10D5 757010          116                     MOV 70H,#10H
10D8 757100          117                     MOV 71H,#00H
10DB C071            118                     PUSH 71H
10DD C070            119                     PUSH 70H
10DF 01C2            120                     AJMP INTEND
                     121     ;       *******B行人过街处理*********
10E1 3093DE          122     LOOP3:  JNB P1.3,INTEND         ;B道为绿灯则中断返回
10E4 C282            123                     CLR P0.2                ;B行人中断选择位清0
10E6 7590DD          124                     MOV P1,#11011101B       ;A黄B黄5秒
A51 MACRO ASSEMBLER  TEXT1                                                                04/15/2009 22:46:14 PAGE     3

10E9 7C05            125                     MOV R4,#5
10EB 7D05            126                     MOV R5,#5
10ED 113C            127                     ACALL DELAY
10EF 7590F3          128                     MOV P1,#11110011B       ;A红B绿15秒
10F2 7C14            129                     MOV R4,#20
10F4 7D0F            130                     MOV R5,#15
10F6 113C            131                     ACALL DELAY
10F8 7590EB          132                     MOV P1,#11101011B       ;A红B黄5秒
10FB 7C05            133                     MOV R4,#5
10FD 7D05            134                     MOV R5,#5
10FF 113C            135                     ACALL DELAY
1101 D070            136                     POP 70H                 ;修改PC的值
1103 D071            137                     POP 71H
1105 757010          138                     MOV 70H,#10H
1108 757100          139                     MOV 71H,#00H
110B C071            140                     PUSH 71H
110D C070            141                     PUSH 70H
110F 01C2            142                     AJMP INTEND
                     143                     END
                             ;注紧急车辆按钮接P3.2,AB行人按钮接P3.3
A51 MACRO ASSEMBLER  TEXT1                                                                04/15/2009 22:46:14 PAGE     4

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


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

B. . . . . . . . .  D ADDR   00F0H   A   
D1 . . . . . . . .  C ADDR   103EH   A   
D2 . . . . . . . .  C ADDR   1040H   A   
D3 . . . . . . . .  C ADDR   107CH   A   
D4 . . . . . . . .  C ADDR   1053H   A   
D5 . . . . . . . .  C ADDR   1072H   A   
D6 . . . . . . . .  C ADDR   1085H   A   
D8 . . . . . . . .  C ADDR   105FH   A   
DELAY. . . . . . .  C ADDR   103CH   A   
E1 . . . . . . . .  C ADDR   109CH   A   
E2 . . . . . . . .  C ADDR   1094H   A   
E3 . . . . . . . .  C ADDR   10A2H   A   
EA . . . . . . . .  B ADDR   00A8H.7 A   
EMERGY . . . . . .  C ADDR   1088H   A   
IE . . . . . . . .  D ADDR   00A8H   A   
INTEND . . . . . .  C ADDR   10C2H   A   
IP . . . . . . . .  D ADDR   00B8H   A   
LOOP2. . . . . . .  C ADDR   10C3H   A   
LOOP3. . . . . . .  C ADDR   10E1H   A   
P0 . . . . . . . .  D ADDR   0080H   A   
P1 . . . . . . . .  D ADDR   0090H   A   
P2 . . . . . . . .  D ADDR   00A0H   A   
PASSER . . . . . .  C ADDR   10BCH   A   
SP . . . . . . . .  D ADDR   0081H   A   
START. . . . . . .  C ADDR   1000H   A   
TCON . . . . . . .  D ADDR   0088H   A   


REGISTER BANK(S) USED: 0 

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

⌨️ 快捷键说明

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