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

📄 tv.lst

📁 CS8955控制TV软件。用MCU做模拟电视的控制。
💻 LST
📖 第 1 页 / 共 5 页
字号:
 235   1            
 236   1      }
 237          
 238          
 239          
 240          
C51 COMPILER V8.05a   TV                                                                   07/03/2008 18:27:39 PAGE 5   

 241          BOOL vTvSearchSetFre(void)   //martin 08Jun08 add
 242          {
 243   1          BYTE bData[4];
 244   1      
 245   1          if((_sTunerPLL.wDB>=VHF_LOW_BOT) && (_sTunerPLL.wDB<VHF_LOW_TOP))
 246   1          {
 247   2              _sTunerPLL.bBB = TUNER_BB1;
 248   2          }
 249   1          else if((_sTunerPLL.wDB>=VHF_HIGH_BOT) && (_sTunerPLL.wDB<VHF_HIGH_TOP))
 250   1          {
 251   2              _sTunerPLL.bBB = TUNER_BB2;
 252   2          }
 253   1          else if((_sTunerPLL.wDB>=UHF_BOT) &&(_sTunerPLL.wDB <UHF_TOP))
 254   1          {
 255   2              _sTunerPLL.bBB = TUNER_BB3;
 256   2          }
 257   1          else if((_sTunerPLL.wDB>UHF_TOP )||(_sTunerPLL.wDB<VHF_LOW_BOT))    
 258   1              return 1;
 259   1      
 260   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           
 268   1          bData[0] = (_sTunerPLL.wDB >>8) & 0xff;
 269   1          bData[1] = _sTunerPLL.wDB  ;
 270   1      //    bData[2] = TUNER_CB1;
 271   1          bData[2] = _sTunerPLL.bCB;
 272   1          bData[3] = _sTunerPLL.bBB;
 273   1      #endif
 274   1              
 275   1          vTV_PLL_Write(bData);       
 276   1      
 277   1          return 0;   
 278   1      }
 279          
 280          
 281          BOOL vTvSetCh(void)
 282          {
 283   1          BYTE bData[4];
 284   1      
 285   1          if((_sTunerPLL.wDB>=VHF_LOW_BOT) && (_sTunerPLL.wDB<VHF_LOW_TOP))
 286   1          {
 287   2              _sTunerPLL.bBB = TUNER_BB1;
 288   2          }
 289   1          else if((_sTunerPLL.wDB>=VHF_HIGH_BOT) && (_sTunerPLL.wDB<VHF_HIGH_TOP))
 290   1          {
 291   2              _sTunerPLL.bBB = TUNER_BB2;
 292   2          }
 293   1          else if((_sTunerPLL.wDB>=UHF_BOT) &&(_sTunerPLL.wDB <UHF_TOP))
 294   1          {
 295   2              _sTunerPLL.bBB = TUNER_BB3;
 296   2          }
 297   1          else if((_sTunerPLL.wDB>UHF_TOP )||(_sTunerPLL.wDB<VHF_LOW_BOT))    
 298   1              return 1;
 299   1      
 300   1      #ifdef MARTIN_TEST_TV_IIC  //29May08 test
                  bData[0] = 0x1f;
                  bData[1] = 0xe2;
C51 COMPILER V8.05a   TV                                                                   07/03/2008 18:27:39 PAGE 6   

                  bData[2] = TUNER_CB1;
                  bData[2] = 0xce;
                  bData[3] = 0x04;
              
              #else           
 308   1          bData[0] = (_sTunerPLL.wDB >>8) & 0xff;
 309   1          bData[1] = _sTunerPLL.wDB  ;
 310   1      //    bData[2] = TUNER_CB1;
 311   1          bData[2] = _sTunerPLL.bCB;
 312   1          bData[3] = _sTunerPLL.bBB;
 313   1      #endif
 314   1              
 315   1          vTV_PLL_Write(bData);       
 316   1      
 317   1          bData[0] = IF_RESERVED;
 318   1      #ifdef MARTIN_TEST_TV_IIC  //29May08 test  //PAL B/G 471.25M
              bData[1] = 0x56;
              bData[2] = 0x70;
              bData[3] = 0x09;
              #else   
 323   1      #ifdef TUNER_USE_TNJ7355
 324   1       if(sTvCurrChannel.bSystem ==SV_PAL)
 325   1                              bData[1] =IF_SWITCH_PAL;
 326   1          else   if(sTvCurrChannel.bSystem ==SV_NTSC)
 327   1                              bData[1] =IF_SWITCH_NTSC;
 328   1          else   if(sTvCurrChannel.bSystem ==SV_SECAM_L)
 329   1                              bData[1] =IF_SWITCH_SEACAM_L;
 330   1           else   if(sTvCurrChannel.bSystem ==SV_SECAM_L2)
 331   1                            bData[1] =IF_SWITCH_SEACAM_L1;
 332   1            else
 333   1                          bData[1] =IF_SWITCH_PAL;    
 334   1      
 335   1       //02Jun08     bData[1] = sTvCurrChannel.bSystem;
 336   1      
 337   1       //02Jun08 if(sTvCurrChannel.bSystem == IF_SWITCH_PAL)
 338   1      if(bData[1] == IF_SWITCH_PAL)
 339   1         {
 340   2              bData[2] = IF_ADJUST_PAL;
 341   2                      
 342   2           if (bTvCurrSound==TV_SOUND_BG)
 343   2              bData[3] = IF_DATA_PAL_BG; // BG
 344   2          else if (bTvCurrSound==TV_SOUND_I)
 345   2              bData[3] = IF_DATA_PAL_I;  // I
 346   2          else if (bTvCurrSound==TV_SOUND_DK)
 347   2              {
 348   3              bData[3] = IF_DATA_PAL_DK;  // DK
 349   3              bTvCurrSound=TV_SOUND_DK;
 350   3              }
 351   2         else 
 352   2              {
 353   3              bData[3] = IF_DATA_PAL_I;  // DK
 354   3              bTvCurrSound=TV_SOUND_DEFAULT;
 355   3              }       
 356   2             
 357   2         }
 358   1      //else if(sTvCurrChannel.bSystem == IF_SWITCH_NTSC)
 359   1      else if(bData[1] == IF_SWITCH_NTSC)
 360   1              
 361   1          {
 362   2              bData[2] = IF_ADJUST_NTSC;
 363   2              bData[3] = IF_DATA_NTSC_MN;
 364   2              bTvCurrSound=TV_SOUND_MN;
C51 COMPILER V8.05a   TV                                                                   07/03/2008 18:27:39 PAGE 7   

 365   2          }
 366   1      //else if((sTvCurrChannel.bSystem == IF_SWITCH_SEACAM_L))
 367   1      else if(bData[1] == IF_SWITCH_SEACAM_L)
 368   1              
 369   1           {
 370   2              bData[2] = IF_ADJUST_SEACAM;
 371   2              bData[3] = IF_DATA_SEACAM_L;
 372   2              bTvCurrSound=TV_SOUND_DK;
 373   2             }
 374   1      //else if((sTvCurrChannel.bSystem == IF_SWITCH_SEACAM_L1))
 375   1      else if(bData[1] == IF_SWITCH_SEACAM_L1)
 376   1          {
 377   2              bData[2] = IF_ADJUST_SEACAM;
 378   2              bData[3] = IF_DATA_SEACAM_L1; 
 379   2              bTvCurrSound=TV_SOUND_DK;
 380   2          }
 381   1      else
 382   1         {
 383   2              bData[2] = IF_ADJUST_DEFAUL;
 384   2              bData[3] = IF_DATA_DEFAULT; 
 385   2              bTvCurrSound=TV_SOUND_DEFAULT;
 386   2          }
 387   1      sTvCurrChannel.bSound=bTvCurrSound;
 388   1      #else
                  bData[1] = IF_SWITCH_1 ;
                  bData[2] = IF_ADJUST1;
               if (bTvCurrSound==TV_SOUND_BG)
                      bData[3] = IF_DATA1; // BG
                  else if (bTvCurrSound==TV_SOUND_I)
                      bData[3] = IF_DATA2;  // I
                  else if (bTvCurrSound==TV_SOUND_DK)
                      bData[3] = IF_DATA3;  // DK     
              #endif
 398   1      #endif
 399   1         
 400   1          vTV_IF_Write(bData);
 401   1      
 402   1          return 0;   
 403   1      }
 404          
 405          void vTvFreAFCAdj(void)   //martin 08Jun08 add
 406          {
 407   1      //    BYTE bData[4];
 408   1       Delay1ms(50);
 409   1       Delay1ms(50);
 410   1        bTvIfValue=bTV_IF_Read();
 411   1       Delay1ms(50);
 412   1        Delay1ms(50);
 413   1        btesttvPll=bTvIfValue;
 414   1        if(((bTvIfValue >0xc2)&&(bTvIfValue <=0xcf))||((bTvIfValue >0xe2)&&(bTvIfValue <=0xef)))
 415   1        {
 416   2            if(((bTvIfValue >=0xcc)&&(bTvIfValue <=0xcf))||((bTvIfValue >=0xec)&&(bTvIfValue <=0xef)))
 417   2              {
 418   3            _sTunerPLL.wDB+= 0x03;
 419   3              }
 420   2            else if((bTvIfValue >=0xc6)&&(bTvIfValue <0xcc))
 421   2              {
 422   3             _sTunerPLL.wDB+= 0x02;
 423   3              }
 424   2            else
 425   2                 _sTunerPLL.wDB+= 0x01;
 426   2            
C51 COMPILER V8.05a   TV                                                                   07/03/2008 18:27:39 PAGE 8   

 427   2              sTvCurrChannel.wFreq=_sTunerPLL.wDB;
 428   2              vTvSearchSetFre(); 
 429   2               Delay1ms(50);
 430   2                  Delay1ms(50);
 431   2                bTvIfValue=bTV_IF_Read();
 432   2                  btesttvPll=bTvIfValue;
 433   2              if(((bTvIfValue >=0xde)&&(bTvIfValue <=0xdc))||((bTvIfValue >=0xc0)&&(bTvIfValue <=0xc2))||((bTvIfVal
             -ue >=0xe0)&&(bTvIfValue <=0xe2)))
 434   2                      {
 435   3                           WriteTVChannel(bTvCurrChIndex,sTvCurrChannel);       
 436   3                      }
 437   2              else if(((bTvIfValue >0xc2)&&(bTvIfValue <=0xc6))||((bTvIfValue >0xe2)&&(bTvIfValue <=0xe8)))
 438   2                      {
 439   3                             _sTunerPLL.wDB+= 0x01;
 440   3                       sTvCurrChannel.wFreq=_sTunerPLL.wDB;
 441   3                   vTvSearchSetFre(); 
 442   3                      Delay1ms(50);
 443   3                        Delay1ms(50);
 444   3                   bTvIfValue=bTV_IF_Read();
 445   3                         btesttvPll=bTvIfValue;
 446   3                 if(((bTvIfValue >=0xde)&&(bTvIfValue <=0xdc))||((bTvIfValue >=0xc0)&&(bTvIfValue <=0xc2))||((bTvIf
             -Value >=0xe0)&&(bTvIfValue <=0xe2)))
 447   3                      {
 448   4                           WriteTVChannel(bTvCurrChIndex,sTvCurrChannel);       
 449   4                      }
 450   3             
 451   3                      }
 452   2              else
 453   2                      {
 454   3                           _sTunerPLL.wDB-= 0x01;
 455   3              sTvCurrChannel.wFreq=_sTunerPLL.wDB;
 456   3              vTvSearchSetFre(); 
 457   3                      }
 458   2          
 459   2          }
 460   1          
 461   1          else if((bTvIfValue >=0xd0)&&(bTvIfValue <=0xde))
 462   1          {
 463   2            if((bTvIfValue >=0xd0)&&(bTvIfValue <=0xd2))
 464   2              {
 465   3                 _sTunerPLL.wDB-= 0x04;
 466   3              }
 467   2            else if((bTvIfValue >0xd2)&&(bTvIfValue <=0xd8))
 468   2              {
 469   3                 _sTunerPLL.wDB-= 0x03;
 470   3              }
 471   2            else if((bTvIfValue >0xd8)&&(bTvIfValue <=0xda))
 472   2              {
 473   3                 _sTunerPLL.wDB-= 0x02;
 474   3              }         

⌨️ 快捷键说明

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