📄 tv.lst
字号:
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 + -