📄 main.ls1
字号:
0059 70 430 DB 070H
005A 0000 F 431 DW _cont_read + 0
005C 0000 F 432 DW _cont_step + 0
005E 0000 F 433 DW _cont_apply + 0
0060 0000 F 434 DW _cont_draw + 0
0062 0000 F 435 DW ?SC_16 ; ptr2
0064 0C 436 DB 00CH
0065 03 437 DB 003H
0066 9B 438 DB 09BH
0067 0000 F 439 DW _col_read + 0
0069 0000 F 440 DW _col_step + 0
A51 MACRO ASSEMBLER MAIN 04/22/2008 15:15:43 PAGE 8
006B 0000 F 441 DW _col_apply + 0
006D 0000 F 442 DW _col_draw + 0
006F 0000 F 443 DW ?SC_22 ; ptr2
0071 0D 444 DB 00DH
0072 03 445 DB 003H
0073 A5 446 DB 0A5H
0074 0000 F 447 DW _tint_read + 0
0076 0000 F 448 DW _tint_step + 0
0078 0000 F 449 DW _tint_apply + 0
007A 0000 F 450 DW _tint_draw + 0
007C 0000 F 451 DW ?SC_27 ; ptr2
007E FF 452 DB 0FFH
007F 00 453 DB 000H
0080 00 454 DB 000H
0081 0000 F 455 DW _reset_read + 0
0083 0000 F 456 DW _reset_step + 0
0085 0000 F 457 DW _reset_apply + 0
0087 0000 F 458 DW _reset_draw + 0
459
460 ; #pragma REGISTERBANK(0)
461 ;
462 ; #include "Header.H"
463 ;
464 ; extern bit key_on;
465 ; extern unsigned char key_last;
466 ; extern void timer_init(void);
467 ; extern void i2c_init(void);
468 ; extern void mtv130_init(void);
469 ; extern void at24c02_init(void);
470 ; extern void key_init(void);
471 ;
472 ; //#define ARRAY_SIZE(a) (sizeof(a)/sizeof(a[0]))
473 ;
474 ; //bit PIN_SIGIND = 0;
475 ;
476 ;
477 ; static void initial(void)
478
---- 479 RSEG ?PR?initial?MAIN
0000 480 initial:
481 ; SOURCE LINE # 18
482 ; {
483 ; SOURCE LINE # 19
484 ; /* disable all interrupts */
485 ; IE = 0;
486 ; SOURCE LINE # 21
0000 E4 487 CLR A
0001 F5A8 488 MOV IE,A
489 ; IP = 0;
490 ; SOURCE LINE # 22
0003 F5B8 491 MOV IP,A
492 ;
493 ; /* deactivate output ports */
494 ; P1=P3 = 0xff;
495 ; SOURCE LINE # 25
0005 75B0FF 496 MOV P3,#0FFH
0008 7590FF 497 MOV P1,#0FFH
498 ;
499 ; /* timer 0 16 bits, timer 1 16 bits */
500 ; TMOD = 0x51;
501 ; SOURCE LINE # 28
000B 758951 502 MOV TMOD,#051H
503 ; // PCON = 0x80;
504 ;
505 ; timer_init();
506 ; SOURCE LINE # 31
A51 MACRO ASSEMBLER MAIN 04/22/2008 15:15:43 PAGE 9
000E 120000 F 507 LCALL timer_init
508 ; i2c_init();
509 ; SOURCE LINE # 32
0011 120000 F 510 LCALL i2c_init
511 ; at24c02_init();
512 ; SOURCE LINE # 33
0014 120000 F 513 LCALL at24c02_init
514 ; mtv130_init();
515 ; SOURCE LINE # 34
0017 120000 F 516 LCALL mtv130_init
517 ; key_init();
518 ; SOURCE LINE # 35
001A 120000 F 519 LCALL key_init
520 ;
521 ; EA = 1;
522 ; SOURCE LINE # 37
001D D2AF 523 SETB EA
524 ; }
525 ; SOURCE LINE # 38
001F 22 526 RET
527 ; END OF initial
528
529 ;
530 ; struct progbar_struct {
531 ; // unsigned char row, col;
532 ; unsigned char val;
533 ; unsigned char range, pos, step;
534 ; };
535 ; void delay500ms();
536 ; unsigned char bri_read(unsigned char addr);//读亮度值
537 ; unsigned char cont_read(unsigned char addr);//读对比度值
538 ; unsigned char col_read(unsigned char addr);//读彩色值
539 ; unsigned char tint_read(unsigned char addr);
540 ; unsigned char reset_read(unsigned char addr);
541 ; unsigned char simple_read(unsigned char addr);
542 ; unsigned char bri_step(unsigned char val, unsigned char inc);
543 ; unsigned char cont_step(unsigned char val, unsigned char inc);
544 ; unsigned char col_step(unsigned char val, unsigned char inc);
545 ; unsigned char tint_step(unsigned char val, unsigned char inc);
546 ; unsigned char reset_step(unsigned char val, unsigned char inc);
547 ; //unsigned char bival_step(unsigned char val, unsigned char inc);
548 ; void bri_apply(unsigned char val);
549 ; void cont_apply(unsigned char val);
550 ; void col_apply(unsigned char val);
551 ; void tint_apply(unsigned char val);
552 ; void reset_apply(unsigned char val);
553 ; void bri_draw(char row, char col, unsigned char val);
554 ; void cont_draw(char row, char col, unsigned char val);
555 ; void col_draw(char row, char col, unsigned char val);
556 ; void tint_draw(char row, char col, unsigned char val);
557 ; void reset_draw(char row, char col, unsigned char val);
558 ;
559 ; #define ABS(x) ((x) > 0 ? (x) : -(x))
560 ;
561 ;
562 ;
563 ; #define BRI_ADDR 9//亮度控制的存储地址。
564 ; #define BRI_OFF 66//亮度的最大值
565 ; #define BRI_RANGE 92//亮度值的范围。
566 ; #define BRI_FAC 1//亮度的间隙值。
567 ; #define BRI_DEF 112//亮度的默认值。
568 ;
569 ; #define CONT_ADDR 10//对比度控制的存储地址。
570 ; #define CONT_OFF 66
571 ; #define CONT_RANGE 92
572 ; #define CONT_FAC 1
A51 MACRO ASSEMBLER MAIN 04/22/2008 15:15:43 PAGE 10
573 ; #define CONT_DEF 112
574 ;
575 ; #define COL_ADDR 12//彩色控制的存储地址。
576 ; #define COL_OFF 109
577 ; #define COL_RANGE 92
578 ; #define COL_FAC 1
579 ; #define COL_DEF 155
580 ;
581 ; #define TINT_ADDR 13//色调控制的地址。
582 ; #define TINT_OFF 119
583 ; #define TINT_RANGE 92
584 ; #define TINT_FAC 1
585 ; #define TINT_DEF 165
586 ;
587 ;
588 ; struct menuitem_struct {//菜单结构体
589 ; unsigned char code *title;//菜单标号
590 ; unsigned char addr;//对应的菜单存储地址。
591 ; unsigned char flags;//对应的选中的菜单项颜色标志。
592 ; #define MIF_DOCA 0x01
593 ; #define MIF_RESET 0x02
594 ; unsigned char defval;//对应菜单值的默认值。
595 ; unsigned char (code *read)(unsigned char addr);//指向相应菜单函数的入口地址。
596 ; unsigned char (code *step)(unsigned char val, unsigned char inc);//指向相应菜单函数
的设置步数。
597 ; void (code *apply)(unsigned char val);//
598 ; void (code *draw)(char row, char col, unsigned char val);//画相应菜单的进度条。
599 ; };
600 ;
601 ; struct menuitem_struct code items[] = {
602 ; { "BRIGHT", BRI_ADDR, MIF_DOCA|MIF_RESET, BRI_DEF, bri_read, bri_step, bri_apply, b
ri_draw },
603 ; { "CONTRAST", CONT_ADDR, MIF_DOCA|MIF_RESET, CONT_DEF, cont_read, cont_step, cont_a
pply, cont_draw },
604 ; { "COLOR", COL_ADDR, MIF_DOCA|MIF_RESET, COL_DEF, col_read, col_step, col_apply, co
l_draw },
605 ; { "TINT", TINT_ADDR, MIF_DOCA|MIF_RESET, TINT_DEF, tint_read, tint_step, tint_apply
, tint_draw },
606 ; { "RESET", -1, 0, 0, reset_read, reset_step, reset_apply, reset_draw },
607 ; };
608 ;
609 ; #define NR_ITEMS (sizeof(items)/sizeof(items[0]))//计算
610 ;
611 ; #define EDIT_FIRST 0
612 ; #define EDIT_BRIGHTNESS (EDIT_FIRST)
613 ; #define EDIT_CONTRAST (EDIT_FIRST+1)
614 ; #define EDIT_COLOR (EDIT_FIRST+2)
615 ; #define EDIT_TINT (EDIT_FIRST+3)
616 ; #define EDIT_RESET (EDIT_FIRST+4)
617 ; #define EDIT_LAST (EDIT_FIRST+4)
618 ; #define EDIT_COUNT 5
619 ; #define EDIT_NULL 255
620 ;
621 ; #undef CHS
622 ; #undef CWS
623 ;
624 ; #ifdef MTV130
625 ;
626 ; #define BAR_N 4
627 ; #define BAR_B 128
628 ; #define BAR_F 129
629 ; #define BAR_E (BAR_F+BAR_N+1)
630 ;
631 ; #else
632 ;
633 ; #define BAR_N 4
A51 MACRO ASSEMBLER MAIN 04/22/2008 15:15:43 PAGE 11
634 ; #define BAR_B 128
635 ; #define BAR_F 129
636 ; #define BAR_E (BAR_F+BAR_N+1)
637 ;
638 ; #endif
639 ;
640 ; void disp_char(char row, char col, unsigned char c)
641
---- 642 RSEG ?PR?_disp_char?MAIN
0000 643 L?0200:
644 USING 0
0000 645 L?0201:
0000 AD00 F 646 MOV R5,col?866
0002 AF00 F 647 MOV R7,row?865
0004 648 _disp_char:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -