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

📄 teletext.lst

📁 此程序为twell8806驱动程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
                      BYTE Vdata[1];
              
                      Vdata[0] = 0x3b;
                      WriteI2CnLong(TEXTAddress, Vdata, 1);
              }
              
              void TeleTextPageDown(void)
              {
                      BYTE Vdata[1];
              
                      Vdata[0] = 0x3c;
                      WriteI2CnLong(TEXTAddress, Vdata, 1);
              }
              //=============================================================================
              //
              //=============================================================================
              void TeleTextInit(void)
              {
                      BYTE CODE ReData[8] = { 0x00, 0x26, 0x0f, 0x8f, 0x95, 0x0a, 0x00, 0x00 };
                      
                      TeleTextHPol();         delay(1);
                      TeleTextVPol();         delay(1);
                      TeleTextPos(0x05, 0x2a);
              
                      WriteI2CnLong(TEXTAddress, ReData, 8);  
              }
              
              void TeleTextNumber(BYTE num)
              {
                      BYTE buf;
                      BYTE Vdata[1];
              
                      buf = ToNumber(num);
              
                      if( buf == 0xff ) return;
              
                      if(buf == 0)
                              Vdata[0] = 0x39;
                      else
                              Vdata[0] = (buf | 0x30) - 0x01;
              
C51 COMPILER V7.50   TELETEXT                                                              08/20/2007 10:23:35 PAGE 6   

                      WriteI2CnLong(TEXTAddress, Vdata, 1);  
              }
              
              
              #else // ET_TTX
              
              void TeleTextCancel(void)
              {
                      BYTE Vdata[1];
                      
              /*      TTToggle ^= 0x01;
              
                      if     ( TTToggle & 0x01 ) Vdata[0] = 0x27;
                      else if( TTToggle & 0x02 ) Vdata[0] = 0x3e;
                      else                       Vdata[0] = 0x3f; 
              */
                      Vdata[0] = 0x10; 
                      WriteI2CnLong(TEXTAddress, Vdata, 1); 
              
                      #ifdef DEBUG_TELETEXT
                      dPrintf("\r\nTeletext Cancel: Toggle : %2x",(WORD)TTToggle);
                      #endif
              }
              
              void TeletextMix(void)
              {
                      BYTE Vdata[1];
              
                      Vdata[0] = 0x73;
                              
                      WriteI2CnLong(TEXTAddress, Vdata, 1); 
              
              
              }
              
              void TeleTextONOFF(void)
              {
                      BYTE Vdata[1];
              
                if( !f_TeleTextOn ) 
                {
                  f_TeleTextOn = 1;           
              
                      SEL_MIX = 1;
              //
                      WriteDecoder(INFORM,  ReadDecoder(INFORM)  | 0x01 );    // 02: xxxx xxx1 Select RGB1
                      WriteDecoder(ACNTL,   ReadDecoder(ACNTL)   & 0xfe );    // 06: xxxx xxx0 normal FB
              
                      WriteDecoder(SCbGAIN, ReadDecoder(SCbGAIN) | 0x80 );    // 3d: 1xxx xxxx RGB H Sharpness On
                      WriteDecoder(SCrGAIN, ReadDecoder(SCrGAIN) & 0x7f );    // 3d: 0xxx xxxx normal DAC H sync
                      WriteDecoder(RGBCONTROL, 0x00 );                                                // 36: 0000 0001 RGB ADC Power On, FB Gain:100%
                      WriteDecoder(RGBMISC, 0x05 );                                                   // 39: 0000 0101 Select RGB, FB control
              //      
                      TTToggle ^= 0x02;
              
                      //if( TTToggle & 0x02 ) Vdata[0] = 0x3e;                // mix
                      //else   
                      Vdata[0] = 0x71;
                              
                      WriteI2CnLong(TEXTAddress, Vdata, 1); 
              
                }
C51 COMPILER V7.50   TELETEXT                                                              08/20/2007 10:23:35 PAGE 7   

                else // TTX OFF
                {
              
                      f_TeleTextOn = 0;       
                      
                      SEL_MIX = 0;
              
                      TTToggle ^= 0x02;
              
                      Vdata[0] = 0x70;
                      WriteI2CnLong(TEXTAddress, Vdata, 1);  
              
                      
                      switch( GetInputSelection() ) {
                      case SCART:
                      case COMPOSITE:
                      case SVIDEO:
                      case TV:
                              WriteDecoder(ACNTL,   ReadDecoder(ACNTL)   | 0x01 );    // 06: xxxx xxx1 pdwon FB
                              WriteDecoder(SCrGAIN, ReadDecoder(SCrGAIN) | 0x80 );    // 3d: 1xxx xxxx pdwon DAC H sync
                              WriteDecoder(RGBCONTROL, 0xe3 );                                                // 3f: 0000 0001 main mode
                              break;
              
                      case COMPONENT:
                              break;
                      
                      }
              
                }
                      #ifdef DEBUG_TELETEXT
                      Printf("\r\nTeletext ON: Toggle : %2x",(WORD)TTToggle);
                      #endif
              }
              
              void TeleTextRed(void)
              {
                      BYTE Vdata[1];
              
                      Vdata[0] = 0x38;
                      WriteI2CnLong(TEXTAddress, Vdata, 1);
              }
              
              void TeleTextGreen(void)
              {
                      BYTE Vdata[1];
              
                      Vdata[0] = 0x39;
                      WriteI2CnLong(TEXTAddress, Vdata, 1);
              }
              
              void TeleTextYellow(void)
              {
                      BYTE Vdata[1];
              
                      Vdata[0] = 0x3a;
                      WriteI2CnLong(TEXTAddress, Vdata, 1);
              }
              
              void TeleTextCyan(void)
              {
                      BYTE Vdata[1];
              
C51 COMPILER V7.50   TELETEXT                                                              08/20/2007 10:23:35 PAGE 8   

                      Vdata[0] = 0x3b;
                      WriteI2CnLong(TEXTAddress, Vdata, 1);
              }
              
              void TeleTextHold(void)
              {
                      BYTE Vdata[1];
              
                      Vdata[0] = 0x1a;
                      WriteI2CnLong(TEXTAddress, Vdata, 1);
              }
              
              /*void TeleTextTime(void)
              {
                      BYTE Vdata[1];
              
                      Vdata[0] = 0x07; // ???
                      WriteI2CnLong(TEXTAddress, Vdata, 1);
              }
              */
              void TeleTextSize(void)
              {
                      BYTE Vdata[1];
              
                      Vdata[0] = 0x13;
                      WriteI2CnLong(TEXTAddress, Vdata, 1);
              }
              
              void TeleTextIndex(void)
              {
                      BYTE Vdata[1];
              
                      Vdata[0] = 0x3c;
                      WriteI2CnLong(TEXTAddress, Vdata, 1);
              }
              /*
              void TeleTextMode(void)
              {
                      BYTE Vdata[1];
              
                      Vdata[0] = 0x29;        // ???
                      WriteI2CnLong(TEXTAddress, Vdata, 1);
              }
              */
              void TeleTextPageUp(void)
              {
                      BYTE Vdata[1];
              
                      Vdata[0] = 0x16;
                      WriteI2CnLong(TEXTAddress, Vdata, 1);
              }
              
              void TeleTextPageDown(void)
              {
                      BYTE Vdata[1];
              
                      Vdata[0] = 0x15;
                      WriteI2CnLong(TEXTAddress, Vdata, 1);
              }
              //=============================================================================
              //
              //=============================================================================
C51 COMPILER V7.50   TELETEXT                                                              08/20/2007 10:23:35 PAGE 9   

              void TeleTextInit(void)
              {
              
              }
              
              void TeleTextNumber(BYTE num)
              {
                      BYTE buf;
                      BYTE Vdata[1];
              
                      buf = ToNumber(num);
              
                      if( buf == 0xff ) return;
              
                      Vdata[0] = buf | 0x20;
              
                      WriteI2CnLong(TEXTAddress, Vdata, 1);  
              }
              
              #endif
              
              
              
              
              #endif // SUPPORT_TELETEXT
 515          
 516          
 517          
 518          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   ----    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   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 + -