📄 时钟备份.lst
字号:
ASEM-51 V1.2 Copyright (c) 1996 by W.W. Heinz PAGE 1
MCS-51 Family Cross Assembler A S E M - 5 1 V 1.2
=====================================================
Source File: 时钟备份.TXT
Object File: 时钟备份.HEX
List File: 时钟备份.LST
Line I Addr Code Source
1: ;连线图: *LCM---8031* *LCM---8031* *LCM------------8031*
2: ; *DB0---P0.0* *DB4---P0.4* *RS-------------P2.4*
3: ; *DB1---P0.1* *DB5---P0.5* *RW-------------P2.5*
4: ; *DB2---P0.2* *DB6---P0.6* *E--NAND GATE---P2.2*
5: N 1000 RSADDR EQU 1000H
6: N 2000 RWADDR EQU 2000H
7: N 0400 CSADDR EQU 0400H
8: N 0031 num equ 31h;定义各变量地址
9: N 0032 year1 equ 32h
10: N 0033 year0 equ 33h
11: N 0034 munth1 equ 34h
12: N 0035 munth0 equ 35h
13: N 0036 day1 equ 36h
14: N 0037 day0 equ 37h
15: N 0038 WEEK EQU 38H
16: N 0039 hour1 equ 39h
17: N 003A hour0 equ 3ah
18: N 003B min1 equ 3bh
19: N 003C min0 equ 3ch
20: N 003D sec1 equ 3dh
21: N 003E sec0 equ 3eh
22: N 003F hh equ 3fh;判别选择键按的次数
23:
24:
25: N 0000 ORG 0000H
26: 0000 02 00 30 JMP START
27: N 000B ORG 000BH
28: 000B 02 06 29 LJMP TIMER01
29: N 0030 ORG 0030H
30: 0030 75 81 60 START: MOV SP,#60H
31: 0033 78 30 MOV R0,#30H
32: 0035 7F 10 mov R7,#16
33:
34: 0037 76 00 LOOP5: MOV @R0,#00H;各地址指针给0值
35: 0039 08 INC R0
36: 003A DF FB DJNZ R7,LOOP5
37:
38: 003C 75 8C B0 MAIN: MOV TH0,#0B0H
39: 003F 75 8A 3C MOV TL0,#3CH
40: 0042 D2 AF SETB EA
41: 0044 D2 A9 SETB ET0
42: 0046 D2 8C SETB TR0
43: 0048 75 42 08 mov 42h,#8;星期变量
ASEM-51 V1.2 Copyright (c) 1996 by W.W. Heinz PAGE 2
Line I Addr Code Source
44: 004B 75 43 0B mov 43h,#11;秒个位变量
45: 004E 75 44 0B mov 44h,#11;秒十位变量
46: 0051 75 45 0B mov 45h,#11;分个位变量
47: 0054 75 46 0B mov 46h,#11;分十位变量
48: 0057 75 47 0B mov 47h,#11;时个位变量
49: 005A 75 48 0B mov 48h,#11;时十位变量
50: 005D 75 49 0B mov 49h,#11;日个位变量
51: 0060 75 4A 0B mov 4ah,#11;日十位变量
52: 0063 75 4B 0B mov 4bh,#11;月个位
53: 0066 75 4C 0B mov 4ch,#11;月十位
54: 0069 75 4D 0B mov 4dh,#11;年个位
55: 006C 75 4E 0B mov 4eh,#11;年十位
56: 006F 12 05 C4 CALL LCDRESET
57:
58: 0072 74 84 disp: MOV A,#10000100B;显示程序
59: 0074 12 05 F7 CALL LCDWC
60: 0077 90 07 B8 MOV DPTR,#TAB
61: 007A E5 39 MOV A,hour1
62: 007C 93 MOVC A,@A+DPTR
63: 007D 12 05 FF CALL LCDWD
64: 0080 90 07 B8 MOV DPTR,#TAB
65: 0083 E5 3A MOV A,hour0
66: 0085 93 MOVC A,@A+DPTR
67: 0086 12 05 FF CALL LCDWD
68: 0089 74 3A MOV A,#3AH
69: 008B 12 05 FF CALL LCDWD
70: 008E 90 07 B8 MOV DPTR,#TAB
71: 0091 E5 3B MOV A,min1
72: 0093 93 MOVC A,@A+DPTR
73: 0094 12 05 FF CALL LCDWD
74: 0097 90 07 B8 mov dptr,#tab
75: 009A E5 3C MOV A,min0
76: 009C 93 MOVC A,@A+DPTR
77: 009D 12 05 FF CALL LCDWD
78: 00A0 74 3A MOV A,#3AH
79: 00A2 12 05 FF CALL LCDWD
80: 00A5 90 07 B8 MOV DPTR,#TAB
81: 00A8 E5 3D MOV A,sec1
82: 00AA 93 MOVC A,@A+DPTR
83: 00AB 12 05 FF CALL LCDWD
84: 00AE 90 07 B8 MOV DPTR,#TAB
85: 00B1 E5 3E MOV A,sec0
86: 00B3 93 MOVC A,@A+DPTR
87: 00B4 12 05 FF CALL LCDWD
88: 00B7 74 C0 MOV A,#11000000B
89: 00B9 12 05 F7 CALL LCDWC
90: 00BC 74 32 MOV A,#'2'
91: 00BE 12 05 FF CALL LCDWD
92: 00C1 74 30 MOV A,#'0'
93: 00C3 12 05 FF CALL LCDWD
94: 00C6 90 07 B8 MOV DPTR,#TAB
95: 00C9 E5 32 MOV A,YEAR1
96: 00CB 93 MOVC A,@A+DPTR
97: 00CC 12 05 FF CALL LCDWD
98: 00CF 90 07 B8 MOV DPTR,#TAB
99: 00D2 E5 33 MOV A,YEAR0
ASEM-51 V1.2 Copyright (c) 1996 by W.W. Heinz PAGE 3
Line I Addr Code Source
100: 00D4 93 MOVC A,@A+DPTR
101: 00D5 12 05 FF CALL LCDWD
102: 00D8 74 2D MOV A,#'-'
103: 00DA 12 05 FF CALL LCDWD
104: 00DD 90 07 B8 MOV DPTR,#TAB
105: 00E0 E5 34 MOV A,MUNTH1
106: 00E2 93 MOVC A,@A+DPTR
107: 00E3 12 05 FF CALL LCDWD
108: 00E6 90 07 B8 MOV DPTR,#TAB
109: 00E9 E5 35 MOV A,MUNTH0
110: 00EB 93 MOVC A,@A+DPTR
111: 00EC 12 05 FF CALL LCDWD
112: 00EF 74 2D MOV A,#'-'
113: 00F1 12 05 FF CALL LCDWD
114: 00F4 90 07 B8 MOV DPTR,#TAB
115: 00F7 E5 36 MOV A,day1
116: 00F9 93 MOVC A,@A+DPTR
117: 00FA 12 05 FF CALL LCDWD
118: 00FD 90 07 B8 MOV DPTR,#TAB
119: 0100 E5 37 MOV A,day0
120: 0102 93 MOVC A,@A+DPTR
121: 0103 12 05 FF CALL LCDWD
122: 0106 74 20 mov a,#' '
123: 0108 12 05 FF CALL LCDWD
124: 010B 74 20 mov a,#' '
125: 010D 12 05 FF CALL LCDWD
126: 0110 90 07 C4 MOV DPTR,#WEEK1
127: 0113 E5 38 MOV A,WEEK
128: 0115 93 MOVC A,@A+DPTR
129: 0116 12 05 FF CALL LCDWD
130: 0119 90 07 CD MOV DPTR,#WEEK2
131: 011C E5 38 MOV A,WEEK
132: 011E 93 MOVC A,@A+DPTR
133: 011F 12 05 FF CALL LCDWD
134: 0122 90 07 D6 MOV DPTR,#WEEK3
135: 0125 E5 38 MOV A,WEEK
136: 0127 93 MOVC A,@A+DPTR
137: 0128 12 05 FF CALL LCDWD
138:
139: 012B 20 B2 2F KEY: JB P3.2,key0;调整程序
140: 012E 12 06 13 CALL DELAY5MS
141: 0131 12 06 13 call delay5ms
142: 0134 20 B2 26 JB P3.2,key0
143: 0137 C2 8C clr tr0
144: 0139 05 3F INC hh
145: 013B E5 3F MOV A,hh
146: 013D B4 08 17 CJNE A,#8,keyover
147: 0140 75 3F 00 MOV hh,#00H
148: 0143 E5 4D mov a,4dh
149: 0145 B4 0B 03 cjne a,#11,yearr
150: 0148 02 01 57 ljmp keyover
151: 014B 85 4D 33 yearr: mov year0,4dh
152: 014E 85 4E 32 mov year1,4eh
153: 0151 75 4D 0B mov 4dh,#11
154: 0154 75 4E 0B mov 4eh,#11
155: 0157 20 B2 03 keyover:JB P3.2,key0
ASEM-51 V1.2 Copyright (c) 1996 by W.W. Heinz PAGE 4
Line I Addr Code Source
156: 015A 02 01 57 lJMP keyover
157:
158: ;秒钟调整程序
159: 015D E5 3F key0: mov a,hh;秒钟加1
160: 015F B4 01 33 cjne a,#1,key1ljmp
161: 0162 E5 43 mov a,43h
162: 0164 C5 3E xch a,sec0
163: 0166 F5 43 mov 43h,a
164: 0168 E5 44 mov a,44h
165: 016A C5 3D xch a,sec1
166: 016C F5 44 mov 44h,a
167: 016E 20 B3 3C jb p3.3,key00
168: 0171 12 06 13 call DELAY5MS
169: 0174 20 B3 36 JB P3.3,key00
170: 0177 C2 8C clr tr0
171: 0179 E5 43 mov a,43h
172: 017B B4 0B 1A cjne a,#11,e3
173: 017E 05 3E e4: INC sec0
174: 0180 E5 3E MOV A,sec0
175: 0182 B4 0A 22 CJNE A,#10,key0over
176: 0185 75 3E 00 MOV sec0,#00H
177: 0188 05 3D inc sec1
178: 018A E5 3D mov a,sec1
179: 018C B4 06 18 cjne a,#6,key0over
180: 018F 75 3D 00 MOV sec1,#00H
181: 0192 02 01 A7 ljmp key0over
182: 0195 02 01 EF key1ljmp:LJMP KEY1
183: 0198 85 43 3E e3: mov sec0,43h
184: 019B 75 43 0B mov 43h,#11
185: 019E 85 44 3D mov sec1,44h
186: 01A1 75 44 0B mov 44h,#11
187: 01A4 02 01 7E ljmp e4
188: 01A7 20 B3 03 key0over:JB P3.3,key00
189: 01AA 02 01 A7 lJMP key0over
190:
191:
192: 01AD 20 B4 3F key00: jb p3.4,key1;秒钟减1
193: 01B0 12 06 13 call DELAY5MS
194: 01B3 12 06 13 call DELAY5MS
195: 01B6 20 B4 36 jb p3.4, key1
196: 01B9 C2 8C clr tr0
197: 01BB E5 43 mov a,43h
198: 01BD B4 0B 13 cjne a,#11,eeeee
199: 01C0 E5 3E eeee: mov a,sec0
200: 01C2 B4 00 22 cjne a,#0,ccc
201: 01C5 75 3E 09 mov sec0,#9
202: 01C8 E5 3D mov a,sec1
203: 01CA B4 00 15 cjne a,#0,cccc
204: 01CD 75 3D 05 mov sec1,#5
205: 01D0 02 01 E9 ljmp key00over
206: 01D3 85 43 3E eeeee: mov sec0,43h
207: 01D6 85 44 3D mov sec1,44h
208: 01D9 75 43 0B mov 43h,#11
209: 01DC 75 44 0B mov 44h,#11
210: 01DF 02 01 C0 ljmp eeee
211: 01E2 15 3D cccc: dec sec1
ASEM-51 V1.2 Copyright (c) 1996 by W.W. Heinz PAGE 5
Line I Addr Code Source
212: 01E4 02 01 E9 ljmp key00over
213: 01E7 15 3E ccc: dec sec0
214: 01E9 20 B4 03 key00over:JB P3.4,key1
215: 01EC 02 01 E9 lJMP key00over
216:
217:
218: ;分钟调整程序
219: 01EF E5 3F key1: mov a,hh;分钟加1
220: 01F1 B4 02 47 cjne a,#2,key2ljmp
221: 01F4 E5 43 mov a,43h
222: 01F6 B4 0B 33 cjne a,#11,tt
223: 01F9 E5 45 ttt: mov a,45h
224: 01FB C5 3C xch a,min0
225: 01FD F5 45 mov 45h,a
226: 01FF E5 46 mov a,46h
227: 0201 C5 3B xch a,min1
228: 0203 F5 46 mov 46h,a
229: 0205 20 B3 4B jb p3.3,key11
230: 0208 12 06 13 call DELAY5MS
231: 020B 20 B3 45 JB P3.3,key11
232: 020E C2 8C clr tr0
233: 0210 E5 45 mov a,45h
234: 0212 B4 0B 29 cjne a,#11,kkk
235: 0215 05 3C kk: INC min0
236: 0217 E5 3C MOV A,min0
237: 0219 B4 0A 31 CJNE A,#10,key1over
238: 021C 75 3C 00 MOV min0,#00H
239: 021F 05 3B inc min1
240: 0221 E5 3B mov a,min1
241: 0223 B4 06 27 cjne a,#6,key1over
242: 0226 75 3B 00 MOV min1,#00H
243: 0229 02 02 4D ljmp key1over
244: 022C 85 43 3E tt: mov sec0,43h
245: 022F 85 44 3D mov sec1,44h
246: 0232 75 43 0B mov 43h,#11
247: 0235 75 44 0B mov 44h,#11
248: 0238 02 01 F9 ljmp ttt
249: 023B 02 02 92 key2ljmp:ljmp key2
250: 023E 85 45 3C kkk: mov min0,45h
251: 0241 85 46 3B mov min1,46h
252: 0244 75 45 0B mov 45h,#11
253: 0247 75 46 0B mov 46h,#11
254: 024A 02 02 15 ljmp kk
255: 024D 20 B3 03 key1over:JB P3.3,key11
256: 0250 02 02 4D lJMP key1over
257:
258:
259: 0253 20 B4 3C key11: jb p3.4,key2;分钟减1
260: 0256 12 06 13 call DELAY5MS
261: 0259 20 B4 36 jb p3.4, KEY2
262: 025C C2 8C clr tr0
263: 025E E5 45 mov a,45h
264: 0260 B4 0B 13 cjne a,#11,kkkkk
265: 0263 E5 3C kkkk: mov a,min0
266: 0265 B4 00 22 cjne a,#0,aaa
267: 0268 75 3C 09 mov min0,#9
ASEM-51 V1.2 Copyright (c) 1996 by W.W. Heinz PAGE 6
Line I Addr Code Source
268: 026B E5 3B mov a,min1
269: 026D B4 00 15 cjne a,#0,aaaa
270: 0270 75 3B 05 mov min1,#5
271: 0273 02 02 8C ljmp key11over
272: 0276 85 45 3C kkkkk: mov min0,45h
273: 0279 85 46 3B mov min1,46h
274: 027C 75 45 0B mov 45h,#11
275: 027F 75 46 0B mov 46h,#11
276: 0282 02 02 63 ljmp kkkk
277: 0285 15 3B aaaa: dec min1
278: 0287 02 02 8C ljmp key11over
279: 028A 15 3C aaa: dec min0
280: 028C 20 B4 03 key11over:JB P3.4,key2
281: 028F 02 02 8C lJMP key11over
282:
283: ;时调整程序
284: 0292 E5 3F key2: mov a,hh;时加1
285: 0294 B4 03 57 cjne a,#3,key3ljmp
286: 0297 E5 45 mov a,45h
287: 0299 B4 0B 34 cjne a,#11,ss
288: 029C E5 47 sss: mov a,47h
289: 029E C5 3A xch a,hour0
290: 02A0 F5 47 mov 47h,a
291: 02A2 E5 48 mov a,48h
292: 02A4 C5 39 xch a,hour1
293: 02A6 F5 48 mov 48h,a
294: 02A8 20 B3 56 jb p3.3,key22
295: 02AB 12 06 13 CALL DELAY5MS
296: 02AE 12 06 13 call delay5ms
297: 02B1 20 B3 4D jb p3.3,key22
298: 02B4 C2 8C clr tr0
299: 02B6 E5 47 mov a,47h
300: 02B8 B4 0B 24 cjne a,#11,qq
301: 02BB 05 3A qqq: INC hour0
302: 02BD E5 39 mov a,hour1
303: 02BF B4 02 2F cjne a,#2,hour
304: 02C2 E5 3A MOV A,hour0
305: 02C4 B4 04 34 CJNE A,#4,key2over
306: 02C7 75 3A 00 mov hour0,#00h
307: 02CA 75 39 00 mov hour1,#00h
308: 02CD 02 02 FB ljmp key2over
309: 02D0 85 45 3C ss: mov min0,45h
310: 02D3 85 46 3B mov min1,46h
311: 02D6 75 45 0B mov 45h,#11
312: 02D9 75 46 0B mov 46h,#11
313: 02DC 02 02 9C ljmp sss
314: 02DF 85 47 3A qq: mov hour0,47h
315: 02E2 85 48 39 mov hour1,48h
316: 02E5 75 47 0B mov 47h,#11
317: 02E8 75 48 0B mov 48h,#11
318: 02EB 02 02 BB ljmp qqq
319: 02EE 02 03 43 key3ljmp:ljmp key3
320: 02F1 E5 3A hour: mov a,hour0
321: 02F3 B4 0A 05 cjne a,#10,key2over
322: 02F6 75 3A 00 MOV hour0,#00H
323: 02F9 05 39 INC hour1
ASEM-51 V1.2 Copyright (c) 1996 by W.W. Heinz PAGE 7
Line I Addr Code Source
324: 02FB 20 B3 03 key2over:JB P3.3,key22
325: 02FE 02 02 FB lJMP key2over
326:
327:
328: 0301 20 B4 3F key22: jb p3.4,key3;时钟减1
329: 0304 12 06 13 call DELAY5MS
330: 0307 20 B4 39 jb p3.4, KEY3
331: 030A C2 8C clr tr0
332: 030C E5 47 mov a,47h
333: 030E B4 0B 13 cjne a,#11,h2
334: 0311 E5 3A h3: mov a,hour0
335: 0313 B4 00 25 cjne a,#0,h4
336: 0316 E5 39 mov a,hour1
337: 0318 B4 00 18 cjne a,#0,h5
338: 031B 75 3A 03 mov hour0,#3
339: 031E 75 39 02 mov hour1,#2
340: 0321 02 03 3D ljmp key22over
341: 0324 85 47 3A h2: mov hour0,47h
342: 0327 85 48 39 mov hour1,48h
343: 032A 75 47 0B mov 47h,#11
344: 032D 75 48 0B mov 48h,#11
345: 0330 02 03 11 ljmp h3
346: 0333 75 3A 09 h5: mov hour0,#9
347: 0336 15 39 dec hour1
348: 0338 02 03 3D ljmp key22over
349: 033B 15 3A h4: dec hour0
350: 033D 20 B4 03 key22over:JB P3.4,key3
351: 0340 02 03 3D lJMP key22over
352:
353: ;星期调整程序
354: 0343 E5 3F key3: mov a,hh;星期加1
355: 0345 B4 04 43 cjne a,#4,key4ljmp
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -