⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.ls1

📁 通用OSD控制(51单片机控制的TFTLCD源码,MTV018)
💻 LS1
📖 第 1 页 / 共 5 页
字号:
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 + -