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

📄 osd.lst

📁 一个用于驱动TFT屏的驱动程序,使用IC:1828,program (无EEPROM 无IR,完整说明)IIC只写一个
💻 LST
📖 第 1 页 / 共 5 页
字号:
 227   1              color = color & 0x0f;                                                                           // 低4位是有效
 228   1              color <<= 4;                                                                                    // Shift color left 4 bits
 229   1              temp = temp | color;                                                                            // set higher 4 bits of color to higher 4 bits of temp
 230   1              write1828(addr,temp);
 231   1      }
 232          
 233          //**********************************
 234          //函数:void osd_BackColor_N(char block,char color);
 235          //作用:设置OSD正常背景颜色
 236          //参数说明:   block      => 8 bits , osd块
 237          //            color      => 8 bits , 低4位是有效
 238          //Function:     OSD Displaying Color=(Video Color*OSD_ALPHA+OSD Color*(16-OSD_ALPHA))/16
 239          //**************************************
C51 COMPILER V7.50   OSD                                                                   09/29/2006 10:54:51 PAGE 5   

 240          void osd_BackColor_N(char block,char color)     
 241          {
 242   1              char idata addr;
 243   1              char idata temp;
 244   1                      
 245   1              switch(block)
 246   1              {
 247   2                      case title:                                                                                             // Setup position of Title Block
 248   2                              addr = osd11;
 249   2                              break;
 250   2                      case content:                                                                                   // Setup position of Content Block
 251   2                              addr = osd26;
 252   2                              break;
 253   2                      case bottom:                                                                                    // Setup position of Bottom Block
 254   2                              addr = osd36;
 255   2                              break;
 256   2                      default:
 257   2                              break;
 258   2              }
 259   1      
 260   1              temp = read1828(addr);                                                                          // Read back the register
 261   1              temp  = temp & 0x0f;                                                                            // 低4位是有效
 262   1              color = color & 0x0f;                                                                   // 低4位是有效
 263   1              color <<= 4;                                                                                    // Shift color left 4 bits
 264   1              temp  = temp | color;                                                                           // set higher 4 bits of color to higher 4 bits of temp8
 265   1              write1828(addr,temp);
 266   1      }
 267          
 268          //**********************************
 269          //函数:void osd_ForeColor_N(char block,char color);
 270          //作用:设置OSD正常前景颜色
 271          //参数说明:   block      => 8 bits , osd块
 272          //            color      => 8 bits , 低4位是有效
 273          //Function:OSD Displaying Color=(Video Color*OSD_ALPHA+OSD Color*(16-OSD_ALPHA))/16
 274          //**************************************
 275          void osd_ForeColor_N(char block,char color)     
 276          {
 277   1              char idata addr;
 278   1              char idata temp;
 279   1                      
 280   1              switch(block)
 281   1              {
 282   2                      case title:                                                                                             // Setup position of Title Block
 283   2                              addr = osd11;
 284   2                              break;
 285   2                      case content:                                                                                   // Setup position of Content Block
 286   2                              addr = osd26;
 287   2                              break;
 288   2                      case bottom:                                                                                    // Setup position of Bottom Block
 289   2                              addr = osd36;
 290   2                              break;
 291   2                      default:
 292   2                              break;
 293   2              }
 294   1      
 295   1              temp = read1828(addr);                                                                          // Read back the register
 296   1              temp = temp & 0xf0;                                                                             // 保留高4位
 297   1              color = color & 0x0f;                                                                   // 低4位是有效
 298   1              temp = temp | color;                                                                    // set lower 4 bits of color to lower 4 bits of temp8
 299   1              write1828(addr,temp);
 300   1      }
 301          
C51 COMPILER V7.50   OSD                                                                   09/29/2006 10:54:51 PAGE 6   

 302          //**********************************
 303          //函数:void osd_ForeColor_H(char block,char color);
 304          //作用:设置OSD加亮的前景颜色
 305          //参数说明:   block      => 8 bits , osd块
 306          //            color      => 8 bits , 低4位是有效
 307          //Function:     OSD Displaying Color=(Video Color*OSD_ALPHA+OSD Color*(16-OSD_ALPHA))/16
 308          //**************************************
 309          void osd_ForeColor_H(char block,char color)     
 310          {
 311   1              char idata addr;
 312   1              char idata temp;
 313   1                      
 314   1              switch(block)
 315   1              {
 316   2                      case title:                                                                                             // Setup position of Title Block
 317   2                              addr = osd12;           
 318   2                              break;
 319   2                      case content:                                                                                   // Setup position of Content Block
 320   2                              addr = osd27;                   
 321   2                              break;
 322   2                      case bottom:                                                                                    // Setup position of Bottom Block
 323   2                              addr = osd37;           
 324   2                              break;
 325   2                      default:
 326   2                              break;
 327   2              }
 328   1      
 329   1              temp = read1828(addr);                                                                          // Read back the register       
 330   1              temp = temp & 0xf0;                                                                             // 保留高4位
 331   1              color = color & 0x0f;                                                                           // 低4位是有效
 332   1              temp = temp | color;                                                                            // set lower 4 bits of color to lower 4 bits of temp
 333   1              write1828(addr,temp);
 334   1      }
 335          
 336          //**********************************
 337          //函数:void osd_Highlight(char block,char xstart,char xend,char ystart,char yend);
 338          //作用:设置Highlight Section的开始位置和结束位置
 339          //参数说明:   block      => 8 bits , osd块
 340          //              x       => 低6位是有效
 341          //          y       => 低5位是有效
 342          //**************************************
 343          void osd_pos_Highlight(char block,char xstart,char xend,char ystart,char yend)
 344          {
 345   1              xstart = xstart & 0x3f;
 346   1              xend = xend & 0x3f;
 347   1              ystart = ystart & 0x1f;
 348   1              yend = yend & 0x1f;
 349   1      
 350   1              switch(block)
 351   1              {
 352   2                      case title:                                                                                             // Setup x size of Title Block
 353   2                              write1828(osd5,xstart);                                         // Start
 354   2                              write1828(osd6,xend);                                                   // End
 355   2                              break;
 356   2      
 357   2                      case content:                                                                                   // Setup x and y size of Content Block
 358   2                              write1828(osd20,xstart);                                                // xStart
 359   2                              write1828(osd21,xend);                                                  // xEnd
 360   2                              write1828(osd18,ystart);                                        // yStart
 361   2                              write1828(osd19,yend);                                                  // yEnd
 362   2                              break;
 363   2      
C51 COMPILER V7.50   OSD                                                                   09/29/2006 10:54:51 PAGE 7   

 364   2                      case bottom:                                                                                    // Setup x size of Bottom Block
 365   2                              write1828(osd32,xstart);                                                // Start
 366   2                              write1828(osd33,xend);                                                  // End
 367   2                              break;
 368   2      
 369   2                      default:
 370   2                              break;
 371   2              }
 372   1      }
 373          
 374          
 375          //**********************************
 376          //函数:void osd_Blink(char block,char xstart,char xend,char ystart,char yend);
 377          //作用:设置Blink Section的开始位置和结束位置
 378          //参数说明:  block       => 8 bits , osd块
 379          //                x       => 低6位是有效
 380          //            y       => 低5位是有效
 381          //**************************************
 382          void osd_pos_Blink(char block,char xstart,char xend,char ystart,char yend)
 383          {
 384   1              xstart = xstart & 0x3f;
 385   1              xend = xend & 0x3f;
 386   1              ystart = ystart & 0x1f;
 387   1              yend = yend & 0x1f;
 388   1      
 389   1              switch(block)
 390   1              {
 391   2                      case title:                                                                                             // Setup x size of Title Block
 392   2                              write1828(osd7,xstart);                                         // Start
 393   2                              write1828(osd8,xend);                                                   // End
 394   2                              break;
 395   2      
 396   2                      case content:                                                                                   // Setup x and y size of Content Block
 397   2                              write1828(osd24,xstart);                                        // xStart
 398   2                              write1828(osd25,xend);                                          // xEnd
 399   2                              write1828(osd22,ystart);                                        // yStart
 400   2                              write1828(osd23,yend);                                          // yEnd
 401   2                              break;
 402   2      
 403   2                      case bottom:                                                                                    // Setup x size of Bottom Block
 404   2                              write1828(osd34,xstart);                                        // Start
 405   2                              write1828(osd35,xend);                                          // End
 406   2                          break;
 407   2      
 408   2                      default:
 409   2                              break;
 410   2              }
 411   1      }
 412          
 413          //**************************************
 414          //函数:void osd_blink(char blink);
 415          //作用:设置OSD blinking rate
 416          //************************************* 
 417          void osd_blink(char blink)
 418          {
 419   1              blink = blink & 0x3f;                                                                           // Remove redundant bits
 420   1              write1828(osd3,blink);
 421   1      }
 422          
 423          //*********************************************
 424          //函数:void osd_alpha(char alpha);
 425          //作用:设置 alpha-blending
C51 COMPILER V7.50   OSD                                                                   09/29/2006 10:54:51 PAGE 8   

 426          //参数: alpha    => 8 bits , OSD alpha-blending
 427          //                           P.S. Lower 4 bits are available
 428          //*********************************************
 429          void osd_alpha(char alpha)
 430          {
 431   1              char temp;
 432   1      
 433   1              alpha <<= 4;
 434   1              alpha = alpha & 0xf0;                                                                           // Remove redundant bits
 435   1              temp  = read1828(osd2);
 436   1              temp  = temp & 0x0f;
 437   1              temp  = temp | alpha;
 438   1              write1828(osd2,temp);
 439   1      }
 440          
 441          //**********************************************
 442          //    Adjust Brightness/Contrast/Saturation/Hue/Position (For VX1828)
 443          //函数: void adj_britclr(char kind,char value)
 444          //作用:向相应regsister中填写调整以后和数值
 445          //参数: kind     => 8 bits , Select Brightness/Contrast/Saturation/Hue be set
 446          //                           Lower 2 bits are available.
 447          //                           0 : Brightness
 448          //                           1 : Contrast
 449          //                           2 : Saturation
 450          //                           3 : Hue
 451          //                           4 : Sharpness
 452          //                                              ---Reserved begin ---
 453          //                           5 : Brightness R              6 : Brightness G
 454          //                           7 : Brightness B              8 : Contrast   R
 455          //                           9 : Contrast   G              10: Contrast   B
 456          //                                              ---Reserved end ---                             
 457          //                           11: Horizontal Position
 458          //                           12: Vertical Position
 459          //******************************************
 460          void adj_britclr(char kind,char value)
 461          {

⌨️ 快捷键说明

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