?? 數字鐘1.lst
字號:
A51 MACRO ASSEMBLER 數字鐘1 07/08/2012 20:42:57 PAGE 1
MACRO ASSEMBLER A51 V8.00
OBJECT MODULE PLACED IN 數字鐘1.OBJ
ASSEMBLER INVOKED BY: F:\新建文件夾\新建文件夾 (2)\C51\BIN\A51.EXE 數字鐘1.asm SET(SMALL) DEBUG EP
LOC OBJ LINE SOURCE
0030 1 SECOND EQU 30H
0031 2 MINUTE EQU 31H
0032 3 HOUR EQU 32H
0033 4 ALARM_SECOND EQU 33H
0034 5 ALARM_MINUTE EQU 34H
0035 6 ALARM_HOUR EQU 35H
0036 7 CLOCK_SECOND EQU 36H
0037 8 CLOCK_MINUTE EQU 37H
0038 9 CLOCK_HOUR EQU 38H
0041 10 DAY EQU 41H
0042 11 MONTH EQU 42H
0043 12 YEARL EQU 43H
0044 13 YEARH EQU 44H
0045 14 TCNT EQU 45H
0020 15 TIME1 BIT 20H
0021 16 TIME2 BIT 21H
0000 17 ORG 0000H
0000 020030 18 LJMP START
000B 19 ORG 000BH
000B 0200DA 20 LJMP T00
0030 21 ORG 0030H
22
0030 900286 23 START: MOV DPTR,#TAB
0033 754500 24 MOV TCNT,#0
0036 C220 25 CLR TIME1
0038 C221 26 CLR TIME2
003A 7B0A 27 MOV R3,#10
003C C297 28 CLR P1.7
003E 753807 29 MOV CLOCK_HOUR,#7
0041 75373B 30 MOV CLOCK_MINUTE,#59
0044 753638 31 MOV CLOCK_SECOND,#56
32
0047 753300 33 MOV ALARM_SECOND,#0
004A 753400 34 MOV ALARM_MINUTE,#0
004D 753507 35 MOV ALARM_HOUR,#7
36
0050 75411C 37 MOV DAY,#28
0053 754202 38 MOV MONTH,#2
0056 754300 39 MOV YEARL,#00
0059 754413 40 MOV YEARH,#19
41
005C 758901 42 MOV TMOD,#01H
005F 758C3C 43 MOV TH0,#(65536-50000)/256
0062 758AB0 44 MOV TL0,#(65536-50000) MOD 256
0065 75A883 45 MOV IE,#83H
0068 D28C 46 SETB TR0
47
006A 1201C8 48 A1: LCALL DISPLAY
006D 7590FF 49 MOV P1,#0FFH
0070 30920C 50 JNB P1.2,S1
0073 30931F 51 JNB P1.3,S2
0076 309433 52 JNB P1.4,S3
0079 3095B4 53 JNB P1.5,START
007C 02006A 54 LJMP A1
007F 12027D 55 S1: LCALL DELAY
0082 2092E5 56 JB P1.2,A1
0085 0536 57 INC CLOCK_SECOND
0087 1201C8 58 LCALL DISPLAY
A51 MACRO ASSEMBLER 數字鐘1 07/08/2012 20:42:57 PAGE 2
008A E536 59 MOV A,CLOCK_SECOND
008C B43C33 60 CJNE A,#60,L1
008F 753600 61 MOV CLOCK_SECOND,#0
0092 02009B 62 LJMP K1
0095 12027D 63 S2: LCALL DELAY
0098 2093CF 64 JB P1.3,A1
009B E537 65 K1: MOV A,CLOCK_MINUTE
009D 04 66 INC A
009E F537 67 MOV CLOCK_MINUTE,A
00A0 1201C8 68 LCALL DISPLAY
69
00A3 B43C24 70 CJNE A,#60,L2
00A6 753700 71 MOV CLOCK_MINUTE,#0
00A9 0200B2 72 LJMP K2
00AC 12027D 73 S3: LCALL DELAY
00AF 2094B8 74 JB P1.4,A1
00B2 0538 75 K2: INC CLOCK_HOUR
00B4 1201C8 76 LCALL DISPLAY
00B7 E538 77 MOV A,CLOCK_HOUR
00B9 B41816 78 CJNE A,#24,L3
00BC 753800 79 MOV CLOCK_HOUR,#0
00BF 02006A 80 LJMP A1
81
82
00C2 2092A5 83 L1: JB P1.2,A1
00C5 1201C8 84 LCALL DISPLAY
00C8 80F8 85 JMP L1
00CA 20939D 86 L2: JB P1.3,A1
00CD 1201C8 87 LCALL DISPLAY
00D0 80F8 88 JMP L2
00D2 209495 89 L3: JB P1.4,A1
00D5 1201C8 90 LCALL DISPLAY
00D8 80F8 91 JMP L3
92
93
94
95
96
97
00DA 758C3C 98 T00: MOV TH0,#(65536-50000)/256
00DD 758AB0 99 MOV TL0,#(65536-50000) MOD 256
00E0 0545 100 INC TCNT
00E2 E545 101 MOV A,TCNT
00E4 B41444 102 CJNE A,#20,RETUNE1
00E7 754500 103 MOV TCNT,#0
104
105
00EA 202000 106 JB TIME1,J1
00ED 202102 107 J1: JB TIME2,J2
00F0 8004 108 SJMP J3
00F2 B297 109 J2: CPL P1.7
00F4 800D 110 SJMP J4
00F6 30200A 111 J3: JNB TIME1,J4
00F9 D297 112 SETB P1.7
00FB DB06 113 DJNZ R3,J4
00FD C297 114 CLR P1.7
00FF C220 115 CLR TIME1
0101 7B0A 116 MOV R3,#10
0103 0536 117 J4: INC CLOCK_SECOND
0105 E536 118 MOV A,CLOCK_SECOND
0107 B43C21 119 CJNE A,#60,RETUNE1
010A 0537 120 INC CLOCK_MINUTE
010C 753600 121 MOV CLOCK_SECOND,#0
010F E537 122 MOV A,CLOCK_MINUTE
0111 B43C17 123 CJNE A,#60,RETUNE1
0114 0538 124 INC CLOCK_HOUR
A51 MACRO ASSEMBLER 數字鐘1 07/08/2012 20:42:57 PAGE 3
0116 753700 125 MOV CLOCK_MINUTE,#0
0119 E538 126 MOV A,CLOCK_HOUR
011B B4180D 127 CJNE A,#24,RETUNE1
011E 753800 128 MOV CLOCK_HOUR,#0
0121 0541 129 INC DAY
0123 E542 130 MOV A,MONTH
0125 B40806 131 CJNE A,#8,T01
0128 02012E 132 LJMP T01
012B 0201A6 133 RETUNE1:LJMP RETUNE
012E 402F 134 T01: JC T02
0130 13 135 RRC A
0131 4020 136 JC T011
0133 E541 137 MOV A,DAY
0135 B4206E 138 CJNE A,#32,RETUNE
0138 0542 139 INC MONTH
013A 754101 140 MOV DAY,#1
013D E542 141 MOV A,MONTH
013F B40D64 142 CJNE A,#13,RETUNE
0142 0543 143 INC YEARL
0144 754201 144 MOV MONTH,#1
0147 E543 145 MOV A,YEARL
0149 B4645A 146 CJNE A,#100,RETUNE
014C 0544 147 INC YEARH
014E 754301 148 MOV YEARL,#1
0151 8053 149 SJMP RETUNE
0153 E541 150 T011: MOV A,DAY
0155 B41F4E 151 CJNE A,#31,RETUNE
0158 0542 152 INC MONTH
015A 754101 153 MOV DAY,#1
015D 8047 154 SJMP RETUNE
015F 13 155 T02: RRC A
0160 500C 156 JNC T03
0162 E541 157 MOV A,DAY
0164 B4203F 158 CJNE A,#32,RETUNE
0167 0542 159 INC MONTH
0169 754101 160 MOV DAY,#1
016C 8038 161 SJMP RETUNE
016E E542 162 T03: MOV A,MONTH
0170 B40229 163 CJNE A,#2,T04
0173 E543 164 MOV A,YEARL
0175 B4000D 165 CJNE A,#0,T031
0178 E544 166 MOV A,YEARH
017A 75F004 167 MOV B,#04
017D 84 168 DIV AB
017E E5F0 169 MOV A,B
0180 B40019 170 CJNE A,#0,T04
0183 800B 171 SJMP T032
0185 E543 172 T031: MOV A,YEARL
0187 75F004 173 MOV B,#04
018A 84 174 DIV AB
018B E5F0 175 MOV A,B
018D B4000C 176 CJNE A,#0,T04
0190 E541 177 T032: MOV A,DAY
0192 B41E11 178 CJNE A,#30,RETUNE
0195 0542 179 INC MONTH
0197 754101 180 MOV DAY,#1
019A 800A 181 SJMP RETUNE
182
183
019C E541 184 T04: MOV A,DAY
019E B41D05 185 CJNE A,#29,RETUNE
01A1 0542 186 INC MONTH
01A3 754101 187 MOV DAY,#1
01A6 1201C8 188 RETUNE: LCALL DISPLAY
01A9 E536 189 MOV A,CLOCK_SECOND
01AB B40007 190 CJNE A,#00,EXIT1
A51 MACRO ASSEMBLER 數字鐘1 07/08/2012 20:42:57 PAGE 4
01AE E537 191 MOV A,CLOCK_MINUTE
01B0 B40002 192 CJNE A,#00,EXIT1
01B3 D220 193 SETB TIME1
01B5 194 EXIT1:
01B5 E537 195 MOV A,CLOCK_MINUTE
01B7 B53409 196 CJNE A,ALARM_MINUTE,EXIT2
01BA E538 197 MOV A,CLOCK_HOUR
01BC B53504 198 CJNE A,ALARM_HOUR,EXIT2
01BF D221 199 SETB TIME2
01C1 8004 200 SJMP EXIT3
01C3 C221 201 EXIT2: CLR TIME2
01C5 C297 202 CLR P1.7
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -