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

📄 tv.lst

📁 CS8955控制TV软件。用MCU做模拟电视的控制。
💻 LST
📖 第 1 页 / 共 5 页
字号:
 244   1        DataOutValid=0; //02Jun08     
 245   1          vTvSetCh(); //29Aug08
 246   1      
 247   1        bTvLastChannel=bTvCurrChIndex; //07Oct08      
 248   1           #ifdef SUPPORT_UART_PRINTF
 249   1           DRS232LogS("Init Tuner  Ok.\n");   
 250   1         #endif
 251   1        
 252   1      }
 253          
 254          void vFreqSwitch(BIT dir)   //martin 13May08
 255          {
 256   1      
 257   1      if(dir == UP_SEARCH)
 258   1        {
 259   2          if(fgTunerType == 0x01)  //tuner:xf6a
 260   2            {
 261   3               if((_sTunerPLL.wDB>VHF_LOW_TOP_XF6A) && (_sTunerPLL.wDB<VHF_HIGH_BOT_XF6A))
 262   3               {
 263   4               _sTunerPLL.wDB =VHF_HIGH_BOT_XF6A;
 264   4               }
 265   3               else if((_sTunerPLL.wDB>VHF_HIGH_TOP_XF6A) && (_sTunerPLL.wDB<UHF_BOT_XF6A))
 266   3               {
 267   4               _sTunerPLL.wDB = UHF_BOT_XF6A;
 268   4               }
 269   3             }
 270   2         else //tuner:TNJ7355
 271   2              {
 272   3               if((_sTunerPLL.wDB>VHF_LOW_TOP) && (_sTunerPLL.wDB<VHF_HIGH_BOT))
 273   3               {
 274   4               _sTunerPLL.wDB =VHF_HIGH_BOT;
 275   4               }
 276   3               else if((_sTunerPLL.wDB>VHF_HIGH_TOP) && (_sTunerPLL.wDB<UHF_BOT))
 277   3               {
 278   4               _sTunerPLL.wDB = UHF_BOT;
 279   4               }
 280   3            }
 281   2        }
 282   1      else   //DOWN SEARCH
 283   1        {
 284   2         if(fgTunerType == TV_TYPE_XF6A)  //tuner:xf6a
 285   2             {
 286   3               if((_sTunerPLL.wDB>VHF_LOW_TOP_XF6A) && (_sTunerPLL.wDB<VHF_HIGH_BOT_XF6A))
 287   3               {
 288   4               _sTunerPLL.wDB =VHF_LOW_TOP_XF6A;
 289   4               }
 290   3               else if((_sTunerPLL.wDB>VHF_HIGH_TOP_XF6A) && (_sTunerPLL.wDB<UHF_BOT_XF6A))
 291   3               {
 292   4               _sTunerPLL.wDB = VHF_HIGH_TOP_XF6A;
 293   4               }
 294   3             }
 295   2         else //tuner:TNJ7355
 296   2             {
 297   3               if((_sTunerPLL.wDB>VHF_LOW_TOP) && (_sTunerPLL.wDB<VHF_HIGH_BOT))
 298   3               {
 299   4               _sTunerPLL.wDB =VHF_LOW_TOP;
 300   4               }
 301   3               else if((_sTunerPLL.wDB>VHF_HIGH_TOP) && (_sTunerPLL.wDB<UHF_BOT))
C51 COMPILER V8.05a   TV                                                                   01/05/2009 15:57:49 PAGE 6   

 302   3               {
 303   4               _sTunerPLL.wDB = VHF_HIGH_TOP;
 304   4               }
 305   3             }
 306   2        }      
 307   1      }
 308          
 309          
 310          void vBandFreSet(void)   //martin 13May08
 311          {
 312   1      if(fgTunerType == TV_TYPE_XF6A)  //16Sep08
 313   1              {
 314   2          if((_sTunerPLL.wDB<VHF_LOW_BOT_XF6A) || (_sTunerPLL.wDB>UHF_TOP_XF6A))
 315   2              {
 316   3               _sTunerPLL.wDB=VHF_LOW_BOT_XF6A;
 317   3                sTvCurrChannel.wFreq = _sTunerPLL.wDB;          //28Aug08
 318   3              }
 319   2       
 320   2          if((_sTunerPLL.wDB>=VHF_LOW_BOT_XF6A) && (_sTunerPLL.wDB<=VHF_LOW_TOP_XF6A))
 321   2          {
 322   3              _sTunerPLL.bBB = TUNER_BB1;
 323   3          }
 324   2          else if((_sTunerPLL.wDB>=VHF_HIGH_BOT_XF6A) && (_sTunerPLL.wDB<=VHF_HIGH_TOP_XF6A))
 325   2          {
 326   3              _sTunerPLL.bBB = TUNER_BB2;
 327   3          }
 328   2          else if((_sTunerPLL.wDB>=UHF_BOT_XF6A) &&(_sTunerPLL.wDB <=UHF_TOP_XF6A))
 329   2          {
 330   3              _sTunerPLL.bBB = TUNER_BB3_XF6A;
 331   3      
 332   3          }
 333   2              
 334   2      }
 335   1      else
 336   1      {
 337   2         if((_sTunerPLL.wDB<VHF_LOW_BOT) || (_sTunerPLL.wDB>UHF_TOP))
 338   2              {
 339   3               _sTunerPLL.wDB=VHF_LOW_BOT;
 340   3                sTvCurrChannel.wFreq = _sTunerPLL.wDB;          //29Aug08
 341   3              }
 342   2      
 343   2          if((_sTunerPLL.wDB>=VHF_LOW_BOT) && (_sTunerPLL.wDB<=VHF_LOW_TOP))
 344   2          {
 345   3              _sTunerPLL.bBB = TUNER_BB1;
 346   3          }
 347   2          else if((_sTunerPLL.wDB>=VHF_HIGH_BOT) && (_sTunerPLL.wDB<=VHF_HIGH_TOP))
 348   2          {
 349   3              _sTunerPLL.bBB = TUNER_BB2;
 350   3          }
 351   2          else if((_sTunerPLL.wDB>=UHF_BOT) &&(_sTunerPLL.wDB <=UHF_TOP))
 352   2          {      
 353   3              _sTunerPLL.bBB = TUNER_BB3;
 354   3          }
 355   2      }
 356   1      }
 357          
 358          void vTvSearchSetFre(void)   //martin 08Jun08 add
 359          {
 360   1          BYTE bData[4];
 361   1      
 362   1         vBandFreSet();
 363   1                 
C51 COMPILER V8.05a   TV                                                                   01/05/2009 15:57:49 PAGE 7   

 364   1               //29Aug08 return 1;
 365   1      
 366   1      #ifdef MARTIN_TEST_TV_IIC  //29May08 test
                  bData[0] = 0x1f;           //frequency: 471.25M
                  bData[1] = 0xe2;
                  bData[2] = TUNER_CB1;
                  bData[2] = 0xce;
                  bData[3] = 0x04;
              
              #else           
 374   1          bData[0] = (_sTunerPLL.wDB >>8) & 0xff;
 375   1          bData[1] = _sTunerPLL.wDB  ;
 376   1      //    bData[2] = TUNER_CB1;
 377   1          bData[2] = _sTunerPLL.bCB;
 378   1          bData[3] = _sTunerPLL.bBB;
 379   1      #endif
 380   1              
 381   1          vTV_PLL_Write(bData);       
 382   1      
 383   1      //29Aug08    return 0;  
 384   1      }
 385          
 386          
 387          BOOL vTvSetCh(void)
 388          {
 389   1          BYTE bData[4];
 390   1          BYTE bTempSystem;   // ,bTempSound;
 391   1          bTempSystem=(sTvCurrChannel.bSystem & 0x07);
 392   1       //   bTempSound=(sTvCurrChannel.bSystem & 0x38)>>3;
 393   1       
 394   1        vBandFreSet();
 395   1      
 396   1      #ifdef MARTIN_TEST_TV_IIC  //29May08 test
                  bData[0] = 0x1f;
                  bData[1] = 0xe2;
                  bData[2] = TUNER_CB1;
                  bData[2] = 0xce;
                  bData[3] = 0x04;
              
              #else           
 404   1          bData[0] = (_sTunerPLL.wDB >>8) & 0xff;
 405   1          bData[1] = _sTunerPLL.wDB  ;
 406   1      //    bData[2] = TUNER_CB1;
 407   1          bData[2] = _sTunerPLL.bCB;
 408   1          bData[3] = _sTunerPLL.bBB;
 409   1      #endif
 410   1              
 411   1          vTV_PLL_Write(bData);       
 412   1      
 413   1          bData[0] = IF_RESERVED;
 414   1      #ifdef MARTIN_TEST_TV_IIC  //29May08 test  //PAL B/G 471.25M
              bData[1] = 0x56;
              bData[2] = 0x70;
              bData[3] = 0x09;
              #else   
 419   1      #if 0
              bTvCurrSystem=(sTvCurrChannel.bSystem & 0x07);
              bTvCurrSound=(sTvCurrChannel.bSystem & 0x38 )>>3;
              bTvPllGate=0x00;
              
              bTVSoundCarrier=bTvCurrSound; //Sound Default == setup menu
              if((bTvCurrSystem == SV_NTSC)||(bTvCurrSystem == SV_PAL_M)||(bTvCurrSystem == SV_PAL_N))
C51 COMPILER V8.05a   TV                                                                   01/05/2009 15:57:49 PAGE 8   

               {
                 if(bTvCurrSound != SV_MN)
                  {
                   bTvCurrSound=bTVSoundCarrier = SV_MN; //sound set MN,
                   sTvCurrChannel.bSystem &= 0xc7;  //sound set MN,
                  }
               }
              if(bTvCurrSystem == SV_SECAM_L)
                {
                      if(bTvCurrSound == SV_MN)
                              {
                              bTvPllGate=0x01;
                           bTvCurrPolarity=IF_SWITCH_SEACAM_L;    //Positive 
                           bTVSoundCarrier=SV_DK; //SEACAM L +DK
                              }
                         else
                          bTvCurrPolarity=IF_SWITCH_SEACAM_DK; //Negative 
                }
              else if(bTvCurrSystem == SV_SECAM_L2)
                {
                      if(bTvCurrSound == SV_MN)
                              {
                              bTvPllGate=0x01;
                            bTvCurrPolarity=IF_SWITCH_SEACAM_L1;     //Positive 
                             bTVSoundCarrier=SV_DK; //SEACAM L' +DK
                              }
                              else
                     bTvCurrPolarity=IF_SWITCH_SEACAM_L1_DK; //Negative 
                }
              else
                        bTvCurrPolarity=IF_SWITCH_PAL;  //Negative 
              
              if(bTvCurrSystem == SV_SECAM_L2)
                bTvCurrIF=0x04;   //33.9M
              else
                 bTvCurrIF=0x02;  //38.9M
              
              
              
                 bData[0] = IF_RESERVED;
                 bData[1] = bTvCurrPolarity;
                 bData[2] = IF_ADJUST_PAL;
                 bData[3] = (bTvPllGate<<6)| (bTvCurrIF <<2 ) | bTVSoundCarrier;
              
              
              #else   
 472   1              
 473   1      
 474   1           if(bTempSystem ==SV_PAL)                   
 475   1               {
 476   2               bData[1] =IF_SWITCH_PAL;
 477   2              bData[2] = IF_ADJUST_PAL;
 478   2                      
 479   2           if (bTvCurrSound==SV_BG) //TV_SOUND_BG
 480   2             { 
 481   3               bData[3] = IF_DATA_PAL_BG; // BG
 482   3               sTvCurrChannel.bSystem &= 0xc7; 
 483   3              sTvCurrChannel.bSystem |= 0x08; //17Jul08  seacam_l + sound_BG
 484   3              }
 485   2          else if (bTvCurrSound==SV_I) //TV_SOUND_I
 486   2              {
 487   3              bData[3] = IF_DATA_PAL_I;  // I
C51 COMPILER V8.05a   TV                                                                   01/05/2009 15:57:49 PAGE 9   

 488   3              }
 489   2          else if (bTvCurrSound==SV_DK)   //TV_SOUND_DK
 490   2              {
 491   3              bData[3] = IF_DATA_PAL_DK;  // DK
 492   3              }
 493   2         else if (bTvCurrSound==SV_MN)  //TV_SOUND_MN_L
 494   2              {
 495   3              bData[3] = IF_DATA_PAL_MN;  // MN
 496   3              }       
 497   2         }

⌨️ 快捷键说明

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