📄 lesson5.lst
字号:
A51 MACRO ASSEMBLER LESSON5 05/03/2008 16:20:18 PAGE 1
MACRO ASSEMBLER A51 V7.07
OBJECT MODULE PLACED IN lesson5.OBJ
ASSEMBLER INVOKED BY: C:\Keil\C51\BIN\A51.EXE lesson5.asm SET(SMALL) DEBUG EP
LOC OBJ LINE SOURCE
7FFF 1 OUTPORT EQU 7FFFH ;端口地址
0055 2 SAVE EQU 55H ;save保存从端口cfa0输出的数据
---- 3 CSEG AT 0000H
0000 024100 4 LJMP START
---- 5 CSEG AT 4003H
4003 024179 6 LJMP INT
---- 7 CSEG AT 4100H
4100 D288 8 START: SETB IT0
4102 D2A8 9 SETB EX0
4104 D2AF 10 SETB EA
4106 7411 11 MOV A,#11H ;置首显示码
4108 F555 12 MOV SAVE,A ;保存
410A 31A0 13 ACALL DISP ;显示输出
410C 3168 14 ACALL DE3S ;延时3秒
410E 7412 15 LLL: MOV A,#12H ;东西路口绿灯亮,南北路口红灯亮
4110 F555 16 MOV SAVE,A
4112 31A0 17 ACALL DISP
4114 3164 18 ACALL DE10S ;延时10秒
4116 7410 19 MOV A,#10H ;东西路口绿灯灭
4118 F555 20 MOV SAVE,A
411A 31A0 21 ACALL DISP
411C 7A05 22 MOV R2,#05H ;东西路口黄灯闪烁5次
411E 7414 23 TTT: MOV A,#14H
4120 F555 24 MOV SAVE,A
4122 31A0 25 ACALL DISP
4124 316C 26 ACALL DE02S
4126 7410 27 MOV A,#10H
4128 F555 28 MOV SAVE,A
412A 31A0 29 ACALL DISP
412C 316C 30 ACALL DE02S
412E DAEE 31 DJNZ R2,TTT
4130 7411 32 MOV A,#11H ;红灯全亮
4132 F555 33 MOV SAVE,A
4134 31A0 34 ACALL DISP
4136 316C 35 ACALL DE02S ;延时0.2秒
4138 7421 36 MOV A,#21H ;东西路口红灯亮,南北路口绿灯亮
413A F555 37 MOV SAVE,A
413C 31A0 38 ACALL DISP
413E 3164 39 ACALL DE10S ;延时10秒
4140 7401 40 MOV A,#01H ;南北路口绿灯灭
4142 F555 41 MOV SAVE,A
4144 31A0 42 ACALL DISP
4146 7A05 43 MOV R2,#05H ;南北路口黄灯闪烁5次
4148 7441 44 GGG: MOV A,#41H
414A F555 45 MOV SAVE,A
414C 31A0 46 ACALL DISP
414E 316C 47 ACALL DE02S
4150 7401 48 MOV A,#01H
4152 F555 49 MOV SAVE,A
4154 31A0 50 ACALL DISP
4156 316C 51 ACALL DE02S
4158 DAEE 52 DJNZ R2,GGG
415A 7411 53 MOV A,#11H ;红灯全亮
415C F555 54 MOV SAVE,A
415E 31A0 55 ACALL DISP
4160 316C 56 ACALL DE02S ;延时0.2秒
4162 80AA 57 JMP LLL ;转LLL循环
4164 7D64 58 DE10S: MOV R5,#100 ;延时10秒
A51 MACRO ASSEMBLER LESSON5 05/03/2008 16:20:18 PAGE 2
4166 8006 59 JMP DE1
4168 7D1E 60 DE3S: MOV R5,#30 ;延时3秒
416A 8002 61 JMP DE1
416C 7D02 62 DE02S: MOV R5,#02 ;延时0.2秒
416E 7EC8 63 DE1: MOV R6,#200
4170 7F7E 64 DE2: MOV R7,#126
4172 DFFE 65 DE3: DJNZ R7,DE3
4174 DEFA 66 DJNZ R6,DE2
4176 DDF6 67 DJNZ R5,DE1
4178 22 68 RET
4179 C2AF 69 INT: CLR EA
417B C0E0 70 PUSH ACC ;中断处理
417D C0D0 71 PUSH PSW
417F ED 72 MOV A,R5
4180 C0E0 73 PUSH ACC
4182 7411 74 MOV A,#11H ;红灯全亮,绿、黄灯全灭
4184 31A0 75 ACALL DISP
4186 7B64 76 DEL10S: MOV R3,#100 ;延时10秒
4188 7AC8 77 DEL1: MOV R2,#200
418A 7D7E 78 DEL2: MOV R5,#126
418C DDFE 79 DEL3: DJNZ R5,DEL3
418E DCFA 80 DJNZ R4,DEL2
4190 DBF6 81 DJNZ R3,DEL1
4192 E555 82 MOV A,SAVE ;取SAVE中保存数据输出到cfa0端口
4194 31A0 83 ACALL DISP
4196 D0E0 84 POP ACC ;出栈
4198 FD 85 MOV R5,A
4199 D0D0 86 POP PSW
419B D0E0 87 POP ACC
419D D2AF 88 SETB EA ;允许外部中断
419F 32 89 RETI
41A0 907FFF 90 DISP: MOV DPTR,#OUTPORT
41A3 F4 91 CPL A
41A4 F0 92 MOVX @DPTR,A
41A5 22 93 RET
94 END
A51 MACRO ASSEMBLER LESSON5 05/03/2008 16:20:18 PAGE 3
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
ACC. . . . . . . . D ADDR 00E0H A
DE02S. . . . . . . C ADDR 416CH A
DE1. . . . . . . . C ADDR 416EH A
DE10S. . . . . . . C ADDR 4164H A
DE2. . . . . . . . C ADDR 4170H A
DE3. . . . . . . . C ADDR 4172H A
DE3S . . . . . . . C ADDR 4168H A
DEL1 . . . . . . . C ADDR 4188H A
DEL10S . . . . . . C ADDR 4186H A
DEL2 . . . . . . . C ADDR 418AH A
DEL3 . . . . . . . C ADDR 418CH A
DISP . . . . . . . C ADDR 41A0H A
EA . . . . . . . . B ADDR 00A8H.7 A
EX0. . . . . . . . B ADDR 00A8H.0 A
GGG. . . . . . . . C ADDR 4148H A
INT. . . . . . . . C ADDR 4179H A
IT0. . . . . . . . B ADDR 0088H.0 A
LLL. . . . . . . . C ADDR 410EH A
OUTPORT. . . . . . N NUMB 7FFFH A
PSW. . . . . . . . D ADDR 00D0H A
SAVE . . . . . . . N NUMB 0055H A
START. . . . . . . C ADDR 4100H A
TTT. . . . . . . . C ADDR 411EH A
REGISTER BANK(S) USED: 0
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -