📄 lcd.lst
字号:
291 ; DISPLAY_STAGE_TEST7,
292 ; DISPLAY_STAGE_TEST8,
293 ; DISPLAY_STAGE_TEST9,
294 ; DISPLAY_STAGE_LAST
295 ; };
296 ; struct rtc_s
297 ; {
298 ; uint8 second;
299 ; uint8 minute;
300 ; uint8 hour;
301 ; uint8 day;
302 ; uint8 week;
303 ; uint8 month;
304 ; uint8 year;
305 ; uint8 sumcheck;
306 ; };
307 ; extern struct rtc_s rtc;
308 ; extern uint32 ul_actensper1;
309 ; extern uint32 ul_actensper2;
310 ; extern void display (unsigned int value);
311 ; extern void update_display(void);
312 ; extern void LCDudec16(unsigned int value, int pos, int digits, int after);
313 ; extern void LCDudec32(unsigned long value, int pos, int digits, int after);
314 ; extern void LCDicon(int id, int on);
315 ; extern void LCDmodify_char(unsigned char ch, int pos, int on);
316 ; extern void LCDchar(unsigned char ch, int pos);
317 ; extern void clr_lcd_display(void);
318 ; extern void bin2bcd32(unsigned char bcd[5], unsigned long bin);
319 ; extern void bin2bcd16(unsigned char bcd[3], unsigned int bin);
320 ; extern unsigned long scale_long(unsigned long l, float f);
321 ; extern unsigned int scale_int(unsigned int i, float f);
322 ; extern void set_rtc_sumcheck(void);
323 ; extern int check_rtc_sumcheck(void);
324 ; extern int bump_rtc(void);
325 ; extern int weekday(void);
326 ; extern void rtc_bumper(void);
327 ; extern void correct_rtc(void);
328 ; extern void init_analog_front_end_ESP(void);
329 ; extern void init_esp_parameter(void);
330 ; extern void set_parameter(unsigned int param, unsigned int data);
331 ; extern void start_measurement(void);
332 ; extern char store_flash_var(char *ptr,char *from, int len);
333 ; extern void EnergyReadyIntMapping(void);
334 ; extern void ActensperReadyIntMapping(void);
335 ; extern void BasicTimerIntMapping(void);
336 ; void init_analog_front_end_SD16(void);
337 ; extern void tpd_gen(void);
338 ; extern int16_t dc_filter(register int32_t *p, register int16_t x);
339 ; extern int32_t imul16_up(register int16_t x, register int16_t y);
340 ; extern void accum48(register int16_t x[3], register int32_t y);
341 ; extern void log_parameters(void);
342 ; extern void transfer48(register int16_t y[3], register int16_t x[3]);
343 ; extern int32_t div48(register int16_t x[3], register int16_t y);
344 ; extern int32_t isqrt32(register int32_t h);
345 ; extern int32_t div_sh48(register int16_t x[3], int sh, register int16_t y);
346 ; extern int32_t current(void);
347 ; extern int32_t voltage(void);
348 ; extern void CheckExternVoltage(void);
349 ; extern void EnterSD16Measure (void);
350 ; extern void ExitSD16Measure (void);
351 ; extern void EnterESPMeasure (void);
352 ; extern void ExitESPMeasure (void);
353 ; extern void SwitchToSD16Measure(void);
354 ; extern void SwitchToESPMeasure(void);
355 ; extern void OnlyRTCMode(void);
356 ; void ClrDispVary(unsigned char OpMode);
357 ; const uint8 lcd_digit_table[] =
358 .iseg lcd_data_const
0000 359 .align 0x2
360 .global _lcd_digit_table
361 _lcd_digit_table:
362 ; {
0000 7d 363 .byte 0x7d
364 ; ( 0x10 | 0x20 | 0x40 | 0x08 | 0x04 | 0x01 ) ,
0001 60 365 .byte 0x60
366 ; ( 0x20 | 0x40 ) ,
0002 3e 367 .byte 0x3e
368 ; ( 0x10 | 0x20 | 0x08 | 0x04 | 0x02 ) ,
0003 7a 369 .byte 0x7a
370 ; ( 0x10 | 0x20 | 0x40 | 0x08 | 0x02 ) ,
0004 63 371 .byte 0x63
372 ; ( 0x20 | 0x40 | 0x01 | 0x02 ) ,
0005 5b 373 .byte 0x5b
374 ; ( 0x10 | 0x40 | 0x08 | 0x01 | 0x02 ) ,
0006 5f 375 .byte 0x5f
376 ; ( 0x10 | 0x40 | 0x08 | 0x04 | 0x01 | 0x02 ) ,
0007 70 377 .byte 0x70
378 ; ( 0x10 | 0x20 | 0x40 ) ,
0008 7f 379 .byte 0x7f
380 ; ( 0x10 | 0x20 | 0x40 | 0x08 | 0x04 | 0x01 | 0x02 ) ,
0009 7b 381 .byte 0x7b
382 ; ( 0x10 | 0x20 | 0x40 | 0x08 | 0x01 | 0x02 ) ,
000a 77 383 .byte 0x77
384 ; ( 0x10 | 0x20 | 0x40 | 0x04 | 0x01 | 0x02 ) ,
000b 4f 385 .byte 0x4f
386 ; ( 0x40 | 0x08 | 0x04 | 0x01 | 0x02 ) ,
000c 1d 387 .byte 0x1d
388 ; ( 0x10 | 0x08 | 0x04 | 0x01 ) ,
000d 6e 389 .byte 0x6e
390 ; ( 0x20 | 0x40 | 0x08 | 0x04 | 0x02 ) ,
000e 1f 391 .byte 0x1f
392 ; ( 0x10 | 0x08 | 0x04 | 0x01 | 0x02 ) ,
393 ; ( 0x10 | 0x04 | 0x01 | 0x02 )
000f 17 394 .byte 0x17
395 ; lcd_digit_table size 16
396 ; };
397 ; void clr_lcd_display(void)
398 .dbgseg dbg_syms
399 DBG3:
0028 00000000 400 .long 0x0
002c 00000134 401 .long DBG10
0030 00000000 402 .long _clr_lcd_display
0034 00000040 403 .long 0x40
0038 01020001 404 .long 0x1020001
003c 00000050 405 .long DBG1
0040 0000001a 406 .long DBG7-DBG8
0044 00000000 407 .long DBG9
0048 00000154 408 .long DBG6
004c 00000000 409 .long 0x0
410 .pseg lcd_code
411 DBG8:
412 .dbgseg dbg_syms
413 DBG1:
0050 0066622e 414 .long 0x66622e
0054 00000000 415 .long 0x0
0058 00000000 416 .long DBG8
005c 00000000 417 .long 0x0
0060 01650001 418 .long 0x1650001
0064 00000000 419 .long 0x0
0068 0000002b 420 .long 0x2b
006c 00000000 421 .long 0x0
0070 0000017c 422 .long DBG11
0074 00000000 423 .long 0x0
424 .dbgseg dbg_line
0000 425 .align 0x2
426 DBG9:
0000 00000028 427 .long DBG3
0004 00000000 428 .long 0x0
0008 00000000 429 .long _clr_lcd_display
000c 00000001 430 .long 0x1
0010 00000000 431 .long DBG13
0014 00000002 432 .long 0x2
0018 00000000 433 .long DBG14
001c 00000004 434 .long 0x4
0020 00000002 435 .long DBG15
0024 00000005 436 .long 0x5
0028 00000002 437 .long DBG16
002c 00000006 438 .long 0x6
0030 00000010 439 .long DBG17
0034 00000007 440 .long 0x7
0038 00000018 441 .long DBG18
003c 00000008 442 .long 0x8
443 .pseg lcd_code
444 .global _clr_lcd_display
445 _clr_lcd_display:
446 ; ENTRY
447 DBG12:
448 ; i in reg size 1
449 ; {
450 DBG13:
451 ; uint8 i;
452 ; for (i=0; i<12; i++)
453 DBG14:
0000 4d43 454 mov.b #0x0,r13
455 clr_lcd_display_L1:
456 ; {
457 DBG15:
458 ; ((char*) (0x0091) ) [i] = 0;
459 DBG16:
0002 4c4d 460 mov.b r13,r12
0004 3cf0ff00 461 and #0xff,r12
0008 3c509100 462 add #0x91,r12
000c cc430000 463 mov.b #0x0,0(r12)
464 DBG17:
0010 5d53 465 add.b #0x1,r13
0012 7d900c00 466 cmp.b #0xc,r13
0016 f52b 467 jnc clr_lcd_display_L1
468 DBG19:
469 DBG18:
470 ; }
471 ; EXIT
0018 3041 472 ret
473 .dbgseg dbg_syms
0078 00000000 474 .long 0x0
007c 000000d8 475 .long DBG20
0080 00000000 476 .long 0x0
0084 00000000 477 .long 0x0
0088 00010002 478 .long 0x10002
008c 00000000 479 .long 0x0
0090 00000314 480 .long DBG21
0094 00000002 481 .long 0x2
0098 00000000 482 .long 0x0
009c 00010002 483 .long 0x10002
00a0 504e5f5f 484 .long 0x504e5f5f
00a4 534d5241 485 .long 0x534d5241
00a8 00000000 486 .long 0x0
00ac 00000000 487 .long 0x0
00b0 00010002 488 .long 0x10002
489 DBG2:
00b4 0062622e 490 .long 0x62622e
00b8 00000000 491 .long 0x0
00bc 00000002 492 .long DBG15
00c0 00000000 493 .long 0x0
00c4 01640001 494 .long 0x1640001
00c8 00000000 495 .long 0x0
00cc 00000005 496 .long 0x5
00d0 00000000 497 .long 0x0
00d4 000001f4 498 .long DBG22
00d8 00000000 499 .long 0x0
00dc 00000069 500 .long 0x69
00e0 00000000 501 .long 0x0
00e4 000d0102 502 .long 0xd0102
00e8 0000000c 503 .long 0xc
00ec 0004ffff 504 .long 0x4ffff
00f0 0062652e 505 .long 0x62652e
00f4 00000000 506 .long 0x0
00f8 00000018 507 .long DBG18
00fc 00000000 508 .long 0x0
0100 01640001 509 .long 0x1640001
0104 00000000 510 .long 0x0
0108 00000008 511 .long 0x8
010c 00000000 512 .long 0x0
0110 00000000 513 .long 0x0
0114 00000000 514 .long 0x0
0118 0066652e 515 .long 0x66652e
011c 00000000 516 .long 0x0
0120 00000018 517 .long DBG19
0124 00000000 518 .long 0x0
0128 01650001 519 .long 0x1650001
012c 00000000 520 .long 0x0
0130 00000032 521 .long 0x32
0134 00000000 522 .long 0x0
0138 00000000 523 .long 0x0
013c 00000000 524 .long 0x0
525 .pseg lcd_code
526 DBG7:
527 .dbgseg dbg_syms
0140 00000000 528 .long 0x0
0144 00000134 529 .long DBG10
0148 0000001a 530 .long DBG7
014c 00000000 531 .long 0x0
0150 00ff0001 532 .long 0xff0001
533 ; }
534 ; void display (uint16 value)
535 DBG6:
0154 70736964 536 .long 0x70736964
0158 0079616c 537 .long 0x79616c
015c 0000001a 538 .long _display
0160 00000040 539 .long 0x40
0164 01020001 540 .long 0x1020001
0168 0000017c 541 .long DBG11
016c 00000048 542 .long DBG24-DBG25
0170 00000040 543 .long DBG26
0174 000004b0 544 .long DBG23
0178 00000000 545 .long 0x0
546 .pseg lcd_code
547 DBG25:
548 .dbgseg dbg_syms
549 DBG11:
017c 0066622e 550 .long 0x66622e
0180 00000000 551 .long 0x0
0184 0000001a 552 .long DBG25
0188 00000000 553 .long 0x0
018c 01650001 554 .long 0x1650001
0190 00000000 555 .long 0x0
0194 00000037 556 .long 0x37
0198 00000000 557 .long 0x0
019c 000004d8 558 .long DBG27
01a0 00000000 559 .long 0x0
560 .dbgseg dbg_line
561 DBG26:
0040 00000154 562 .long DBG6
0044 00000000 563 .long 0x0
0048 0000001a 564 .long _display
004c 00000001 565 .long 0x1
0050 00000020 566 .long DBG29
0054 00000002 567 .long 0x2
0058 00000020 568 .long DBG30
005c 00000004 569 .long 0x4
0060 00000024 570 .long DBG31
0064 00000006 571 .long 0x6
0068 00000028 572 .long DBG32
006c 00000007 573 .long 0x7
0070 00000028 574 .long DBG33
0074 00000008 575 .long 0x8
0078 00000048 576 .long DBG34
007c 00000009 577 .long 0x9
0080 00000050 578 .long DBG35
0084 0000000a 579 .long 0xa
0088 0000005a 580 .long DBG36
008c 0000000b 581 .long 0xb
582 .pseg lcd_code
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -