📄 数字钟2.lst
字号:
A51 MACRO ASSEMBLER 数字钟2 06/10/2012 17:29:20 PAGE 1
MACRO ASSEMBLER A51 V8.00
OBJECT MODULE PLACED IN 数字钟2.OBJ
ASSEMBLER INVOKED BY: F:\新建文件夹\新建文件夹 (2)\C51\BIN\A51.EXE 数字钟2.asm SET(SMALL) DEBUG EP
LOC OBJ LINE SOURCE
0090 1 RIQI BIT P1.0
0091 2 DAY_SET BIT P1.1
0092 3 MON_SET BIT P1.2
0093 4 YEL_SET BIT P1.3
0094 5 YEH_SET BIT P1.4
0095 6 ENSURE BIT P1.5
0030 7 SECOND EQU 30H
0031 8 MINUTE EQU 31H
0032 9 HOUR EQU 32H
0033 10 ALARM_SECOND EQU 33H
0034 11 ALARM_MINUTE EQU 34H
0035 12 ALARM_HOUR EQU 35H
0036 13 CLOCK_SECOND EQU 36H
0037 14 CLOCK_MINUTE EQU 37H
0038 15 CLOCK_HOUR EQU 38H
0039 16 DAY EQU 39H
0040 17 MONTH EQU 40H
0041 18 YEARL EQU 41H
0042 19 YEARH EQU 42H
0043 20 TCNT EQU 43H
21
0000 22 ORG 0000H
0000 020030 23 LJMP START
000B 24 ORG 000BH
000B 020069 25 LJMP T00
0030 26 ORG 0030H
27
0030 9001C5 28 START: MOV DPTR,#TAB
0033 754300 29 MOV TCNT,#0
0036 753217 30 MOV HOUR,#23
0039 75313B 31 MOV MINUTE,#59
003C 753038 32 MOV SECOND,#56
33
003F 753300 34 MOV ALARM_SECOND,#0
0042 753400 35 MOV ALARM_MINUTE,#0
0045 753507 36 MOV ALARM_HOUR,#7
37
0048 75391C 38 MOV DAY,#28
004B 754002 39 MOV MONTH,#2
004E 754100 40 MOV YEARL,#00
0051 754213 41 MOV YEARH,#19
42
0054 758901 43 MOV TMOD,#01H
0057 758C3C 44 MOV TH0,#(65536-50000)/256
005A 758AB0 45 MOV TL0,#(65536-50000) MOD 256
005D 75A883 46 MOV IE,#83H
0060 D2B9 47 SETB PT0
0062 D28C 48 SETB TR0
0064 120120 49 L1: LCALL DISPLAY
0067 80FB 50 SJMP L1
51
52
53
54
55
0069 758C3C 56 T00: MOV TH0,#(65536-50000)/256
006C 758AB0 57 MOV TL0,#(65536-50000) MOD 256
006F 0543 58 INC TCNT
A51 MACRO ASSEMBLER 数字钟2 06/10/2012 17:29:20 PAGE 2
0071 E543 59 MOV A,TCNT
0073 B4142B 60 CJNE A,#20,RETUNE1
0076 754300 61 MOV TCNT,#0
0079 0530 62 INC SECOND
007B E530 63 MOV A,SECOND
007D B43C21 64 CJNE A,#60,RETUNE1
0080 0531 65 INC MINUTE
0082 753000 66 MOV SECOND,#0
0085 E531 67 MOV A,MINUTE
0087 B43C17 68 CJNE A,#60,RETUNE1
008A 0532 69 INC HOUR
008C 753100 70 MOV MINUTE,#0
008F E532 71 MOV A,HOUR
0091 B4180D 72 CJNE A,#24,RETUNE1
0094 753200 73 MOV HOUR,#0
0097 0539 74 INC DAY
0099 E540 75 MOV A,MONTH
009B B40806 76 CJNE A,#8,T01
009E 0200A4 77 LJMP T01
00A1 02011C 78 RETUNE1:LJMP RETUNE
00A4 402F 79 T01: JC T02
00A6 13 80 RRC A
00A7 4020 81 JC T011
00A9 E539 82 MOV A,DAY
00AB B4206E 83 CJNE A,#32,RETUNE
00AE 0540 84 INC MONTH
00B0 753901 85 MOV DAY,#1
00B3 E540 86 MOV A,MONTH
00B5 B40D64 87 CJNE A,#13,RETUNE
00B8 0541 88 INC YEARL
00BA 754001 89 MOV MONTH,#1
00BD E541 90 MOV A,YEARL
00BF B4645A 91 CJNE A,#100,RETUNE
00C2 0542 92 INC YEARH
00C4 754101 93 MOV YEARL,#1
00C7 8053 94 SJMP RETUNE
00C9 E539 95 T011: MOV A,DAY
00CB B41F4E 96 CJNE A,#31,RETUNE
00CE 0540 97 INC MONTH
00D0 753901 98 MOV DAY,#1
00D3 8047 99 SJMP RETUNE
00D5 13 100 T02: RRC A
00D6 500C 101 JNC T03
00D8 E539 102 MOV A,DAY
00DA B4203F 103 CJNE A,#32,RETUNE
00DD 0540 104 INC MONTH
00DF 753901 105 MOV DAY,#1
00E2 8038 106 SJMP RETUNE
00E4 E540 107 T03: MOV A,MONTH
00E6 B40229 108 CJNE A,#2,T04
00E9 E541 109 MOV A,YEARL
00EB B4000D 110 CJNE A,#0,T031
00EE E542 111 MOV A,YEARH
00F0 75F004 112 MOV B,#04
00F3 84 113 DIV AB
00F4 E5F0 114 MOV A,B
00F6 B40019 115 CJNE A,#0,T04
00F9 800B 116 SJMP T032
00FB E541 117 T031: MOV A,YEARL
00FD 75F004 118 MOV B,#04
0100 84 119 DIV AB
0101 E5F0 120 MOV A,B
0103 B4000C 121 CJNE A,#0,T04
0106 E539 122 T032: MOV A,DAY
0108 B41E11 123 CJNE A,#30,RETUNE
010B 0540 124 INC MONTH
A51 MACRO ASSEMBLER 数字钟2 06/10/2012 17:29:20 PAGE 3
010D 753901 125 MOV DAY,#1
0110 800A 126 SJMP RETUNE
127
128
0112 E539 129 T04: MOV A,DAY
0114 B41D05 130 CJNE A,#29,RETUNE
0117 0540 131 INC MONTH
0119 753901 132 MOV DAY,#1
011C 120120 133 RETUNE: LCALL DISPLAY
011F 32 134 RETI
135
136
0120 30906A 137 DISPLAY:JNB P1.0,DISDATA
0123 E530 138 MOV A,SECOND
0125 75F00A 139 MOV B,#10
0128 84 140 DIV AB
0129 C2A6 141 CLR P2.6
012B 93 142 MOVC A,@A+DPTR
012C F580 143 MOV P0,A
012E 1201BC 144 LCALL DELAY
0131 D2A6 145 SETB P2.6
0133 E5F0 146 MOV A,B
0135 C2A7 147 CLR P2.7
0137 93 148 MOVC A,@A+DPTR
0138 F580 149 MOV P0,A
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -