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

📄 tv.lst

📁 CS8955控制TV软件。用MCU做模拟电视的控制。
💻 LST
📖 第 1 页 / 共 5 页
字号:
 752   5                                            {
 753   6                                               bFreSetpCnt=0x13;
 754   6                                              }
 755   5                                        else if((bAfcVaule >=0x06)&&(bAfcVaule <0x05))
 756   5                                                {
 757   6                                                 bFreSetpCnt=0x11;
 758   6                                            }
 759   5                                        else
 760   5                                                 bFreSetpCnt=0x11;     
 761   5                                              }
 762   4                                else if((bAfcVaule >= 0x08)&&(bAfcVaule <=0x0f))
 763   4                                        {
 764   5                                          if(bAfcVaule ==0x08)
 765   5                                              { 
 766   6                                                         bFreSetpCnt=0x03;
 767   6                                                 }
 768   5                                      else if((bAfcVaule >= 0x09)&&(bAfcVaule <=0x0a))
 769   5                                              {
 770   6                                                      bFreSetpCnt=0x03;
 771   6                                              }
 772   5                                          else if((bAfcVaule >= 0x0b)&&(bAfcVaule <=0x0c))
 773   5                                              {
 774   6                                                      bFreSetpCnt=0x02;
 775   6                                              }                          
 776   5                                          else
 777   5                                                 bFreSetpCnt=0x01; 
 778   5                                      }
 779   4                                         fgAFCADJState = FREQUENCY_SET_TV;
 780   4                                              break;     
 781   4                                         }
 782   3                                   else
 783   3                                      {
 784   4                                     fgAFCADJState = FREQUENCY_ADJ_IDLE;
 785   4                                      }
 786   3                                        break;
 787   3                                                
 788   3                              }
 789   2                                        
 790   2              case FREQUENCY_SET_TV:
 791   2                        if((bFreSetpCnt>=0x11)&&(bFreSetpCnt<=0x13))
 792   2                           {
 793   3                              _sTunerPLL.wDB+= (bFreSetpCnt & 0x0f);
 794   3                            }
 795   2                       else if((bFreSetpCnt>=0x01)&&(bFreSetpCnt<=0x03))
 796   2                      {
 797   3                             _sTunerPLL.wDB-= (bFreSetpCnt & 0x0f);
C51 COMPILER V8.05a   TV                                                                   01/05/2009 15:57:49 PAGE 14  

 798   3                              }
 799   2                               vTvSearchSetFre();                               
 800   2                         sTvCurrChannel.wFreq=_sTunerPLL.wDB;   
 801   2                        fgAFCTVSyncCnt=3;
 802   2                         fgAFCADJState = FREQUENCY_VIDEO_SYNC;
 803   2                    break;                              
 804   2        
 805   2                default:
 806   2                        break;
 807   2              }
 808   1      
 809   1      }
 810          #else
              void vFreAFCAdj(void)   //29Aug08 BOOL change to void //martin 08Jun08 add
              {
              //BYTE fgAFCWIN;  //02Jul08
                BYTE bAfc; //02Jul08
                BYTE bSetpFerq;
              
               if(mReadDvdDat() !=0 ) 
               {
                 if(fgAFCADJCnt == 0x05)
                  Delay1ms(50);   //Wait DVD video SYNC
                }
              if(!mReadDvdCs())
                       Delay1ms(20);
              if(!mReadDvdCs())
                       Delay1ms(20);
              if(mReadDvdDat() ==0 ) //(fgAFCWIN == 0xc0)
              {
                bTvIfValue=bTV_IF_Read();
               Delay1ms(30);
                btesttvPll=bTvIfValue;
               //  fgAFCWIN=(bTvIfValue & 0xc0);  
                  bAfc=(bTvIfValue >>1) & 0x0f;
              
                if((bAfc >= 0x03)&&(bAfc <=0x07))
                {
                    if(bAfc ==0x07)
                      {
                      bSetpFerq=0x03;
                      }
                    else if((bAfc >=0x06)&&(bAfc <0x05))
                      {
                      bSetpFerq=0x01;
                       }
                    else
                              bSetpFerq=0x01;
                        
                         _sTunerPLL.wDB+= bSetpFerq;
                    
                      sTvCurrChannel.wFreq=_sTunerPLL.wDB;
                      vTvSearchSetFre(); 
                       Delay1ms(50);
                          Delay1ms(50);
                      if(!mReadDvdCs())
                       Delay1ms(20);
                      if(!mReadDvdCs())
                       Delay1ms(20);
                      if(mReadDvdDat() ==0 )
                              {
                        bTvIfValue=bTV_IF_Read();
C51 COMPILER V8.05a   TV                                                                   01/05/2009 15:57:49 PAGE 15  

                              Delay1ms(20);     
                          btesttvPll=bTvIfValue;
                            bAfc=(bTvIfValue >>1) & 0x0f;     
                            if((bAfc !=0x07)&&(bAfc !=0x08))  
                                {
                                if(((bAfc >=0x00)&&(bAfc <=0x02))||(bAfc ==0x0f))  //04Aug08
                                    { fgAFCADJCnt=0x00;} //04Aug08
                                   WriteTVChannel(bTvCurrChIndex,sTvCurrChannel);       
                                }                
                              
                      
                              }               
                      else
                              {
                                   _sTunerPLL.wDB-= bSetpFerq;
                      sTvCurrChannel.wFreq=_sTunerPLL.wDB;
                      vTvSearchSetFre(); 
                              }
                  
                  }
                else  if((bAfc >= 0x08)&&(bAfc <=0x0f))
                  {
                    if(bAfc ==0x08)
                      {
                      bSetpFerq=0x03;
                     //    _sTunerPLL.wDB-= 0x03;
                      }
                    else if((bAfc >= 0x09)&&(bAfc <=0x0a))
                      {
                              bSetpFerq=0x03;
                         //_sTunerPLL.wDB-= 0x03;
                      }
                    else if((bAfc >= 0x0b)&&(bAfc <=0x0c))
                      {
                              bSetpFerq=0x02;
                        // _sTunerPLL.wDB-= 0x02;
                      }         
                    else
                                      bSetpFerq=0x01;
                       _sTunerPLL.wDB-= bSetpFerq;
                    
                      sTvCurrChannel.wFreq=_sTunerPLL.wDB;
                      vTvSearchSetFre(); 
                        Delay1ms(50);
                          Delay1ms(50);
                     if(!mReadDvdCs())
                       Delay1ms(20);
                      if(!mReadDvdCs())
                       Delay1ms(20);    
                      if(mReadDvdDat() ==0 )
                              {
                           bTvIfValue=bTV_IF_Read();
                              Delay1ms(20);            
                                 btesttvPll=bTvIfValue;
                           //fgAFCWIN=(bTvIfValue & 0xc0);  
                             bAfc=(bTvIfValue >>1) & 0x0f;    
                              //if(((bAfc >=00)&&(bAfc <=0x02))||((bAfc >=0x0e)&&(bAfc <=0x0f)))
                              if((bAfc !=0x07)&&(bAfc !=0x08))        
                              {
                              if(((bAfc >=0x00)&&(bAfc <=0x02))||(bAfc ==0x0f))  //04Aug08
                                    { fgAFCADJCnt=0x00;} //04Aug08
                                   WriteTVChannel(bTvCurrChIndex,sTvCurrChannel);       
C51 COMPILER V8.05a   TV                                                                   01/05/2009 15:57:49 PAGE 16  

                              } 
                              }
                              else
                              {
                                   _sTunerPLL.wDB+= bSetpFerq;
                      sTvCurrChannel.wFreq=_sTunerPLL.wDB;
                      vTvSearchSetFre(); 
                              }
                              }               
              
                     }
                      
              //29Aug08        return 1;
              }
              #endif
 937          
 938          
 939          void vTvSetChannel(sChannelList sCh)
 940          {
 941   1          mMuteEnable();
 942   1          _sTunerPLL.wDB = sCh.wFreq;
 943   1          _sTunerPLL.bCB = TUNER_CB1;
 944   1          vTvSetCh();
 945   1          _bSearchState = S_STATE_CHK_VIDEO;   
 946   1          _bSearchCnt = S_TV_VERIFY_TIME;     
 947   1      }
 948          
 949          void vTVSwitchSound()
 950          {
 951   1      //12Sep08      BYTE bData[4];
 952   1          BYTE bTempSystem;
 953   1      sTvCurrChannel = ReadTVChannel(bTvCurrChIndex);
 954   1       Delay1ms(20); 
 955   1       bTempSystem=(sTvCurrChannel.bSystem & 0x07);
 956   1      
 957   1        
 958   1      if(ShadowDvdInfo[1]==KEY_SETUP_SET_MODE)
 959   1      {
 960   2        bTvCurrSound=ShadowDvdInfo[4];
 961   2      }
 962   1      else
 963   1      {
 964   2          if ((++bTvCurrSound)==TV_SOUND_MAX)
 965   2              bTvCurrSound = SV_BG;//TV_SOUND_BG;
 966   2      }
 967   1      
 968   1       sTvCurrChannel.bSystem &= 0xc7;
 969   1      sTvCurrChannel.bSystem |= (bTvCurrSound << 3);
 970   1         vTvSetCh();
 971   1         WriteTVChannel(bTvCurrChIndex,sTvCurrChannel);       
 972   1      
 973   1        
 974   1      }       
 975          
 976          
 977          //EXTERN xdata  BYTE    DenTable[16]={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
 978          
 979          void vTVSearch(BIT dir)
 980          {       
 981   1          WORD  lwTemp; 
 982   1          WORD  wTemp; 
 983   1      // BYTE i,j;    //07Jun08
C51 COMPILER V8.05a   TV                                                                   01/05/2009 15:57:49 PAGE 17  

 984   1      #ifdef MARTIN_SAVE_CHANNEL_READ_ADC
 985   1      BYTE bAdc; //29Aug08
 986   1      BYTE bAfc; //02Jul08
 987   1      #else
              BYTE fgAFCWIN;  //02Jul08
              BYTE bAfc; //02Jul08
              
              #endif
 992   1              
 993   1          switch(_bSearchState)
 994   1          {
 995   2              case S_STATE_IDLE:                      
 996   2            //        _fgTvIsSearch = 0;
 997   2                      #ifdef MARTIN_MODIFY_AUTO_SCAN
 998   2                      //  _bSearchUnLock=0x00; //martin 13May08
 999   2                      #endif
1000   2                      if(_bSearchMode == SEARCH_SEEK)
1001   2                              {                  
1002   3                            bDisplaMode=TV_MENU_TYPE_STILL_DLG;//0x08;
1003   3                              DataOutValid=0;                                                           
1004   3                              }
1005   2                      else if(_bSearchMode == SEARCH_SCAN)

⌨️ 快捷键说明

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