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

📄 trafic lamp.lst

📁 Proteus在MCS-51%26ARM7系统中的应用百例 Proteus在MCS-51%26ARM7系统中的应用百例
💻 LST
📖 第 1 页 / 共 2 页
字号:
A51 MACRO ASSEMBLER  TRAFIC_LAMP                                                          08/25/2006 22:09:50 PAGE     1


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

LOC  OBJ            LINE     SOURCE

  0030                 1     SECOND1 EQU             30H                                     ;东西路口计时寄存器
  0031                 2     SECOND2 EQU             31H                                     ;南北路口计时寄存器 
  0040                 3     DBUF    EQU             40H                                     ;显示码缓冲区1
  0044                 4     TEMP    EQU             44H                                     ;显示码缓冲区2
  00A1                 5     LED_G1  BIT             P2.1                            ;东西路口绿灯
  00A2                 6     LED_Y1  BIT             P2.2                            ;东西路口黄灯
  00A3                 7     LED_R1  BIT             P2.3                            ;东西路口红灯
  00A4                 8     LED_G2  BIT             P2.4                            ;南北路口绿灯
  00A5                 9     LED_Y2  BIT             P2.5                            ;南北路口黄灯
  00A6                10     LED_R2  BIT             P2.6                            ;南北路口红灯
0000                  11                     ORG             0000H
0000 020100           12                     LJMP    START
0100                  13                     ORG             0100H
0100 758901           14     START:  MOV             TMOD,#01H                       ;置T0为工作方式1
0103 758C3C           15                     MOV             TH0,#3CH                        ;置T0定时初值50ms
0106 758AB0           16                     MOV             TL0,#0B0H                               
0109 C28D             17                     CLR             TF0
010B D28C             18                     SETB    TR0                                     ;启动T0
010D E4               19                     CLR             A
010E F590             20                     MOV             P1,A                            ;关闭不相关的LED
                      21     ;***************************************************
0110 7A14             22     LOOP:   MOV             R2,#20                          ;置1s计数初值,50ms*20=1s
0112 7B14             23                     MOV             R3,#20                          ;红灯亮20s
0114 753019           24                     MOV             SECOND1,#25                     ;东西路口计时显示初值25s
0117 753119           25                     MOV             SECOND2,#25                     ;南北路口计时显示初值25s
011A 12025D           26                     LCALL   DISPLAY
011D 120213           27                     LCALL   STATE1                          ;调用状态1
0120 308DFD           28     WAIT1:  JNB             TF0,WAIT1                       ;查询50ms到否
0123 C28D             29                     CLR             TF0                     
0125 758C3C           30                     MOV             TH0,#3CH                        ;恢复T0定时初值50ms
0128 758AB0           31                     MOV             TL0,#0B0H
012B DAF3             32                     DJNZ    R2,WAIT1                        ;判断1s到否?未到继续状态1
012D 7A14             33                     MOV             R2,#20                          ;置50ms计数初值 
012F 1530             34                     DEC             SECOND1                         ;东西路口显示时间减1s
0131 1531             35                     DEC             SECOND2                         ;南北路口显示时间减1s
0133 12025D           36                     LCALL   DISPLAY
0136 DBE8             37                     DJNZ    R3,WAIT1                        ;状态1维持20s
                      38     ;*******************************************
0138 7A05             39                     MOV             R2,#5                           ;置50ms计数初值 5*4=20
013A 7B03             40                     MOV             R3,#3                           ;绿灯闪3s
013C 7C04             41                     MOV             R4,#4                           ;闪烁间隔200ms
013E 753005           42                     MOV             SECOND1,#5                      ;东西路口计时显示初值5s
0141 753105           43                     MOV             SECOND2,#5                      ;南北路口计时显示初值5s
0144 12025D           44                     LCALL   DISPLAY
0147 120220           45     WAIT2:  LCALL   STATE2                          ;调用状态2
014A 308DFA           46                     JNB             TF0,WAIT2                       ;查询50ms到否
014D C28D             47                     CLR             TF0
014F 758C3C           48                     MOV             TH0,#3CH                        ;恢复T0定时初值50ms
0152 758AB0           49                     MOV             TL0,#0B0H
0155 DCF0             50                     DJNZ    R4,WAIT2                        ;判断200ms到否?未到继续状态2
0157 B2A1             51                     CPL             LED_G1                          ;东西绿灯闪
0159 7C04             52                     MOV             R4,#4                           ;闪烁间隔200ms
015B DAEA             53                     DJNZ    R2,WAIT2                        ;判1s到否?未到继续状态2
015D 7A05             54                     MOV             R2,#5                           ;置50ms计数初值
015F 1530             55                     DEC             SECOND1                         ;东西路口显示时间减1s
0161 1531             56                     DEC             SECOND2                         ;南北路口显示时间减1s
0163 12025D           57                     LCALL   DISPLAY
0166 DBDF             58                     DJNZ    R3,WAIT2                        ;状态2维持3s
A51 MACRO ASSEMBLER  TRAFIC_LAMP                                                          08/25/2006 22:09:50 PAGE     2

                      59     ;****************************************
0168 7A14             60                     MOV             R2,#20                          ;置50ms计数初值
016A 7B02             61                     MOV             R3,#2                           ;黄灯闪2s
016C 753002           62                     MOV             SECOND1,#2                      ;东西路口计时显示初值2s
016F 753102           63                     MOV             SECOND2,#2                      ;南北路口计时显示初值2s
0172 12025D           64                     LCALL   DISPLAY
0175 12022B           65     WAIT3:  LCALL   STATE3                          ;调用状态3
0178 308DFA           66                     JNB             TF0,WAIT3                       ;查询100ms到否
017B C28D             67                     CLR             TF0
017D 758C3C           68                     MOV             TH0,#3CH                        ;恢复T0定时初值100ms
0180 758AB0           69                     MOV             TL0,#0B0H
0183 DAF0             70                     DJNZ    R2,WAIT3                        ;判断1s到否?未到继续状态3
0185 7A14             71                     MOV             R2,#20                          ;置100ms计数初值
0187 1530             72                     DEC             SECOND1                         ;东西路口显示时间减1s
0189 1531             73                     DEC             SECOND2                         ;南北路口显示时间减1s
018B 12025D           74                     LCALL   DISPLAY
018E DBE5             75                     DJNZ    R3,WAIT3                        ;状态3维持2s
                      76     ;*******************************************
0190 7A14             77                     MOV             R2,#20                          ;置50ms计数初值
0192 7B14             78                     MOV             R3,#20                          ;红灯闪20s
0194 753019           79                     MOV             SECOND1,#25                     ;东西路口计时显示初值25s
0197 753119           80                     MOV             SECOND2,#25                     ;南北路口计时显示初值25s
019A 12025D           81                     LCALL   DISPLAY
019D 120238           82     WAIT4:  LCALL   STATE4                          ;调用状态4
01A0 308DFA           83                     JNB             TF0,WAIT4                       ;查询100ms到否
01A3 C28D             84                     CLR             TF0
01A5 758C3C           85                     MOV             TH0,#3CH                        ;恢复T0定时初值100ms
01A8 758AB0           86                     MOV             TL0,#0B0H
01AB DAF0             87                     DJNZ    R2,WAIT4                        ;判断1s到否?未到继续状态4
01AD 7A14             88                     MOV             R2,#20                          ;置100ms计数初值
01AF 1530             89                     DEC             SECOND1                         ;东西路口显示时间减1s
01B1 1531             90                     DEC             SECOND2                         ;南北路口显示时间减1s
01B3 12025D           91                     LCALL   DISPLAY
01B6 DBE5             92                     DJNZ    R3,WAIT4                        ;状态4维持20s
                      93     ;*******************************************
01B8 7A05             94                     MOV             R2,#5                           ;置50ms计数初值
01BA 7C04             95                     MOV             R4,#4                           ;红灯闪20ms
01BC 7B03             96                     MOV             R3,#3                           ;绿灯闪3s
01BE 753005           97                     MOV             SECOND1,#5                      ;东西路口计时显示初值5s
01C1 753105           98                     MOV             SECOND2,#5                      ;南北路口计时显示初值5s
01C4 12025D           99                     LCALL   DISPLAY
01C7 120245          100     WAIT5:  LCALL   STATE5                          ;调用状态5
01CA 308DFA          101                     JNB             TF0,WAIT5                       ;查询100ms到否
01CD C28D            102                     CLR             TF0
01CF 758C3C          103                     MOV             TH0,#3CH                        ;恢复T0定时初值100ms
01D2 758AB0          104                     MOV             TL0,#0B0H                               
01D5 DCF0            105                     DJNZ    R4,WAIT5                        ;判断200ms到否?未到继续状态5
01D7 B2A4            106                     CPL             LED_G2                          ;南北绿灯闪
01D9 7C04            107                     MOV             R4,#4                           ;闪烁200ms
01DB DAEA            108                     DJNZ    R2,WAIT5                        ;判断1s到否?未到继续状态5
01DD 7A05            109                     MOV             R2,#5                           ;置100ms计数初值
01DF 1530            110                     DEC             SECOND1                         ;东西路口显示时间减1s
01E1 1531            111                     DEC             SECOND2                         ;南北路口显示时间减1s
01E3 12025D          112                     LCALL   DISPLAY
01E6 DBDF            113                     DJNZ    R3,WAIT5                        ;状态5维持3s
                     114     ;****************************************
01E8 7A14            115                     MOV             R2,#20                          ;置50ms计数初值
01EA 7B02            116                     MOV             R3,#2                           ;红灯闪2s
01EC 753002          117                     MOV             SECOND1,#2                      ;东西路口计时显示初值2s
01EF 753102          118                     MOV             SECOND2,#2                      ;南北路口计时显示初值2s
01F2 12025D          119                     LCALL   DISPLAY
01F5 120250          120                     WAIT6:  LCALL   STATE6          ;调用状态6
01F8 308DFA          121                     JNB             TF0,WAIT6                       ;查询100ms到否
01FB C28D            122                     CLR             TF0     
01FD 758C3C          123                     MOV             TH0,#3CH                        ;恢复T0定时初值100ms
0200 758AB0          124                     MOV             TL0,#0B0H
A51 MACRO ASSEMBLER  TRAFIC_LAMP                                                          08/25/2006 22:09:50 PAGE     3

0203 DAF0            125                     DJNZ    R2,WAIT6                        ;判断1s到否?未到继续状态6
0205 7A14            126                     MOV             R2,#20                          ;置100ms计数初值
0207 1530            127                     DEC             SECOND1                         ;东西路口显示时间减1s
0209 1531            128                     DEC             SECOND2                         ;南北路口显示时间减1s
020B 12025D          129                     LCALL   DISPLAY
020E DBE5            130                     DJNZ    R3,WAIT6                        ;状态6维持2s
0210 020110          131                     LJMP    LOOP                            ;大循环
                     132     ;**********************************************

⌨️ 快捷键说明

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