📄 amc.lst
字号:
A51 MACRO ASSEMBLER AMC 30/11/03 16:09:27 PAGE 1
DOS MACRO ASSEMBLER A51 X4.86
OBJECT MODULE PLACED IN AMC.O
ASSEMBLER INVOKED BY: C:\OMF51\BIN\A51.EXE C:\HKCX\51ASM\AMC.ASM DB SB XR RB(0) PR(AMC.LST) OJ(AMC.O)
LOC OBJ LINE SOURCE
1 ; “验证式” 实验三 脉冲计数(定时/记数实验)
2
3 ;对定时器0外部输入的脉冲信号进行计数且显示
E101 4 OUTBIT equ 0e101h
E102 5 CLK164 equ 0e102h ; 段控制口(接164时钟位)
E102 6 DAT164 equ 0e102h ; 段控制口(接164数据位)
0040 7 LEDBuf equ 40h
E103 8 IN equ 0e103h
0000 9 ORG 0000h
0000 758160 10 MOV SP,#60H
0003 90E100 11 MOV DPTR,#0e100H ;8155初始化
0006 7403 12 MOV A,#03H
0008 F0 13 MOVX @DPTR,A
14
0009 758905 15 MOV TMOD,#05H ;定时器初始化
000C 758C00 16 MOV TH0,#00H
000F 758A00 17 MOV TL0,#00H
0012 D28C 18 SETB TR0
0014 AA8C 19 LOOP0: MOV R2,TH0
0016 AB8A 20 MOV R3,TL0
0018 12002E 21 LCALL LOOP1
001B 7840 22 MOV R0,#40H
001D EE 23 MOV A,R6
001E 12004A 24 LCALL PTDS
0021 ED 25 MOV A,R5
0022 12004A 26 LCALL PTDS
0025 EC 27 MOV A,R4
0026 12004A 28 LCALL PTDS
0029 12005B 29 LCALL DISPLAY
002C 80E6 30 SJMP LOOP0
002E E4 31 LOOP1: CLR A ;二转十子程序
002F FC 32 MOV R4,A
0030 FD 33 MOV R5,A
0031 FE 34 MOV R6,A
0032 7F10 35 MOV R7,#10H
0034 C3 36 LOOP2: CLR C
0035 EB 37 MOV A,R3
0036 33 38 RLC A
0037 FB 39 MOV R3,A
0038 EA 40 MOV A,R2
0039 33 41 RLC A
003A FA 42 MOV R2,A
003B EE 43 MOV A,R6
003C 3E 44 ADDC A,R6
003D D4 45 DA A
003E FE 46 MOV R6,A
003F ED 47 MOV A,R5
0040 3D 48 ADDC A,R5
0041 D4 49 DA A
0042 FD 50 MOV R5,A
0043 EC 51 MOV A,R4
0044 3C 52 ADDC A,R4
0045 D4 53 DA A
0046 FC 54 MOV R4,A
0047 DFEB 55 DJNZ R7,LOOP2
0049 22 56 RET
004A F9 57 PTDS: MOV R1,A ;拆字子程序
004B 114F 58 ACALL PTDS1
A51 MACRO ASSEMBLER AMC 30/11/03 16:09:27 PAGE 2
004D E9 59 MOV A,R1
004E C4 60 SWAP A
004F 540F 61 PTDS1: ANL A,#0FH
0051 F6 62 MOV @R0,A
0052 08 63 INC R0
0053 22 64 RET
0054 65 Delay:
0054 7F00 66 mov r7, #0 ; 延时子程序
67
0056 68 DelayLoop:
0056 DFFE 69 djnz r7, DelayLoop
0058 DEFC 70 djnz r6, DelayLoop
005A 22 71 ret
72
005B D2D3 73 DISPLAY:setb 0d3h
005D 7840 74 mov r0, #LEDBuf
005F 7906 75 mov r1, #6 ; 共6个八段管
0061 7A01 76 mov r2, #00000001b ; 从左边开始显示
0063 77 Loop:
0063 90E101 78 mov dptr, #OUTBIT
0066 7400 79 mov a, #00h
0068 F0 80 movx @dptr, a ; 关所有八段管
81
0069 E6 82 mov a, @r0
006A 9000A0 83 mov dptr,#LEDmap
006D 93 84 movc a,@a+dptr
006E 75F008 85 mov B, #8 ; 送164
0071 86 DLP:
0071 33 87 rlc a
0072 FB 88 mov r3, a
0073 92E0 89 mov acc.0, c
0075 54FD 90 anl a,#0fdh
0077 90E102 91 mov dptr, #DAT164
007A F0 92 movx @dptr, a
007B 90E102 93 mov dptr, #CLK164
007E 4402 94 orl a,#02h
0080 F0 95 movx @dptr, a
0081 54FD 96 anl a,#0fDh
0083 F0 97 movx @dptr, a
0084 EB 98 mov a, r3
0085 D5F0E9 99 djnz B, DLP
0088 90E101 100 mov dptr, #OUTBIT
008B EA 101 mov a, r2
008C F0 102 movx @dptr, a ; 显示一位八段管
008D 7E01 103 mov r6, #1
008F 1154 104 call Delay
0091 EA 105 mov a, r2 ; 显示下一位
0092 23 106 rl a
0093 FA 107 mov r2, a
0094 08 108 inc r0
0095 D9CC 109 djnz r1, Loop
0097 90E101 110 mov dptr, #OUTBIT
009A 7400 111 mov a, #0
009C F0 112 movx @dptr, a ; 关所有八段管
009D C2D3 113 clr 0d3h
009F 22 114 ret
00A0 115 LEDMAP: ; 八段管显示码
00A0 3F065B4F 116 db 3fh, 06h, 5bh, 4fh, 66h, 6dh, 7dh, 07h
00A4 666D7D07
00A8 7F6F777C 117 db 7fh, 6fh, 77h, 7ch, 39h, 5eh, 79h, 71h
00AC 395E7971
118 END
A51 MACRO ASSEMBLER AMC 30/11/03 16:09:27 PAGE 3
XREF SYMBOL TABLE LISTING
---- ------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES / REFERENCES
ACC. . . . . . . . D ADDR 00E0H A 89
B. . . . . . . . . D ADDR 00F0H A 85 99
CLK164 . . . . . . N NUMB E102H A 5# 93
DAT164 . . . . . . N NUMB E102H A 6# 91
DELAY. . . . . . . C ADDR 0054H A 65# 104
DELAYLOOP. . . . . C ADDR 0056H A 68# 69 70
DISPLAY. . . . . . C ADDR 005BH A 29 73#
DLP. . . . . . . . C ADDR 0071H A 86# 99
IN . . . . . . . . N NUMB E103H A 8#
LEDBUF . . . . . . N NUMB 0040H A 7# 74
LEDMAP . . . . . . C ADDR 00A0H A 83 115#
LOOP . . . . . . . C ADDR 0063H A 77# 109
LOOP0. . . . . . . C ADDR 0014H A 19# 30
LOOP1. . . . . . . C ADDR 002EH A 21 31#
LOOP2. . . . . . . C ADDR 0034H A 36# 55
OUTBIT . . . . . . N NUMB E101H A 4# 78 100 110
PTDS . . . . . . . C ADDR 004AH A 24 26 28 57#
PTDS1. . . . . . . C ADDR 004FH A 58 61#
SP . . . . . . . . D ADDR 0081H A 10
TH0. . . . . . . . D ADDR 008CH A 16 19
TL0. . . . . . . . D ADDR 008AH A 17 20
TMOD . . . . . . . D ADDR 0089H A 15
TR0. . . . . . . . B ADDR 0088H.4 A 18
REGISTER BANK(S) USED: 0
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -