📄 digital clock.lst
字号:
A51 MACRO ASSEMBLER DIGITAL_CLOCK 08/17/2007 23:15:29 PAGE 1
MACRO ASSEMBLER A51 V8.00
OBJECT MODULE PLACED IN digital clock.OBJ
ASSEMBLER INVOKED BY: C:\Keil\C51\BIN\A51.EXE digital clock.asm SET(SMALL) DEBUG EP
LOC OBJ LINE SOURCE
0030 1 SECOND EQU 30H
0031 2 MINITE EQU 31H
0032 3 HOUR EQU 32H
0082 4 HOURK BIT P0.2
0081 5 MINITEK BIT P0.1
0080 6 SECONDK BIT P0.0
0040 7 DISPBUF EQU 40H
0048 8 DISPBIT EQU 48H
0049 9 T2SCNTA EQU 49H
004A 10 T2SCNTB EQU 4AH
004B 11 TEMP EQU 4BH
12
0000 13 ORG 00H
0000 02000E 14 LJMP START
000B 15 ORG 0BH
000B 0200BF 16 LJMP INT_T0
000E 753000 17 START: MOV SECOND,#00H
0011 753100 18 MOV MINITE,#00H
0014 75320C 19 MOV HOUR,#12
0017 754800 20 MOV DISPBIT,#00H
001A 754900 21 MOV T2SCNTA,#00H
001D 754A00 22 MOV T2SCNTB,#00H
0020 754BFE 23 MOV TEMP,#0FEH
0023 12008C 24 LCALL DISP
0026 758901 25 MOV TMOD,#01H
0029 758CF8 26 MOV TH0,#(65536-2000) / 256
002C 758A30 27 MOV TL0,#(65536-2000) MOD 256
002F D28C 28 SETB TR0
0031 D2A9 29 SETB ET0
0033 D2AF 30 SETB EA
0035 208016 31 WT: JB SECONDK,NK1
0038 120083 32 LCALL DELY10MS
003B 208010 33 JB SECONDK,NK1
003E 0530 34 INC SECOND
0040 E530 35 MOV A,SECOND
0042 B43C03 36 CJNE A,#60,NS60
0045 753000 37 MOV SECOND,#00H
0048 12008C 38 NS60: LCALL DISP
004B 3080FD 39 JNB SECONDK,$
004E 208116 40 NK1: JB MINITEK,NK2
0051 120083 41 LCALL DELY10MS
0054 208110 42 JB MINITEK,NK2
0057 0531 43 INC MINITE
0059 E531 44 MOV A,MINITE
005B B43C03 45 CJNE A,#60,NM60
005E 753100 46 MOV MINITE,#00H
0061 12008C 47 NM60: LCALL DISP
0064 3081FD 48 JNB MINITEK,$
0067 208216 49 NK2: JB HOURK,NK3
006A 120083 50 LCALL DELY10MS
006D 208210 51 JB HOURK,NK3
0070 0532 52 INC HOUR
0072 E532 53 MOV A,HOUR
0074 B41803 54 CJNE A,#24,NH24
0077 753200 55 MOV HOUR,#00H
007A 12008C 56 NH24: LCALL DISP
007D 3082FD 57 JNB HOURK,$
0080 020035 58 NK3: LJMP WT
A51 MACRO ASSEMBLER DIGITAL_CLOCK 08/17/2007 23:15:29 PAGE 2
0083 59 DELY10MS:
0083 7E0A 60 MOV R6,#10
0085 7FF8 61 D1: MOV R7,#248
0087 DFFE 62 DJNZ R7,$
0089 DEFA 63 DJNZ R6,D1
008B 22 64 RET
008C 65 DISP:
008C 7440 66 MOV A,#DISPBUF
008E 2408 67 ADD A,#8
0090 14 68 DEC A
0091 F9 69 MOV R1,A
0092 E532 70 MOV A,HOUR
0094 75F00A 71 MOV B,#10
0097 84 72 DIV AB
0098 F7 73 MOV @R1,A
0099 19 74 DEC R1
009A E5F0 75 MOV A,B
009C F7 76 MOV @R1,A
009D 19 77 DEC R1
009E 740A 78 MOV A,#10
00A0 F7 79 MOV@R1,A
00A1 19 80 DEC R1
00A2 E531 81 MOV A,MINITE
00A4 75F00A 82 MOV B,#10
00A7 84 83 DIV AB
00A8 F7 84 MOV @R1,A
00A9 19 85 DEC R1
00AA E5F0 86 MOV A,B
00AC F7 87 MOV @R1,A
00AD 19 88 DEC R1
00AE 740A 89 MOV A,#10
00B0 F7 90 MOV@R1,A
00B1 19 91 DEC R1
00B2 E530 92 MOV A,SECOND
00B4 75F00A 93 MOV B,#10
00B7 84 94 DIV AB
00B8 F7 95 MOV @R1,A
00B9 19 96 DEC R1
00BA E5F0 97 MOV A,B
00BC F7 98 MOV @R1,A
00BD 19 99 DEC R1
00BE 22 100 RET
00BF 101 INT_T0:
00BF 758CF8 102 MOV TH0,#(65536-2000) / 256
00C2 758A30 103 MOV TL0,#(65536-2000) MOD 256
00C5 74FF 104 MOV A, #0FFH
00C7 F5B0 105 MOV P3,A
106
00C9 7440 107 MOV A,#DISPBUF
00CB 2548 108 ADD A,DISPBIT
00CD F8 109 MOV R0,A
00CE E6 110 MOV A,@R0
00CF 90011D 111 MOV DPTR,#TABLE
00D2 93 112 MOVC A,@A+DPTR
00D3 F590 113 MOV P1,A
00D5 E548 114 MOV A,DISPBIT
00D7 900128 115 MOV DPTR,#TAB
00DA 93 116 MOVC A,@A+DPTR
00DB F5B0 117 MOV P3,A
00DD 0548 118 INC DISPBIT
00DF E548 119 MOV A,DISPBIT
00E1 B40803 120 CJNE A,#08H,KNA
00E4 754800 121 MOV DISPBIT,#00H
00E7 0549 122 KNA: INC T2SCNTA
00E9 E549 123 MOV A,T2SCNTA
00EB B4642E 124 CJNE A,#100,DONE
A51 MACRO ASSEMBLER DIGITAL_CLOCK 08/17/2007 23:15:29 PAGE 3
00EE 754900 125 MOV T2SCNTA,#00H
00F1 054A 126 INC T2SCNTB
00F3 E54A 127 MOV A,T2SCNTB
00F5 B40524 128 CJNE A,#05H,DONE
00F8 754A00 129 MOV T2SCNTB,#00H
00FB 0530 130 INC SECOND
00FD E530 131 MOV A,SECOND
00FF B43C17 132 CJNE A,#60,NEXT
0102 753000 133 MOV SECOND,#00H
0105 0531 134 INC MINITE
0107 E531 135 MOV A,MINITE
0109 B43C0D 136 CJNE A,#60,NEXT
010C 753100 137 MOV MINITE,#00H
010F 0532 138 INC HOUR
0111 E532 139 MOV A,HOUR
0113 B41803 140 CJNE A,#24,NEXT
0116 753200 141 MOV HOUR,#00H
0119 12008C 142 NEXT: LCALL DISP
011C 32 143 DONE: RETI
011D 3F065B4F 144 TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,40H
0121 666D7D07
0125 7F6F40
0128 FEFDFBF7 145 TAB: DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07FH
012C EFDFBF7F
146 END
A51 MACRO ASSEMBLER DIGITAL_CLOCK 08/17/2007 23:15:29 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 0085H A
DELY10MS . . . . . C ADDR 0083H A
DISP . . . . . . . C ADDR 008CH A
DISPBIT. . . . . . N NUMB 0048H A
DISPBUF. . . . . . N NUMB 0040H A
DONE . . . . . . . C ADDR 011CH A
EA . . . . . . . . B ADDR 00A8H.7 A
ET0. . . . . . . . B ADDR 00A8H.1 A
HOUR . . . . . . . N NUMB 0032H A
HOURK. . . . . . . B ADDR 0080H.2 A
INT_T0 . . . . . . C ADDR 00BFH A
KNA. . . . . . . . C ADDR 00E7H A
MINITE . . . . . . N NUMB 0031H A
MINITEK. . . . . . B ADDR 0080H.1 A
NEXT . . . . . . . C ADDR 0119H A
NH24 . . . . . . . C ADDR 007AH A
NK1. . . . . . . . C ADDR 004EH A
NK2. . . . . . . . C ADDR 0067H A
NK3. . . . . . . . C ADDR 0080H A
NM60 . . . . . . . C ADDR 0061H A
NS60 . . . . . . . C ADDR 0048H A
P0 . . . . . . . . D ADDR 0080H A
P1 . . . . . . . . D ADDR 0090H A
P3 . . . . . . . . D ADDR 00B0H A
SECOND . . . . . . N NUMB 0030H A
SECONDK. . . . . . B ADDR 0080H.0 A
START. . . . . . . C ADDR 000EH A
T2SCNTA. . . . . . N NUMB 0049H A
T2SCNTB. . . . . . N NUMB 004AH A
TAB. . . . . . . . C ADDR 0128H A
TABLE. . . . . . . C ADDR 011DH A
TEMP . . . . . . . N NUMB 004BH A
TH0. . . . . . . . D ADDR 008CH A
TL0. . . . . . . . D ADDR 008AH A
TMOD . . . . . . . D ADDR 0089H A
TR0. . . . . . . . B ADDR 0088H.4 A
WT . . . . . . . . C ADDR 0035H A
REGISTER BANK(S) USED: 0
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -