📄 main.ls1
字号:
0053 686F7572 208 DB 'h' ,'o' ,'u' ,'r' ,'(' ,'b' ,'c' ,'d' ,'c' ,'o'
0057 28626364
005B 636F
005D 6465293D 209 DB 'd' ,'e' ,')' ,'=' ,000H
0061 00
210
0062 211 ?SC_98:
0062 6D696E75 212 DB 'm' ,'i' ,'n' ,'u' ,'t' ,'e' ,'(' ,'b' ,'c' ,'d'
0066 74652862
006A 6364
006C 636F6465 213 DB 'c' ,'o' ,'d' ,'e' ,')' ,'=' ,000H
0070 293D00
214
0073 215 ?SC_115:
0073 7365636F 216 DB 's' ,'e' ,'c' ,'o' ,'n' ,'d' ,'=' ,'%' ,'x' ,00AH
0077 6E643D25
007B 780A
007D 00 217 DB 000H
218
007E 219 mode:
007E 00 220 DB 000H
221
222
223
---- 224 RSEG ?C_INITSEG
0000 02 225 DB 002H
0001 00 F 226 DB Open_hour
0002 0008 227 DW 00008H
228
0004 02 229 DB 002H
0005 00 F 230 DB Open_minute
0006 0000 231 DW 00000H
232
0008 02 233 DB 002H
0009 00 F 234 DB Open_second
A51 MACRO ASSEMBLER MAIN 04/29/2009 19:18:09 PAGE 5
000A 0000 235 DW 00000H
236
000C 02 237 DB 002H
000D 00 F 238 DB Close_hour
000E 0015 239 DW 00015H
240
0010 02 241 DB 002H
0011 00 F 242 DB Close_minute
0012 0000 243 DW 00000H
244
0014 02 245 DB 002H
0015 00 F 246 DB Close_second
0016 0000 247 DW 00000H
248
249 ; //main()
250 ; #include "stc5410.h"
251 ; #include "stdio.h"
252 ; #include "driver1302.h"
253 ; const Open_hour=8;
254 ; const Open_minute=0;
255 ; const Open_second=0;
256 ; code enum mode0{second,minute,hour,day,month,year} mode;
257 ;
258 ; const Close_hour=21;
259 ; const Close_minute=0;
260 ; const Close_second=0;
261 ;
262 ; uchar data chour;//current time
263 ; uchar data cminute;
264 ; uchar data csecond;
265 ; uchar data cday;
266 ; uchar data cmonth;
267 ; uchar data cyear;
268 ; //sfr clk_div=0xc7;
269 ; void main()
270
---- 271 RSEG ?PR?main?MAIN
0000 272 main:
273 USING 0
274 ; SOURCE LINE # 21
275 ; {
276 ; SOURCE LINE # 22
277 ; uint i=50000;
278 ; SOURCE LINE # 23
0000 7500C3 F 279 MOV i?040,#0C3H
0003 750050 F 280 MOV i?040+01H,#050H
281 ; uchar tmp;
282 ; SCON = 0X52; //
283 ; SOURCE LINE # 25
0006 759852 284 MOV SCON,#052H
285 ; PCON = PCON|0X80;//6Mhz
286 ; SOURCE LINE # 26
0009 438780 287 ORL PCON,#080H
288 ; TMOD =TMOD| 0X20;
289 ; SOURCE LINE # 27
000C 438920 290 ORL TMOD,#020H
291 ; TH1 = 0XF3; //2400*48= 115200
292 ; SOURCE LINE # 28
000F 758DF3 293 MOV TH1,#0F3H
294 ; TL1 = 0XF3; //2400*48= 115200
295 ; SOURCE LINE # 29
0012 758BF3 296 MOV TL1,#0F3H
297 ; TR1=1;
298 ; SOURCE LINE # 30
0015 D28E 299 SETB TR1
300 ; TI=1;
A51 MACRO ASSEMBLER MAIN 04/29/2009 19:18:09 PAGE 6
301 ; SOURCE LINE # 31
0017 D299 302 SETB TI
303 ; //clk_div=0x07;
304 ; P1M0=0;
305 ; SOURCE LINE # 33
0019 E4 306 CLR A
001A F592 307 MOV P1M0,A
308 ; P1M1=0;//传统io方式
309 ; SOURCE LINE # 34
001C F591 310 MOV P1M1,A
311 ; P1=0xff;//初始化P1
312 ; SOURCE LINE # 35
001E 7590FF 313 MOV P1,#0FFH
314 ; ;
315 ; init1302();
316 ; SOURCE LINE # 37
0021 120000 F 317 LCALL init1302
318 ;
319 ; printf("need to set time? y=1 or n=0\n");
320 ; SOURCE LINE # 39
0024 7BFF 321 MOV R3,#0FFH
0026 7A00 F 322 MOV R2,#HIGH (?SC_0)
0028 7900 F 323 MOV R1,#LOW (?SC_0)
002A 120000 F 324 LCALL _printf
325 ; scanf("%c",&tmp);
326 ; SOURCE LINE # 40
002D 750000 F 327 MOV ?_scanf?BYTE+03H,#00H
0030 750000 F 328 MOV ?_scanf?BYTE+04H,#HIGH (tmp?041)
0033 750000 F 329 MOV ?_scanf?BYTE+05H,#LOW (tmp?041)
0036 7BFF 330 MOV R3,#0FFH
0038 7A00 F 331 MOV R2,#HIGH (?SC_30)
003A 7900 F 332 MOV R1,#LOW (?SC_30)
003C 120000 F 333 LCALL _scanf
334 ; printf("\n");
335 ; SOURCE LINE # 41
003F 7BFF 336 MOV R3,#0FFH
0041 7A00 F 337 MOV R2,#HIGH (?SC_33)
0043 7900 F 338 MOV R1,#LOW (?SC_33)
0045 120000 F 339 LCALL _printf
0048 340 ?C0001:
341 ; while(1)
342 ; SOURCE LINE # 42
343 ; {
344 ; SOURCE LINE # 43
345 ; if(tmp=='1')
346 ; SOURCE LINE # 44
0048 E500 F 347 MOV A,tmp?041
004A B431FB 348 CJNE A,#031H,?C0001
349 ; {
350 ; SOURCE LINE # 45
351 ; Pout=1;
352 ; SOURCE LINE # 46
004D D297 353 SETB Pout
354 ; printf("year(bcdcode)=");
355 ; SOURCE LINE # 47
004F 7BFF 356 MOV R3,#0FFH
0051 7A00 F 357 MOV R2,#HIGH (?SC_35)
0053 7900 F 358 MOV R1,#LOW (?SC_35)
0055 120000 F 359 LCALL _printf
360 ; scanf("%x",&cyear);
361 ; SOURCE LINE # 48
0058 750000 F 362 MOV ?_scanf?BYTE+03H,#00H
005B 750000 F 363 MOV ?_scanf?BYTE+04H,#HIGH (cyear)
005E 750000 F 364 MOV ?_scanf?BYTE+05H,#LOW (cyear)
0061 7BFF 365 MOV R3,#0FFH
0063 7A00 F 366 MOV R2,#HIGH (?SC_50)
A51 MACRO ASSEMBLER MAIN 04/29/2009 19:18:09 PAGE 7
0065 7900 F 367 MOV R1,#LOW (?SC_50)
0067 120000 F 368 LCALL _scanf
369 ; writetime(cyear,year);
370 ; SOURCE LINE # 49
006A 7D05 371 MOV R5,#05H
006C AF00 F 372 MOV R7,cyear
006E 120000 F 373 LCALL _writetime
374 ; Pout=0;
375 ; SOURCE LINE # 50
0071 C297 376 CLR Pout
377 ; printf("month(bcdcode)=");
378 ; SOURCE LINE # 51
0073 7BFF 379 MOV R3,#0FFH
0075 7A00 F 380 MOV R2,#HIGH (?SC_53)
0077 7900 F 381 MOV R1,#LOW (?SC_53)
0079 120000 F 382 LCALL _printf
383 ; scanf("%x",&cmonth);
384 ; SOURCE LINE # 52
007C 750000 F 385 MOV ?_scanf?BYTE+03H,#00H
007F 750000 F 386 MOV ?_scanf?BYTE+04H,#HIGH (cmonth)
0082 750000 F 387 MOV ?_scanf?BYTE+05H,#LOW (cmonth)
0085 7BFF 388 MOV R3,#0FFH
0087 7A00 F 389 MOV R2,#HIGH (?SC_50)
0089 7900 F 390 MOV R1,#LOW (?SC_50)
008B 120000 F 391 LCALL _scanf
392 ; writetime(cmonth,month);
393 ; SOURCE LINE # 53
008E 7D04 394 MOV R5,#04H
0090 AF00 F 395 MOV R7,cmonth
0092 120000 F 396 LCALL _writetime
397 ; Pout=1;
398 ; SOURCE LINE # 54
0095 D297 399 SETB Pout
400 ; printf("day(bcdcode)=");
401 ; SOURCE LINE # 55
0097 7BFF 402 MOV R3,#0FFH
0099 7A00 F 403 MOV R2,#HIGH (?SC_69)
009B 7900 F 404 MOV R1,#LOW (?SC_69)
009D 120000 F 405 LCALL _printf
406 ; scanf("%x",&cday);
407 ; SOURCE LINE # 56
00A0 750000 F 408 MOV ?_scanf?BYTE+03H,#00H
00A3 750000 F 409 MOV ?_scanf?BYTE+04H,#HIGH (cday)
00A6 750000 F 410 MOV ?_scanf?BYTE+05H,#LOW (cday)
00A9 7BFF 411 MOV R3,#0FFH
00AB 7A00 F 412 MOV R2,#HIGH (?SC_50)
00AD 7900 F 413 MOV R1,#LOW (?SC_50)
00AF 120000 F 414 LCALL _scanf
415 ; writetime(cday,day);
416 ; SOURCE LINE # 57
00B2 7D03 417 MOV R5,#03H
00B4 AF00 F 418 MOV R7,cday
00B6 120000 F 419 LCALL _writetime
420 ; Pout=0;
421 ; SOURCE LINE # 58
00B9 C297 422 CLR Pout
423 ; printf("hour(bcdcode)=");
424 ; SOURCE LINE # 59
00BB 7BFF 425 MOV R3,#0FFH
00BD 7A00 F 426 MOV R2,#HIGH (?SC_83)
00BF 7900 F 427 MOV R1,#LOW (?SC_83)
00C1 120000 F 428 LCALL _printf
429 ; scanf("%x",&cday);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -