亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? tuner.c

?? 此代碼是LG tuner(模擬電視解調器)的51MCU驅動程序
?? C
?? 第 1 頁 / 共 2 頁
字號:
			}			
			
		if((AFC<3||AFC>0x0c)&&VIF_Level())
			{
				i = EAD_TV_START + ChannelNUM*CH_IN_EAD;
				//EEPROM_Wr_Byte(i,TV_CHDEF_STATE);
				EEPROM_Wr_Byte(i,PB>>8);
				EEPROM_Wr_Byte(i+1,PB&0xff);
				ChannelNUM++;
				EEPROM_Wr_Byte(EAD_TV_CHANNEL_SUM,ChannelNUM-1);
				EEPROM_Wr_Byte(EAD_TV_CHANNEL_CURRENT,ChannelNUM);
				PB+=60;
				break;
			}
		}
		Print_PLL(8, VIDEO_BAR_VStart+1, PB);
		Show_Menu();
		//Print_CH(24, 1, ChannelNUM);
		//PB+=60;
	}
	while(PB<=TV_BAND_VU_HLIMIT);

	EEPROM_Wr_Byte(EAD_TV_CHANNEL_CURRENT,0);
	EEPROM_Wr_Byte(EAD_TV_CHANNEL_LAST,0);
	if(ChannelNUM == 0)
		{
			GetBand(TV_BAND_VL_LLIMIT);
			Write_PLL(PLL_Band, TV_BAND_VL_LLIMIT);
			PB = TV_BAND_VL_LLIMIT;
			//EEPROM_Wr_Byte(EAD_TV_START,TV_CHDEF_STATE);
			EEPROM_Wr_Byte(EAD_TV_START,PB>>8);
			EEPROM_Wr_Byte(EAD_TV_START+1,PB&0xff);
			EEPROM_Wr_Byte(EAD_TV_CHANNEL_SUM,0);
		}
			
	i = EAD_TV_START ;
	Channel_WORD.CH_B[0] = EEPROM_Rd_Byte(i);
	Channel_WORD.CH_B[1] = EEPROM_Rd_Byte(i+1);
	GetBand(Channel_WORD.CH_W);
	Write_PLL(PLL_Band, Channel_WORD.CH_W);
	PB = Channel_WORD.CH_W;
	ResetOSD();
	//Print_CH(24, 1, 0);
	//if(bMute == 0)
		byM230_DA3 = EEPROM_Rd_Byte(EAD_VOL);
	
	Print_PLL(8, VIDEO_BAR_VStart+1, PB);
}
			
	
	
void Forward_50KHZ(BYTE n)
{
	PB+=n;
	GetBand(PB);
	Write_PLL(PLL_Band,PB);
	DelayTuner(5*n);
}

void Back_50KHZ(BYTE n)
{
	PB-=n;
	GetBand(PB);
	Write_PLL(PLL_Band,PB);
	DelayTuner(5*n);
}

void Get_HSYNC(void)
{
	if(byM230_HCNTH&0x80)
		H_Count = 0;
	else
		H_Count = (byM230_HCNTH&0x3f)*256+byM230_HCNTL;
}
	
void HSYNC_Range(void)		//Range is 12K~~18K
{
	NOSign = 1;
	Get_HSYNC();
	if(H_Count>0x1BC7&&H_Count<0x29AA)	//	if(H_Count>0x1000&&H_Count<0x4000)
		NOSign = 0;
}

void HSYNC_Range2(void)		//Range is 12K~~18K
{
	NOSign = 1;
	Get_HSYNC();
	if(H_Count>0x1f40&&H_Count<0x2155)	//	if(H_Count>0x1BC7&&H_Count<0x29AA)
		NOSign = 0;
}
	
void Tuner_ADC(void)
{
	IICRead(SlvTuner,0x00,1);
	TunerADC = IICBuf.ByteArray[0]&0x07;
}

BYTE Tuner_AFC(void)
{
	BYTE AFC;
	IICRead(TUNER_IF,0x00,1);
	AFC = (IICBuf.ByteArray[0]&0x1e)>>1;
	return	AFC;
}
	
BIT	VIF_Level(void)
{
	BIT VIF = 0;
	IICRead(TUNER_IF,0x00,1);
	if(IICBuf.ByteArray[0]&0x40)
		VIF = 1;
	return	VIF;
}

void Print_PLL(BYTE H_Start,BYTE C_Start,WORD pll)
{
	BYTE baiw,shiw,gew,value;
	WORD zhengshu;
	float xiaoshu,frf;
	frf = pll/20.0-PictureIF;
	zhengshu = (WORD)frf;
	xiaoshu = frf-zhengshu;
	
	baiw = zhengshu/100;
	shiw = (zhengshu%100)/10;
	gew = zhengshu%10;
	gotoxy(H_Start,C_Start);
	PrintChar(_f,red,0);
	PrintChar(_p,red,0);
	PrintChar(_COM,red,0);
	if(baiw>9)
		PrintChar(HexTab[baiw%10],red,0);
	else
		PrintChar(HexTab[baiw],red,0);
	
	PrintChar(HexTab[shiw],red,0);
	PrintChar(HexTab[gew],red,0);
	value=(BYTE)(xiaoshu*100);
	shiw = value/10;
	baiw = value%10;
	PrintChar(_DOT,red,0);
	PrintChar(HexTab[shiw],red,0);
	PrintChar(HexTab[baiw],red,0);
	PrintChar(__,red,0);
	PrintChar(_M,red,0);
	PrintChar(_H,red,0);
	PrintChar(_z,red,0);
	
}

void Print_CH(BYTE H_Start,BYTE C_Start,BYTE CH)
{	
	//BYTE i,j;
	gotoxy(H_Start,C_Start);
	PrintChar(_C, green, 0);
	PrintChar(_H, green, 0);
	PrintChar(_COM, green, 0);
	PrintDec(CH, green);
	/*i = CH/100;
	PrintChar(HexTab[i], green, 0);
	i = (CH-i*100)/10;
	j = CH%10;
	PrintChar(HexTab[i], green, 0);
	PrintChar(HexTab[j], green, 0);*/
}

void DelayTuner(BYTE n)
{
	BYTE i,j;
	i=n;
		do{
		j=50;
		do{
		SetWatchDog(4);
		ClearHVflag();//debug 搜臺死機7.30
		}
		while(j--);
		i--;
		ClearHVflag();//debug 搜臺死機7.30
		}
		while(i);
}  

void ClearHVflag(void)
{
	if(byM230_INTFLG!= 0)
		byM230_INTFLG = 0;
}

void Initial_EEPROM_PLL(void)	//initial CHANNEL eeprom 
{
	BYTE i;
	//WORD w_i;
	//w_i=EAD_TV_START;
		for(i=0;i<EEPROM_Rd_Byte(EAD_TV_CHANNEL_SUM);i++)//EEPROM_Rd_Byte(EAD_TV_CHANNEL_SUM)
			{
					EEPROM_Wr_Byte(EAD_TV_START+CH_IN_EAD*i, TV_BAND_VL_LLIMIT>>8);//initial CH eeprom
					EEPROM_Wr_Byte(EAD_TV_START+CH_IN_EAD*i+1, TV_BAND_VL_LLIMIT&0xff);			
			}


}

void CH_PLUS(void)
{

		BYTE i,CH;
		byM230_DA3 = 0;
		CH = EEPROM_Rd_Byte(EAD_TV_CHANNEL_CURRENT);
		EEPROM_Wr_Byte(EAD_TV_CHANNEL_LAST, CH);
		
		if(CH>=0&&CH<EEPROM_Rd_Byte(EAD_TV_CHANNEL_SUM))
			CH++;
		else
			CH = 0;
		EEPROM_Wr_Byte(EAD_TV_CHANNEL_CURRENT, CH);

		i = EAD_TV_START + CH*CH_IN_EAD;
		Channel_WORD.CH_B[0] = EEPROM_Rd_Byte(i);
		Channel_WORD.CH_B[1] = EEPROM_Rd_Byte(i+1);
		GetBand(Channel_WORD.CH_W);
		Write_PLL(PLL_Band, Channel_WORD.CH_W);
		PB = Channel_WORD.CH_W;
		ResetOSD();
		Print_CH(CH_HStart, CH_VStart, CH);
		//if(bMute)
			byM230_DA3 = EEPROM_Rd_Byte(EAD_VOL);
		Print_PLL(8, VIDEO_BAR_VStart+1, PB);

}

void CH_SUB(void)
{
		BYTE i,CH;
		byM230_DA3 = 0;
		CH = EEPROM_Rd_Byte(EAD_TV_CHANNEL_CURRENT);
		EEPROM_Wr_Byte(EAD_TV_CHANNEL_LAST, CH);
		if(CH>0&&CH<=EEPROM_Rd_Byte(EAD_TV_CHANNEL_SUM))
			CH--;	
		else
			CH = EEPROM_Rd_Byte(EAD_TV_CHANNEL_SUM);
		EEPROM_Wr_Byte(EAD_TV_CHANNEL_CURRENT, CH);

		i = EAD_TV_START + CH*CH_IN_EAD;
		Channel_WORD.CH_B[0] = EEPROM_Rd_Byte(i);
		Channel_WORD.CH_B[1] = EEPROM_Rd_Byte(i+1);
		GetBand(Channel_WORD.CH_W);
		Write_PLL(PLL_Band, Channel_WORD.CH_W);
		PB = Channel_WORD.CH_W;
		ResetOSD();
		Print_CH(CH_HStart, CH_VStart, CH);
		//if(bMute)
			byM230_DA3 = EEPROM_Rd_Byte(EAD_VOL);
		Print_PLL(8, VIDEO_BAR_VStart+1, PB);

}

#define TunerBar_Degree			5
#define TunerBar_Length			16
#define TunerBar_Sum_Degree	(TunerBar_Degree*TunerBar_Length)



  void PrintTunerBar(BYTE Cstart, BYTE Rstart)
{
	BYTE color,full,i;
	WORD tempPB,sum_value,value;
	color = TUNER_BAR_Color;
	GetBand(PB);
	gotoxy(Cstart+5,Rstart-1);
	if(PLL_Band == VLF_BAND)
		{
			sum_value = TV_BAND_VL_HLIMIT-TV_BAND_VL_LLIMIT;
			tempPB = PB-TV_BAND_VL_LLIMIT;
			PrintChar(_V, TUNER_BAND_Color, 0);
			PrintChar(_H, TUNER_BAND_Color, 0);
			PrintChar(_F, TUNER_BAND_Color, 0);
			PrintChar(__, TUNER_BAND_Color, 0);
			PrintChar(_L, TUNER_BAND_Color, 0);
		}
	else if(PLL_Band == VHF_BAND)
		{
			sum_value = TV_BAND_VH_HLIMIT-TV_BAND_VH_LLIMIT;
			tempPB = PB-TV_BAND_VH_LLIMIT;
			PrintChar(_V, TUNER_BAND_Color, 0);
			PrintChar(_H, TUNER_BAND_Color, 0);
			PrintChar(_F, TUNER_BAND_Color, 0);
			PrintChar(__, TUNER_BAND_Color, 0);
			PrintChar(_H, TUNER_BAND_Color, 0);
		}
	else if(PLL_Band == UHF_BAND)
		{
			sum_value = TV_BAND_VU_HLIMIT-TV_BAND_VU_LLIMIT;
			tempPB = PB-TV_BAND_VU_LLIMIT;
				PrintChar(__, red, 0);
			PrintChar(_U, TUNER_BAND_Color, 0);
			PrintChar(_H, TUNER_BAND_Color, 0);
			PrintChar(_F, TUNER_BAND_Color, 0);
			PrintChar(__, TUNER_BAND_Color, 0);

		}
	else 
		return;
	
	value = ((float)tempPB/sum_value)*100;

	value = (TunerBar_Sum_Degree*value)/100;
	full = value/TunerBar_Degree;
	
	gotoxy(Cstart,Rstart);
	if(full>= TunerBar_Length)
		{
			for(i=0;i<TunerBar_Length;i++)
				PrintChar(_Tuner_BAR_FULL, color, 1);
			return;
		}

	 /* if( (value==0) && (full==0) )
	   {
	      for(i=0;i<TunerBar_Length;i++)
	      {
	         PrintChar(_Tuner_BAR_EMP, color, 1);
	      }
	      //PrintChar(_BAR_END,color, 0);
	      return;
	   }

	  for(i=0;i<TunerBar_Length;i++)
	   {
	      if(i<full)
	      {
	         PrintChar(_Tuner_BAR_FULL,color, 1);
	      }
	      else if(i==full)
	      {
	         PrintChar(TunerBar_Code[value%TunerBar_Degree],color, 1);
	      }
	      else
	      {
	         PrintChar(_Tuner_BAR_EMP,color, 1);
	      }
	  }*/
	if( value==0)
		for(i = 0;i<TunerBar_Length;i++)
			PrintChar(_Tuner_BAR_EMP, color, 1);
	   else
	   	{
			for(i = 0;i<full;i++)
			PrintChar(_Tuner_BAR_FULL, color, 1);
			PrintChar(TunerBar_Code[value%TunerBar_Degree], color, 1);
			for(i = full+1;i<TunerBar_Length;i++)
			PrintChar(_Tuner_BAR_EMP, color, 1);
	   	}
}


void Get_CH(BYTE CH)
{
	byM230_DA3 = 0;
	if(EEPROM_Rd_Byte(EAD_TV_CHANNEL_CURRENT) != EEPROM_Rd_Byte(EAD_TV_CHANNEL_LAST))
		EEPROM_Wr_Byte(EAD_TV_CHANNEL_LAST, EEPROM_Rd_Byte(EAD_TV_CHANNEL_CURRENT));
	EEPROM_Wr_Byte(EAD_TV_CHANNEL_CURRENT, CH);
	Channel_WORD.CH_B[0] = EEPROM_Rd_Byte(EAD_TV_START+CH*CH_IN_EAD);
	Channel_WORD.CH_B[1] = EEPROM_Rd_Byte(EAD_TV_START+CH*CH_IN_EAD+1);
	GetBand(Channel_WORD.CH_W);
	Write_PLL(PLL_Band, Channel_WORD.CH_W);
	PB = Channel_WORD.CH_W;
	ResetOSD();
	Print_CH(CH_HStart, CH_VStart, CH);
	//if(bMute)
		byM230_DA3 = EEPROM_Rd_Byte(EAD_VOL);
	Print_PLL(8, VIDEO_BAR_VStart+1, PB);
}

void SET_AUDIO(void)
{
	BYTE temp;
	SysFlag2 = EEPROM_Rd_Byte(EAD_SYS_FLAG2);
	temp = SysFlag2&0x03;
	IICBuf.ByteArray[0] = temp|0x0c;
	IICWrite(TUNER_IF,0x02, 1);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕亚洲电影| 99久久国产综合精品麻豆| 亚洲欧美一区二区在线观看| 国产亚洲自拍一区| 精品国产99国产精品| 日韩欧美自拍偷拍| 精品日韩欧美在线| 久久久亚洲高清| 国产人成亚洲第一网站在线播放 | 欧美日韩另类一区| 欧美日本韩国一区| xfplay精品久久| 国产精品美女久久久久久久久| 中文字幕av不卡| 亚洲愉拍自拍另类高清精品| 亚洲高清三级视频| 麻豆成人免费电影| 床上的激情91.| 欧美日韩五月天| 精品乱码亚洲一区二区不卡| 国产精品毛片久久久久久久| 亚洲精品欧美综合四区| 免费在线观看视频一区| 国产一区二区美女诱惑| 日本精品视频一区二区三区| 欧美日韩一区二区三区不卡 | 亚洲三级久久久| 亚洲国产成人av| 国产精品夜夜嗨| 欧美系列日韩一区| 精品理论电影在线| 亚洲免费在线观看| 精彩视频一区二区三区| 不卡高清视频专区| 欧美一区二区三区在线观看| 国产精品灌醉下药二区| 美女视频黄久久| 色婷婷久久综合| 久久综合资源网| 亚洲小说欧美激情另类| 成人污视频在线观看| 精品婷婷伊人一区三区三| 久久久久9999亚洲精品| 偷窥少妇高潮呻吟av久久免费| 国产福利一区在线观看| 欧美一区二区三区四区五区| **性色生活片久久毛片| 国产一区二区美女| 91精品婷婷国产综合久久竹菊| 亚洲欧美一区二区在线观看| 国产一区免费电影| 欧美一区二区视频观看视频| 亚洲一线二线三线视频| 成av人片一区二区| 国产色91在线| 国产乱子伦视频一区二区三区| 欧美片网站yy| 亚洲在线视频一区| 91网站最新地址| 一区二区中文视频| 高清不卡在线观看av| 久久久综合视频| 国内精品伊人久久久久av一坑| 欧美精品久久99| 午夜精品久久久久久久| 91在线视频在线| 亚洲三级久久久| 在线亚洲一区观看| 亚洲电影一区二区三区| 日本精品一区二区三区高清| 亚洲精品日韩一| 欧美中文字幕不卡| 五月综合激情网| 91精品国产aⅴ一区二区| 午夜精品影院在线观看| 欧美男同性恋视频网站| 三级精品在线观看| 日韩一本二本av| 国产麻豆一精品一av一免费 | 亚洲精品大片www| 色妹子一区二区| 一区二区三区91| 在线视频综合导航| 亚洲成人动漫精品| 欧美精品高清视频| 天天综合天天做天天综合| 欧美午夜片在线观看| 免费欧美高清视频| 久久精品人人做| 日本久久电影网| 日韩高清不卡在线| 国产日韩精品一区二区三区| 成人av电影在线播放| 亚洲专区一二三| 精品日韩一区二区| 成人精品一区二区三区四区 | 精品国产亚洲在线| 成人综合在线视频| 亚洲成av人片一区二区三区| 精品国产免费人成电影在线观看四季 | 欧美高清性hdvideosex| 久久爱另类一区二区小说| 久久精品在这里| 欧美日韩中文字幕精品| 国产成人免费视频一区| 亚洲精品欧美二区三区中文字幕| 欧美三级中文字幕| 粉嫩一区二区三区性色av| 一区二区三区日韩欧美| 日韩精品一区二区三区中文不卡| 成人午夜在线免费| 无吗不卡中文字幕| 亚洲欧美综合色| 日韩美女在线视频| 日本韩国一区二区三区| 国产尤物一区二区| 亚洲午夜激情av| 中文字幕成人av| 欧美一区二区三区在线电影| av在线播放不卡| 日韩福利电影在线| 亚洲精品成人天堂一二三| 欧美精品一区二区在线播放| 91精品办公室少妇高潮对白| 国内欧美视频一区二区| 日韩和欧美一区二区三区| 国产精品久久久久一区二区三区| 欧美日韩一区二区三区不卡| eeuss鲁片一区二区三区| 日本不卡高清视频| 亚洲精品一二三四区| 国产精品久久久一本精品| 欧美不卡视频一区| 欧美人成免费网站| 欧美三级视频在线播放| 99re热视频这里只精品| 成人免费av资源| 国产成人福利片| 黄页网站大全一区二区| 婷婷一区二区三区| 一区二区三区四区视频精品免费| 欧美韩国一区二区| 久久人人超碰精品| 欧美成人一区二区三区在线观看| 欧洲人成人精品| av一二三不卡影片| 国产精品 欧美精品| 九九九久久久精品| 精品一区二区影视| 久久精品国产精品青草| 狂野欧美性猛交blacked| 热久久国产精品| 免费欧美高清视频| 狠狠色狠狠色综合系列| 国产一区二区伦理| 丰满放荡岳乱妇91ww| 99国产麻豆精品| 欧美在线制服丝袜| 欧美乱熟臀69xxxxxx| 欧美精品在线视频| 欧美成人性战久久| 精品国产一区二区三区久久影院 | 韩国精品久久久| 久久se精品一区精品二区| 精品无码三级在线观看视频| 国产精品资源站在线| 不卡一区二区在线| 国产乱对白刺激视频不卡| 国产成人免费9x9x人网站视频| 亚洲欧美日韩一区二区三区在线观看| 久久五月婷婷丁香社区| 国产片一区二区| 国产一区二区三区不卡在线观看| 美女视频一区在线观看| 亚洲伦在线观看| 日韩精品乱码免费| 黄色小说综合网站| 91在线国内视频| 欧美一区二区三区在线观看| 2020国产成人综合网| 亚洲免费观看高清完整| 另类小说综合欧美亚洲| 从欧美一区二区三区| 亚洲男人天堂一区| 国产精品人人做人人爽人人添| 中文在线资源观看网站视频免费不卡 | 久久久国际精品| av电影天堂一区二区在线观看| 欧美a级一区二区| voyeur盗摄精品| 亚洲精选在线视频| 性欧美疯狂xxxxbbbb| 国产91精品一区二区麻豆亚洲| 喷白浆一区二区| 91丨porny丨中文| 欧美视频一区在线| 欧美高清在线视频| 免费观看日韩电影| 成人sese在线| 日韩欧美国产一区二区三区|