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

📄 osd1csl.lst

📁 T103的开发程序 能兼容很多屏 可根据需要修改定义
💻 LST
📖 第 1 页 / 共 2 页
字号:
                                      k=x;
                                      //~Stuff Strings~//
                                      while(((*pString) != EOL)&&(k<Menu1Width)&&(j<string[0]))
                                      {
                                              OSD1SetRamData(0x0000|((uWORD)(cBlink)<<13)|((uWORD)(IconColorIndex[(*pString)]&0x0F)<<9)|(*pString++)
             -);
                                              k++;
                                              j++;
                                      }
                                      y++;
                              }
                      }
                      else if(MenuIndex==MENU2)
                      {
C51 COMPILER V8.08   OSD1CSL                                                               11/23/2007 00:57:19 PAGE 4   

                              //~Set RAtt_C~//
                              OSD1SetRamAddr(Menu2StrAdr+(Menu2Width+4)*y+3);
                              OSD1SetRamData(((0x0000+HVScale)<<6)|(Menu2Width));     
                              OSD1SetRamAddr(Menu2StrAdr+(Menu2Width+4)*y+x+4);
                              k=x;
                              while((*pString) != EOL)
                              {
                                      //~Stuff Strings~//
                                      while(((*pString) != EOL)&&(k<Menu2Width)&&(j<string[0]))
                                      {
                                              OSD1SetRamData(0x0000|((uWORD)(cBlink)<<13)|((uWORD)(IconColorIndex[(*pString)]&0x0F)<<9)|(*pString++)
             -);
                                              k++;
                                              j++;
                                      }
                                      y++;
                              }
                      }         
              
              }
              #endif //ICON2BP
 197          
 198          
 199          #ifdef ICON4BP  
              //=============================================================================
              //    Function  : OSD1Show4BPIcon(uCHAR *string,uCHAR x,uCHAR y,uCHAR cBlink,
              //                                                                uCHAR HVScale,uCHAR Color, uCHAR MenuIndex)
              //    Prupose   : Show OSD1 4BPP 
              //    Arguments : uCHAR *string
              //                                uCHAR x
              //                                uCHAR y
              //                                uCHAR cBlink            <---0: No Blink
              //                                uCHAR HVScale           
              //                                uCHAR Color             <---0: For Default IconColorHighByte.  
              //                                                                            1~15: For user define. 
              //                                uCHAR MenuIndex         <---1: For Menu 1.   2: For Menu 2.
              //    Returns   : --
              //    External  : --    --                  --
              //-----------------------------------------------------------------------------
              //  Detail Description:
              //  -------------------
              //  Show OSD1 4BPP
              //  --------------          
              //=============================================================================
              void OSD1Show4BPIcon(uCHAR *string,uCHAR x,uCHAR y,uCHAR cBlink,uCHAR HVScale,uCHAR Color, uCHAR MenuIndex
             -)
              {
                      uCHAR Char= *(string+2);        
                      uCHAR j,k;                              
                      uCHAR V;                
                      if(MenuIndex == MENU1)
                      {
                              for(V=0; V<string[1];V++)
                              {                       
                                      //~Set RAtt_C~//
                                      OSD1SetRamAddr(Menu1StrAdr+(Menu1Width+4)*y+3);
                                      OSD1SetRamData(((0x0000+HVScale)<<6)|(Menu1Width));     
                                      OSD1SetRamAddr(Menu1StrAdr+(Menu1Width+4)*y+x+4);
                                      //~Stuff Strings~//
                                      j=0;   
                                      k=x;
                                      while((k<Menu1Width)&&(j<string[0]))                            
C51 COMPILER V8.08   OSD1CSL                                                               11/23/2007 00:57:19 PAGE 5   

                                      {
                                              if(Color)
                                                      OSD1SetRamData(0x0000|((uWORD)(cBlink)<<13)|((uWORD)(Color&0x0F)<<9)|(Char++));
                                              else
                                                      OSD1SetRamData(0x0000|((uWORD)(cBlink)<<13)|((uWORD)(IconColorHighByte[Char]&0x0F)<<9)|(Char++));
                                              k++;
                                              j++;
                                      }                        
                                      y++;
                              }
                      }
                      else if(MenuIndex == MENU2)
                      {
                              for(V=0; V<string[1];V++)
                              {                       
                                      //~Set RAtt_C~//
                                      OSD1SetRamAddr(Menu2StrAdr+(Menu2Width+4)*y+3);
                                      OSD1SetRamData(((0x0000+HVScale)<<6)|(Menu2Width));     
                                      OSD1SetRamAddr(Menu2StrAdr+(Menu2Width+4)*y+x+4);
                                      //~Stuff Strings~//
                                      j=0;   
                                      k=x;
                                      while((k<Menu2Width)&&(j<string[0]))
                                      {
                                              if(Color)
                                                      OSD1SetRamData(0x0000|((uWORD)(cBlink)<<13)|((uWORD)(Color&0x0F)<<9)|(Char++));
                                              else
                                                      OSD1SetRamData(0x0000|((uWORD)(cBlink)<<13)|((uWORD)(IconColorHighByte[Char]&0x0F)<<9)|(Char++));
                                              k++;
                                              j++;
                                      }                        
                                      y++;
                              }
                      }
              }
              #endif //ICON4BP
 273          
 274          
 275          /*void OSD1PatternFillCtrl(uCHAR Enable,uWORD HStartPos, uWORD HEndPos, uWORD VStartPos, uWORD VEndPos)
 276          {
 277                  IC_WritByte(TWIC_P0,OSD_CFG_INDEX,OSD_PT_CTRL);         
 278                  OSD1CfgWr(OSD_PT_CTRL,IC_ReadByte(TWIC_P0,OSD_CFG_DATA)&((Enable<<7)|0x7F));
 279                  OSD1CfgWr(OSD_PT_HSTART_LSB,HStartPos&0x00FF);
 280                  OSD1CfgWr(OSD_PT_HSTART_MSB,HStartPos>>8);
 281                  OSD1CfgWr(OSD_PT_VSTART_LSB,VStartPos&0x00FF);
 282                  OSD1CfgWr(OSD_PT_VSTART_MSB,VStartPos>>8);
 283                  OSD1CfgWr(OSD_PT_HEND_LSB,HEndPos&0x00FF);
 284                  OSD1CfgWr(OSD_PT_HEND_MSB,HEndPos>>8);
 285                  OSD1CfgWr(OSD_PT_VEND_LSB,VEndPos&0x00FF);
 286                  OSD1CfgWr(OSD_PT_VEND_MSB,VEndPos>>8);
 287          } */
 288          
 289          void OSD1Menu1Enable(void)
 290          {
 291   1              OSD1CfgWr(OSD_MENU1_ENABLE,0x80);
 292   1              IC_WritByte(TWIC_P0,0xE2,0x11);
 293   1      }
 294          void OSD1Menu2Enable(void)
 295          {
 296   1              OSD1CfgWr(OSD_MENU2_ENABLE,0x80);
 297   1              IC_WritByte(TWIC_P0,0xE2,0x11);
 298   1      } 
C51 COMPILER V8.08   OSD1CSL                                                               11/23/2007 00:57:19 PAGE 6   

 299          void OSD1Enable(void)
 300          {
 301   1              OSD1CfgWr(OSD_CTRL,0x80);
 302   1              IC_WritByte(TWIC_P0,0xE2,0x11);
 303   1      }
 304          
 305          void OSD1Disable(void)
 306          {
 307   1              OSD1CfgWr(OSD_CTRL,0x00);
 308   1      }       
 309          void OSD1ClearSRam(void)
 310          {
 311   1              OSD1CfgWr(OSD_BLK_WRT_LSB,0x00);
 312   1              OSD1CfgWr(OSD_BLK_WRT_MSB,0x00);
 313   1              OSD1CfgWr(OSD_BLK_WRT_SADD_LSB,0x00);
 314   1              OSD1CfgWr(OSD_BLK_WRT_SADD_MSB,0x00);
 315   1              OSD1CfgWr(OSD_BLK_WRT_LENGTH,0xFF);
 316   1              OSD1CfgWr(OSD_BLK_WRT_CTR,0x9f);
 317   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    704    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----      17
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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