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

📄 tv.lst

📁 CS8955控制TV软件。用MCU做模拟电视的控制。
💻 LST
📖 第 1 页 / 共 5 页
字号:
 475   2            else
 476   2               _sTunerPLL.wDB-= 0x01;
 477   2            
 478   2              sTvCurrChannel.wFreq=_sTunerPLL.wDB;
 479   2              vTvSearchSetFre(); 
 480   2                Delay1ms(50);
 481   2                  Delay1ms(50);
 482   2                bTvIfValue=bTV_IF_Read();
 483   2                  btesttvPll=bTvIfValue;
 484   2              if(((bTvIfValue >=0xde)&&(bTvIfValue <=0xdc))||((bTvIfValue >=0xc0)&&(bTvIfValue <=0xc2)))
 485   2                      {
 486   3                           WriteTVChannel(bTvCurrChIndex,sTvCurrChannel);       
C51 COMPILER V8.05a   TV                                                                   07/03/2008 18:27:39 PAGE 9   

 487   3                      }
 488   2              else if((bTvIfValue >=0xd6)&&(bTvIfValue <0xdc))
 489   2                      {
 490   3                             _sTunerPLL.wDB-= 0x01;
 491   3                       sTvCurrChannel.wFreq=_sTunerPLL.wDB;
 492   3                   vTvSearchSetFre(); 
 493   3                   Delay1ms(50);
 494   3                    Delay1ms(50);
 495   3                   bTvIfValue=bTV_IF_Read();
 496   3                         btesttvPll=bTvIfValue;
 497   3                 if(((bTvIfValue >=0xde)&&(bTvIfValue <=0xdc))||((bTvIfValue >=0xc0)&&(bTvIfValue <=0xc2)))
 498   3                      {
 499   4                           WriteTVChannel(bTvCurrChIndex,sTvCurrChannel);       
 500   4                      }
 501   3             
 502   3                      }
 503   2              else
 504   2                      {
 505   3                           _sTunerPLL.wDB+= 0x01;
 506   3              sTvCurrChannel.wFreq=_sTunerPLL.wDB;
 507   3              vTvSearchSetFre(); 
 508   3                      }
 509   2      
 510   2             }
 511   1                       Delay1ms(50);
 512   1                        Delay1ms(50);
 513   1               sTvCurrChannel.wFreq=_sTunerPLL.wDB;
 514   1               WriteTVChannel(bTvCurrChIndex,sTvCurrChannel);   
 515   1      
 516   1      }
 517          
 518          
 519          void vTvSetChannel(sChannelList sCh)
 520          {
 521   1          mMuteEnable();
 522   1          _sTunerPLL.wDB = sCh.wFreq;
 523   1          _sTunerPLL.bCB = TUNER_CB1;
 524   1          vTvSetCh();
 525   1          _bSearchState = S_STATE_CHK_VIDEO;   
 526   1          _bSearchCnt = S_TV_VERIFY_TIME;     
 527   1      }
 528          
 529          void vTVSwitchSound()
 530          {
 531   1          BYTE bData[4];
 532   1      
 533   1      #ifdef TUNER_USE_TNJ7355  //  only pal  Audio switch. martin 14May08
 534   1      if((sTvCurrChannel.bSystem == SV_PAL))   
 535   1      #endif
 536   1      {
 537   2          bData[0] = IF_RESERVED;
 538   2      #ifdef TUNER_USE_TNJ7355   //martin 14May08
 539   2          bData[1] = IF_SWITCH_PAL;
 540   2          bData[2] = IF_ADJUST_PAL;
 541   2      #else
                  bData[1] = IF_SWITCH_1;
                  bData[2] = IF_ADJUST1;
              #endif
 545   2        
 546   2      #ifdef MARTIN_KEY_FUNCTION
 547   2      if(ShadowDvdInfo[1]==KEY_SETUP_SET_MODE)
 548   2      {
C51 COMPILER V8.05a   TV                                                                   07/03/2008 18:27:39 PAGE 10  

 549   3      //  bTvCurrChIndex=ShadowDvdInfo[3];  //martin 14May08
 550   3      //if(ShadowDvdInfo[4] != TV_SOUND_MN)
 551   3        bTvCurrSound=ShadowDvdInfo[4];
 552   3      //else
 553   3      //    bTvCurrSound=sTvCurrChannel.bSound; 
 554   3      //  ShadowDvdInfo[1]=0xff;
 555   3      }
 556   2      else
 557   2      #endif
 558   2      {
 559   3          if ((++bTvCurrSound)==TV_SOUND_MAX)
 560   3              bTvCurrSound = TV_SOUND_BG;
 561   3      }
 562   2      
 563   2       sTvCurrChannel.bSound= bTvCurrSound; 
 564   2      #ifndef TUNER_USE_TNJ7355
                  switch (bTvCurrSound)
                  {
              #ifdef TUNER_USE_TNJ7355
                      case TV_SOUND_I:        bData[3] = IF_DATA_PAL_I;
                                                          break;
                      case TV_SOUND_DK:  bData[3] = IF_DATA_PAL_DK;
                                                          break;
                      case TV_SOUND_BG:  
                                                           bData[3] = IF_DATA_PAL_BG;
                                                          break;
                      default:
                                                              bData[3] = IF_DATA_DEFAULT;
                                                          break;
              #else
                      case TV_SOUND_I:        bData[3] = IF_DATA2;
                                                          break;
                      case TV_SOUND_DK:  bData[3] = IF_DATA3;
                                                          break;
                      case TV_SOUND_BG:  
                                                           bData[3] = IF_DATA1;
                                                          break;
                      default:
                                                              bData[3] = IF_DATA_DEFAULT;
                                                          break;
              #endif
                  }
              #endif  
 592   2      if(ShadowDvdInfo[4] != TV_SOUND_MN)
 593   2       {
 594   3       //   vTV_IF_Write(bData);
 595   3              vTvSetCh();
 596   3         WriteTVChannel(bTvCurrChIndex,sTvCurrChannel);       
 597   3        }
 598   2      //   WriteE2prom(TV_CH_START_POS+(bTvCurrChIndex*TV_ONE_CH_SIZE)-1, &bTvCurrSound, 1);
 599   2        }
 600   1      }       
 601          
 602          // tvb = 0x27db
 603          // atv = 0x291b
 604          // tvb pearl = 0x
 605          // atv world = 0x2b9b
 606          //EXTERN xdata  BYTE    DenTable[16]={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
 607          
 608          void vTVSearch(BIT dir)
 609          {       
 610   1          WORD  lwTemp; 
C51 COMPILER V8.05a   TV                                                                   07/03/2008 18:27:39 PAGE 11  

 611   1          WORD  wTemp; 
 612   1              #ifndef MARTIN_MODIFY_AFC_ADJ
 613   1              #ifdef MARTIN_MODIFY_STORE_CHANNEL
 614   1        BYTE i,j; // ,bTimeOut;  //06Jun08
 615   1        #endif
 616   1              #endif
 617   1      // BYTE i,j;    //07Jun08
 618   1      BIT fgAFCWIN;  //02Jul08
 619   1        BYTE bAfc; //02Jul08
 620   1      
 621   1              
 622   1          switch(_bSearchState)
 623   1          {
 624   2              case S_STATE_IDLE:                      
 625   2                      fgTvSearchState=0;
 626   2                    _fgTvIsSearch = 0;
 627   2                    _fgTvSearchChLocked = 0;
 628   2                      #ifdef MARTIN_MODIFY_AUTO_SCAN
 629   2                        _bSearchUnLock=0x00; //martin 13May08
 630   2                      #endif
 631   2                       bTempStroIndex=0x00;
 632   2                      if(_bSearchMode == SEARCH_SEEK)
 633   2                              {
 634   3                        
 635   3                            bDisplaMode=0x08;
 636   3                              DataOutValid=0;                                                           
 637   3                              }
 638   2                          _bSearchMode=SEARCH_IDLE;
 639   2                      break;
 640   2              case S_STATE_CHK_VIDEO:
 641   2                      if (_bSearchCnt>0)
 642   2                      {
 643   3                              --_bSearchCnt;
 644   3                          
 645   3                        if (_bSearchCnt==0)
 646   3                           {
 647   4                               _bSearchPercent = 0;
 648   4                        #ifdef MARTIN_MODIFY_AUTO_SCAN
 649   4                            _bLockStatus = bTV_PLL_Read();
 650   4                            if(_bLockStatus==0x7c )
 651   4                            {
 652   5                            bVideoCheck=0x01; 
 653   5                           //   DataOut[9] = 0x01;    
 654   5                             }
 655   4                              else
 656   4                                      {
 657   5                                       bVideoCheck=0x00;      
 658   5                              //    DataOut[9] = 0x00;        
 659   5                                      }
 660   4                          #endif                       
 661   4                               _bSearchState = S_STATE_IDLE;
 662   4                              #ifdef MARTIN_MCU_AND_DVD_PROTOCOL
 663   4                               DataOutValid=0; //martin 09May08
 664   4                              #endif                  
 665   4      
 666   4                           }
 667   3                         else  if (_bSearchCnt<=100)
 668   3                           {
 669   4                           #ifdef MARTIN_MODIFY_AUTO_SCAN
 670   4                           if(ShadowDvdInfo[2]==0x01)   //stop check video  martin 12May08
 671   4                              #else 
                              if (DvdRxBuf[COMDVD_BYTE-1]==0)
C51 COMPILER V8.05a   TV                                                                   07/03/2008 18:27:39 PAGE 12  

                                      #endif
 674   4                      {
 675   5                              mMuteDisable();
 676   5                                      _bSearchPercent = _bSearchCnt = 0;
 677   5                                      _bSearchState = S_STATE_IDLE;
 678   5                      }       
 679   4                        Delay1ms(10);
 680   4                           }
 681   3                           else
 682   3                           {
 683   4                        Delay1ms(10);
 684   4                           }   
 685   3                      }
 686   2                    break;
 687   2              case S_STATE_SET:
 688   2                              #ifdef ENABLE_PRINTF   //03Jul08
                                       printf("STATE_SET  is ok\n"); 
                                      #endif
 691   2                    _bSearchVerifyCnt = 0;
 692   2                      _fgTvIsSearch = 1;
 693   2                     mMuteEnable();
 694   2                      if (dir == UP_SEARCH)
 695   2                      {
 696   3                      #ifndef MARTIN_MODIFY_AUTO_SCAN  //martin 12May08
                                  _sTunerPLL.wDB += 0x10;
                              #endif  
 699   3                      //  if (_sTunerPLL.wDB>UHF_TOP)
 700   3                         if ((_sTunerPLL.wDB>UHF_TOP)||(bTvTotalCh==0x63))
 701   3                        {
 702   4                              fgTvSearchState=0;
 703   4                                        
 704   4                           #ifdef MARTIN_MODIFY_AUTO_SCAN
 705   4                              if (bTvTotalCh>0)         
 706   4                              {       
 707   5                              if(_bSearchMode ==  SEARCH_SCAN)
 708   5                                      {
 709   6                              bTvCurrChIndex=0x01;
 710   6                              WriteE2prom(TV_TOTAL_CH_POS,&bTvTotalCh,1);       //07Jun08        
 711   6                            //        WriteE2prom(TV_LAST_CH_POS,&bTvCurrChIndex,1);
 712   6                                                                  
 713   6                                  WriteE2prom(TV_LAST_CH_POS,&bTvCurrChIndex,1);
 714   6                                      }
 715   5                                       _bSearchState = S_STATE_ABORT; //martin 12May08
 716   5                               }

⌨️ 快捷键说明

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