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

📄 osd.lst

📁 一个用于驱动TFT屏的驱动程序,使用IC:1828,program (无EEPROM 无IR,完整说明)IIC只写一个
💻 LST
📖 第 1 页 / 共 5 页
字号:
 462   1              char temp;
 463   1      
 464   1              switch(kind)
 465   1              {
 466   2                      case 0:                                                                                                 // Brightness   
 467   2                              write1828(0x1E,value);  
 468   2                              break;  
 469   2                      
 470   2              case 1:                                                                                                 // Contrast
 471   2                              write1828(0x1F,value);
 472   2                              break;
 473   2      
 474   2                      case 2:                                                                                                 // Saturation
 475   2                              write1828(0x20,value);
 476   2                              break;
 477   2      
 478   2                      case 3:                                                                                                 // Hue
 479   2                              temp = read1828(0x21);
 480   2                              temp = temp & 0xc0;
 481   2                              value = value & 0x3f;
 482   2                              value = value | temp;
 483   2                              write1828(0x21,value);
 484   2                              break;
 485   2                      
 486   2                      case 4:                                                                                                 // Sharpness
 487   2                              //      value = value + 0x80;
C51 COMPILER V7.50   OSD                                                                   09/29/2006 10:54:51 PAGE 9   

 488   2                              write1828(0x2F,value);
 489   2                              write1828(0x30,value);
 490   2                              //write1828(0x31,0x01,&value);
 491   2                              break;  
 492   2      
 493   2                      case 5:                                                                                                 // Red Brightness       
 494   2                              write1828(0x28,value);                                          // 0x28没有定义(2005.9.29)
 495   2                              break;
 496   2      
 497   2                      case 6:                                                                                                 // Green Brightness
 498   2                              write1828(0x29,value);                                          // 0x29没有定义(2005.9.29)
 499   2                              break;
 500   2              
 501   2                      case 7:                                                                                                 // Blue Brightness
 502   2                              write1828(0x2a,value);
 503   2                              break;
 504   2              
 505   2                      case 8:                                                                                                 // Red Contrast
 506   2                              write1828(0x2b,value);
 507   2                              break;
 508   2      
 509   2                      case 9:                                                                                                 // Green Contrast
 510   2                              write1828(0x2c,value);
 511   2                              break;
 512   2      
 513   2                      case 10:                                                                                                // Blue Contrast
 514   2                              write1828(0x2d,value);
 515   2                              break;
 516   2      
 517   2                      case 11:
 518   2                              write1828(0x3C,value);
 519   2                              break;
 520   2      
 521   2                      case 12: 
 522   2                              write1828(0x3D,value);
 523   2                              break;
 524   2              }               
 525   1      }
C51 COMPILER V7.50   OSD                                                                   09/29/2006 10:54:51 PAGE 10  

ASSEMBLY LISTING OF GENERATED OBJECT CODE


             ; FUNCTION _osdDisplay (BEGIN)
                                           ; SOURCE LINE # 42
0000 8F00        R     MOV     pos,R7
0002 8D00        R     MOV     numfont,R5
0004 8B00        R     MOV     fontcode,R3
0006 8A00        R     MOV     fontcode+01H,R2
0008 8900        R     MOV     fontcode+02H,R1
                                           ; SOURCE LINE # 43
                                           ; SOURCE LINE # 46
000A 7D10              MOV     R5,#010H
000C 7FFD              MOV     R7,#0FDH
000E 120000      E     LCALL   _write1828
                                           ; SOURCE LINE # 47
0011 E4                CLR     A
0012 F500        R     MOV     i,A
0014         ?C0001:
0014 AF00        R     MOV     R7,numfont
0016 EF                MOV     A,R7
0017 33                RLC     A
0018 95E0              SUBB    A,ACC
001A FE                MOV     R6,A
001B C3                CLR     C
001C E500        R     MOV     A,i
001E 9F                SUBB    A,R7
001F EE                MOV     A,R6
0020 6480              XRL     A,#080H
0022 F8                MOV     R0,A
0023 7480              MOV     A,#080H
0025 98                SUBB    A,R0
0026 5023              JNC     ?C0004
                                           ; SOURCE LINE # 48
                                           ; SOURCE LINE # 49
0028 E500        R     MOV     A,pos
002A 2500        R     ADD     A,i
002C FD                MOV     R5,A
002D 7FFE              MOV     R7,#0FEH
002F 120000      E     LCALL   _write1828
                                           ; SOURCE LINE # 50
0032 AB00        R     MOV     R3,fontcode
0034 AA00        R     MOV     R2,fontcode+01H
0036 A900        R     MOV     R1,fontcode+02H
0038 850082      R     MOV     DPL,i
003B 758300            MOV     DPH,#00H
003E 120000      E     LCALL   ?C?CLDOPTR
0041 FD                MOV     R5,A
0042 7FFF              MOV     R7,#0FFH
0044 120000      E     LCALL   _write1828
                                           ; SOURCE LINE # 51
0047 0500        R     INC     i
0049 80C9              SJMP    ?C0001
                                           ; SOURCE LINE # 52
004B         ?C0004:
004B 22                RET     
             ; FUNCTION _osdDisplay (END)

             ; FUNCTION _osdSwitch (BEGIN)
                                           ; SOURCE LINE # 63
0000 8F00        R     MOV     osd_en,R7
                                           ; SOURCE LINE # 64
C51 COMPILER V7.50   OSD                                                                   09/29/2006 10:54:51 PAGE 11  

                                           ; SOURCE LINE # 67
0002 530007      R     ANL     osd_en,#07H
                                           ; SOURCE LINE # 68
0005 7F52              MOV     R7,#052H
0007 120000      E     LCALL   _read1828
000A 7800        R     MOV     R0,#LOW temp
000C EF                MOV     A,R7
000D F6                MOV     @R0,A
                                           ; SOURCE LINE # 69
000E 54F8              ANL     A,#0F8H
0010 F6                MOV     @R0,A
                                           ; SOURCE LINE # 70
0011 4500        R     ORL     A,osd_en
0013 F6                MOV     @R0,A
0014 FD                MOV     R5,A
                                           ; SOURCE LINE # 71
0015 7F52              MOV     R7,#052H
0017 020000      E     LJMP    _write1828
             ; FUNCTION _osdSwitch (END)

             ; FUNCTION _osd_pos (BEGIN)
                                           ; SOURCE LINE # 83
0000 8D00        R     MOV     posx,R5
0002 8B00        R     MOV     posy,R3
;---- Variable 'block' assigned to Register 'R7' ----
                                           ; SOURCE LINE # 84
                                           ; SOURCE LINE # 85
0004 EF                MOV     A,R7
0005 24FE              ADD     A,#0FEH
0007 6014              JZ      ?C0008
0009 14                DEC     A
000A 601E              JZ      ?C0009
000C 2402              ADD     A,#02H
000E 7028              JNZ     ?C0011
                                           ; SOURCE LINE # 86
                                           ; SOURCE LINE # 87
0010         ?C0007:
                                           ; SOURCE LINE # 88
0010 AD00        R     MOV     R5,posx
0012 7F59              MOV     R7,#059H
0014 120000      E     LCALL   _write1828
                                           ; SOURCE LINE # 89
0017 AD00        R     MOV     R5,posy
0019 7F5A              MOV     R7,#05AH
                                           ; SOURCE LINE # 91
001B 8018              SJMP    ?C0087
                                           ; SOURCE LINE # 93
001D         ?C0008:
                                           ; SOURCE LINE # 94
001D AD00        R     MOV     R5,posx
001F 7F60              MOV     R7,#060H
0021 120000      E     LCALL   _write1828
                                           ; SOURCE LINE # 95
0024 AD00        R     MOV     R5,posy
0026 7F61              MOV     R7,#061H
0028         ?C0086:
                                           ; SOURCE LINE # 96
0028 800B              SJMP    ?C0087
                                           ; SOURCE LINE # 98
002A         ?C0009:
                                           ; SOURCE LINE # 99
002A AD00        R     MOV     R5,posx
C51 COMPILER V7.50   OSD                                                                   09/29/2006 10:54:51 PAGE 12  

002C 7F6E              MOV     R7,#06EH
002E 120000      E     LCALL   _write1828
                                           ; SOURCE LINE # 100
0031 AD00        R     MOV     R5,posy
0033 7F6F              MOV     R7,#06FH
0035         ?C0087:
0035 120000      E     LCALL   _write1828
                                           ; SOURCE LINE # 101
                                           ; SOURCE LINE # 103
                                           ; SOURCE LINE # 104
                                           ; SOURCE LINE # 105
0038         ?C0011:
0038 22                RET     
             ; FUNCTION _osd_pos (END)

             ; FUNCTION _osd_size (BEGIN)
                                           ; SOURCE LINE # 120
0000 8D00        R     MOV     sizex,R5
0002 8B00        R     MOV     sizey,R3
;---- Variable 'block' assigned to Register 'R7' ----
                                           ; SOURCE LINE # 121
                                           ; SOURCE LINE # 123
0004 EF                MOV     A,R7
0005 24FE              ADD     A,#0FEH
0007 600D              JZ      ?C0014
0009 14                DEC     A
000A 6017              JZ      ?C0015
000C 2402              ADD     A,#02H
000E 701A              JNZ     ?C0017
                                           ; SOURCE LINE # 124
                                           ; SOURCE LINE # 125
0010         ?C0013:
                                           ; SOURCE LINE # 126
0010 AD00        R     MOV     R5,sizex
0012 7F54              MOV     R7,#054H
                                           ; SOURCE LINE # 127
0014 8011              SJMP    ?C0089
                                           ; SOURCE LINE # 129
0016         ?C0014:
                                           ; SOURCE LINE # 130
0016 AD00        R     MOV     R5,sizex
0018 7F5D              MOV     R7,#05DH
001A 120000      E     LCALL   _write1828
                                           ; SOURCE LINE # 131
001D AD00        R     MOV     R5,sizey
001F 7F5E              MOV     R7,#05EH
0021         ?C0088:

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -