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

📄 tvtuner.c

📁 OSD 学习学习.天天向上.STUDY STUDY DAY DAY UP.
💻 C
📖 第 1 页 / 共 2 页
字号:
			Player_Power_On_Off();
			if(_IR_key==IR_TV_SEARCH||_IR_key==IR_TV_POWER||_VFD_Key==IR_TV_POWER) {
				cur_ch_num=first_valid_ch;
				Proc_Key_Tv_Search_Return();
					return;
				}
	}
	timer1_counter=0;
	f_timer_2s=0;
	while(f_timer_2s==0);
	cur_ch_num=first_valid_ch;
	Send_CR_Set(0);
	Clear_All_Osd();
	Sub_Set_Channel();
	DelayMs(100);DelayMs(100);
	PIN_MUTE1=0;//MUTE OFFF
	PIN_MUTE2=0;//MUTE OFF
	
	return;
}
//***************************************************************************************

void Sub_Display_Searching_bar(unsigned char band_flag,unsigned char searching_num)
{
	unsigned char temp_num=0;
	unsigned char temp0;
	if(band_flag==1)
	{
		if(searching_num%4==0)
			M35055_Display_a_char(SEARCHING_BAR_START_POS+searching_num/4,OSD_HYPHEN2);
		else if(searching_num%4==2)
			M35055_Display_a_char(SEARCHING_BAR_START_POS+searching_num/4,OSD_HYPHEN3);
	//***********************************************************		
		temp0=hex2bcd[2+searching_num];
		M35055_Display_a_char(SEARCHING_NUM_POS-2,num_digit[(temp0>>4)&0x0f]);
		M35055_Display_a_char(SEARCHING_NUM_POS-1,num_digit[temp0&0x0f]);	
		
	}
	else if(band_flag==2)
	{
		if((searching_num+VHF_L_BAND_LENGTH)%4==0)
			M35055_Display_a_char(SEARCHING_BAR_START_POS+(searching_num+VHF_L_BAND_LENGTH)/4,OSD_HYPHEN2);
		else if((searching_num+VHF_L_BAND_LENGTH)%4==2)
			M35055_Display_a_char(SEARCHING_BAR_START_POS+(searching_num+VHF_L_BAND_LENGTH)/4,OSD_HYPHEN3);
		//***********************************************************		
		temp0=hex2bcd[2+searching_num+VHF_L_BAND_LENGTH];
		M35055_Display_a_char(SEARCHING_NUM_POS-2,num_digit[(temp0>>4)&0x0f]);
		M35055_Display_a_char(SEARCHING_NUM_POS-1,num_digit[temp0&0x0f]);		
	}
	else if(band_flag==3)
	{
		if((searching_num+VHF_L_BAND_LENGTH+VHF_H_BAND_LENGTH)%4==0)
			M35055_Display_a_char(SEARCHING_BAR_START_POS+(searching_num+VHF_L_BAND_LENGTH+VHF_H_BAND_LENGTH)/4,OSD_HYPHEN2);
		else if((searching_num+VHF_L_BAND_LENGTH+VHF_H_BAND_LENGTH)%4==2)
			M35055_Display_a_char(SEARCHING_BAR_START_POS+(searching_num+VHF_L_BAND_LENGTH+VHF_H_BAND_LENGTH)/4,OSD_HYPHEN3);
		//***********************************************************		
		temp0=hex2bcd[2+searching_num+VHF_L_BAND_LENGTH+VHF_H_BAND_LENGTH];
		if((2+searching_num+VHF_L_BAND_LENGTH+VHF_H_BAND_LENGTH)<70)
		{
		M35055_Display_a_char(SEARCHING_NUM_POS-2,num_digit[(temp0>>4)&0x0f]);
		M35055_Display_a_char(SEARCHING_NUM_POS-1,num_digit[temp0&0x0f]);		
		}
	}
}
//***************************************************************************************
void Sub_Display_Searching_num(unsigned char band_flag)
{
		unsigned char temp0=0;
		if(band_flag==0)
			temp0=0;
		if(band_flag==1)
			temp0=hex2bcd[vhfl_ch_num];
		if(band_flag==2)
			temp0=hex2bcd[vhfh_ch_num];
		if(band_flag==3)
			temp0=hex2bcd[uhf_ch_num];
		M35055_Display_a_char(SEARCHING_NUM_POS-2,num_digit[(temp0>>4)&0x0f]);
		M35055_Display_a_char(SEARCHING_NUM_POS-1,num_digit[temp0&0x0f]);
		temp0=hex2bcd[total_ch_num];
		M35055_Display_a_char(SEARCHING_NUM_POS,0x1f); // '/'
		M35055_Display_a_char(SEARCHING_NUM_POS+1,num_digit[(temp0>>4)&0x0f]);
		M35055_Display_a_char(SEARCHING_NUM_POS+2,num_digit[temp0&0x0f]);

}
//***************************************************************************************
void Sub_Set_Channel()
{
	unsigned char temp0;
	unsigned char input_ch_freq;
	Write24c02(&cur_ch_num,CURRENT_CHANNEL_NUM_ADDR,1);
	Read24c02(&input_ch_freq,cur_ch_num+FIRST_CHANNEL_FREQ,1);
	PIN_MUTE1=1;//MUTE ON
	if(cur_ch_num<VHF_L_BAND_LENGTH)
	{
		Write_Tv_tune(Wireless_Tv_channel_tbl[input_ch_freq],0);
	}
	else	if(cur_ch_num>=VHF_L_BAND_LENGTH&&cur_ch_num<(VHF_H_BAND_LENGTH+VHF_L_BAND_LENGTH))
	
		Write_Tv_tune(Wireless_Tv_channel_tbl[input_ch_freq],1);
	else
		Write_Tv_tune(Wireless_Tv_channel_tbl[input_ch_freq],2);

//*********************************************************		
		temp0=hex2bcd[cur_ch_num+1];
		M35055_Display_a_char(CHANNEL_NUM1_POS,num_digit[(temp0>>4)&0x0f]);
		M35055_Display_a_char(CHANNEL_NUM0_POS,num_digit[temp0&0x0f]);
//*********************************************************	
	DelayMs(100);DelayMs(100); // DELAY FOR MUTE
	PIN_MUTE1=0;//MUTE OFF
	f_osd_ch_displaying=1;
	f_timer_2s_ch=0;
	timer1_counter_ch=0;
	
		
}
void Proc_Key_Next_Ch()
{
 unsigned char i,valid_channel;	
 	
	for(i=cur_ch_num+1;i<TOTAL_BAND_LENGTH;i++)
	{
		Read24c02(&valid_channel,FIRST_CHANNEL_FREQ+i,1);
		if(valid_channel!=0){break;}
	}
	if(valid_channel==0)
	{
		for(i=0;i<cur_ch_num;i++)
		{
		Read24c02(&valid_channel,FIRST_CHANNEL_FREQ+i,1);
		if(valid_channel!=0){break;}
		}
	}
	if(valid_channel!=0)	cur_ch_num=valid_channel;
	Send_CR_Set(0);	
	Sub_Set_Channel();	
	
}
//***************************************************************************************
void Proc_Key_Prev_Ch()
{
 char i,valid_channel;	
	for(i=cur_ch_num-1;i>-1;i--)
	{
		Read24c02(&valid_channel,FIRST_CHANNEL_FREQ+i,1);
		if(valid_channel!=0){break;}
	}
	if(valid_channel==0)
	{
		for(i=TOTAL_BAND_LENGTH-1;i>cur_ch_num;i--)
		{
		Read24c02(&valid_channel,FIRST_CHANNEL_FREQ+i,1);
		if(valid_channel!=0){break;}
		}
	}
	if(valid_channel!=0)	cur_ch_num=valid_channel;
	Send_CR_Set(0);	
	Sub_Set_Channel();	
	
}
//***************************************************************************************
unsigned char  Proc_Digit_Input_Tv_Channel()
{
	unsigned char set_channel_num=0;
	unsigned char i;
	unsigned char valid_channel;
	set_channel_num=Channel_Num.num0+Channel_Num.num1*10; //+Channel_Num.num2*100;
	if(Channel_Num.num0>9||Channel_Num.num1>9)//||Channel_Num.num2>9)
		return 0;
	else if(set_channel_num<2)
		return 1;
	
	for(i=0;i<TOTAL_BAND_LENGTH;i++)
	{
	 	Read24c02(&valid_channel,FIRST_CHANNEL_FREQ+i,1);
	 	if(valid_channel==set_channel_num-1)break;
	 }	
	 if(valid_channel!=set_channel_num-1)	
	 	{Send_CR_Set(1);PIN_MUTE2=1;}
	 else
	 	{Send_CR_Set(0);PIN_MUTE2=0;}
	cur_ch_num=set_channel_num-1;	
	Sub_Set_Channel();	
	return 1;	
}
//***************************************************************************************
void Proc_Key_Tv_Menu()
{
	unsigned char temp0;
if(Display_Mode!=DISPLAY_MODE1_MENU)
{	
	Display_Mode=DISPLAY_MODE1_MENU;
	Send_CR_Set(1);
	Clear_All_Osd();
//DISPLAY TOTAL NUM	
	Read24c02(&temp0,TOTAL_CHANNEL_NUM_ADDR,1);
			
	M35055_Display_line(1,DISP_OSD_MENU_HEAD);
	M35055_Display_line(2,DISP_OSD_TOTAL_BAND);
	if(temp0>99)
	{
		M35055_Display_a_char(CHANNEL_MENU_NUM_POS1,num_digit[1]);
		temp0-=100;
		temp0=hex2bcd[temp0];
		M35055_Display_a_char(CHANNEL_MENU_NUM_POS1+1,num_digit[(temp0>>4)&0x0f]);
		M35055_Display_a_char(CHANNEL_MENU_NUM_POS1+2,num_digit[temp0&0x0f]);
	}	
	else	
	{
		temp0=hex2bcd[temp0];
		M35055_Display_a_char(CHANNEL_MENU_NUM_POS1,num_digit[0]);
		M35055_Display_a_char(CHANNEL_MENU_NUM_POS1+1,num_digit[(temp0>>4)&0x0f]);
		M35055_Display_a_char(CHANNEL_MENU_NUM_POS1+2,num_digit[temp0&0x0f]);
	}	
//DISPLAY CURR NUM	
	temp0=0;
	Read24c02(&temp0,CURRENT_CHANNEL_NUM_ADDR,1);
	M35055_Display_line(3,DISP_OSD_CURR_BAND);
	if(temp0>99)
	{
		
		M35055_Display_a_char(CHANNEL_MENU_NUM_POS2,num_digit[1]);
		temp0-=100;
		temp0=hex2bcd[temp0];
		M35055_Display_a_char(CHANNEL_MENU_NUM_POS2+1,num_digit[(temp0>>4)&0x0f]);
		M35055_Display_a_char(CHANNEL_MENU_NUM_POS2+2,num_digit[temp0&0x0f]);
	}	
	else	
	{
		temp0=hex2bcd[temp0];
		M35055_Display_a_char(CHANNEL_MENU_NUM_POS2,num_digit[0]);
		M35055_Display_a_char(CHANNEL_MENU_NUM_POS2+1,num_digit[(temp0>>4)&0x0f]);
		M35055_Display_a_char(CHANNEL_MENU_NUM_POS2+2,num_digit[temp0&0x0f]);
	}	
//DISPLAY VHF L  NUM	
	temp0=0;
	Read24c02(&temp0,VHFL_CHANNEL_NUM_ADDR,1);
	M35055_Display_line(4,DISP_OSD_VHF_L);
	if(temp0>99)
	{
		M35055_Display_a_char(CHANNEL_MENU_NUM_POS3,num_digit[1]);
		temp0-=100;
		temp0=hex2bcd[temp0];
		M35055_Display_a_char(CHANNEL_MENU_NUM_POS3+1,num_digit[(temp0>>4)&0x0f]);
		M35055_Display_a_char(CHANNEL_MENU_NUM_POS3+2,num_digit[temp0&0x0f]);
	}	
	else	
	{
		temp0=hex2bcd[temp0];
		M35055_Display_a_char(CHANNEL_MENU_NUM_POS3,num_digit[0]);
		M35055_Display_a_char(CHANNEL_MENU_NUM_POS3+1,num_digit[(temp0>>4)&0x0f]);
		M35055_Display_a_char(CHANNEL_MENU_NUM_POS3+2,num_digit[temp0&0x0f]);
	}		
//DISPLAY VHF H  NUM	
	temp0=0;
	Read24c02(&temp0,VHFH_CHANNEL_NUM_ADDR,1);
	M35055_Display_line(5,DISP_OSD_VHF_H);
	if(temp0>99)
	{
		M35055_Display_a_char(CHANNEL_MENU_NUM_POS4,num_digit[1]);
		temp0-=100;
		temp0=hex2bcd[temp0];
		M35055_Display_a_char(CHANNEL_MENU_NUM_POS4+1,num_digit[(temp0>>4)&0x0f]);
		M35055_Display_a_char(CHANNEL_MENU_NUM_POS4+2,num_digit[temp0&0x0f]);
	}	
	else	
	{
		temp0=hex2bcd[temp0];
		M35055_Display_a_char(CHANNEL_MENU_NUM_POS4,num_digit[0]);
		M35055_Display_a_char(CHANNEL_MENU_NUM_POS4+1,num_digit[(temp0>>4)&0x0f]);
		M35055_Display_a_char(CHANNEL_MENU_NUM_POS4+2,num_digit[temp0&0x0f]);
	}			
//DISPLAY UHF   NUM	
	temp0=0;
	Read24c02(&temp0,UHF_CHANNEL_NUM_ADDR,1);
	M35055_Display_line(6,DISP_OSD_UHF);
	if(temp0>99)
	{
		M35055_Display_a_char(CHANNEL_MENU_NUM_POS5,num_digit[1]);
		temp0-=100;
		temp0=hex2bcd[temp0];
		M35055_Display_a_char(CHANNEL_MENU_NUM_POS5+1,num_digit[(temp0>>4)&0x0f]);
		M35055_Display_a_char(CHANNEL_MENU_NUM_POS5+2,num_digit[temp0&0x0f]);
	}	
	else	
	{
		temp0=hex2bcd[temp0];
		M35055_Display_a_char(CHANNEL_MENU_NUM_POS5,num_digit[0]);
		M35055_Display_a_char(CHANNEL_MENU_NUM_POS5+1,num_digit[(temp0>>4)&0x0f]);
		M35055_Display_a_char(CHANNEL_MENU_NUM_POS5+2,num_digit[temp0&0x0f]);
	}				
}
else if(Display_Mode==DISPLAY_MODE1_MENU)
{
	Display_Mode=DISPLAY_MODE0_OFF;
	Send_CR_Set(0);
	Clear_All_Osd();
}
}

//***************************************************************************************
void Proc_Key_Display()
{
	unsigned char temp0;
	if(Display_Mode==DISPLAY_MODE0_OFF)
	{
		Display_Mode=DISPLAY_MODE2_BAND;
		temp0=hex2bcd[cur_ch_num];
		M35055_Display_a_char(CHANNEL_NUM1_POS-1,num_digit[(temp0>>4)&0x0f]);
		M35055_Display_a_char(CHANNEL_NUM1_POS,num_digit[temp0&0x0f]);
	}	
	else
	{
		Display_Mode=DISPLAY_MODE0_OFF;
		Send_CR_Set(0);
		Clear_All_Osd();
	}
	
}
//***************************************************************************************
void Video_Output_Input_SW()
{
	bit   f_inputvideo_exist=0;
	POWER_RESUME_KEY_PIN=0;
	PIN_MUTE1=1;//MUTE ON
	PIN_MUTE2=1;//MUTE ON
//	U1369_RESET_PIN=1;
	AVSW2=PIN_LOW;
	AVSW1=PIN_HIGH;
//***************************************************	
	timer1_counter=0;
	f_timer_2s=0;
	while(f_timer_2s==0){; if(timer1_counter>60&&TV_VIDEO_EXIST==1)f_inputvideo_exist=1;}
	if(f_inputvideo_exist==1)
	{
		Send_CR_Set(0);
		f_last_videoinput=1;
	}	
	else
	{
		Send_CR_Set(1);
		f_last_videoinput=0;
	}	
//***************************************************			
	DelayMs(100);DelayMs(100);

	PIN_MUTE1=0;//MUTE OFF
	PIN_MUTE2=0;//MUTE OFF
}
//********************************************************
void Video_Output_DVD_SW()
{
	POWER_RESUME_KEY_PIN=1;
	PIN_MUTE1=0;//MUTE ON
	PIN_MUTE2=1;//MUTE ON
	U1369_Reset();
	AVSW1=PIN_LOW;
	DelayMs(100);DelayMs(100);

	PIN_MUTE1=1;//MUTE OFF
	PIN_MUTE2=0;//MUTE OFF
	
}
//********************************************************
void Video_Output_TV_SW()
{
	bit   f_inputvideo_exist=0;
	POWER_RESUME_KEY_PIN=0;
	PIN_MUTE1=1;//MUTE ON
	PIN_MUTE2=1;//MUTE ON
	AVSW2=PIN_HIGH;
	
	//***************************************************	
	timer1_counter=0;
	f_timer_2s=0;
	while(f_timer_2s==0){ if(timer1_counter>60&&TV_VIDEO_EXIST==1)f_inputvideo_exist=1;}
	if(f_inputvideo_exist==1)
	{
		Send_CR_Set(0);
		f_last_videoinput=1;
		PIN_MUTE2=0;//MUTE OFF
	}	
	else
	{
		Send_CR_Set(1);
		f_last_videoinput=0;
	}	
	AVSW1=PIN_HIGH;
//***************************************************	
	DelayMs(100);DelayMs(100);
	PIN_MUTE1=0;//MUTE OFF	
}	
//********************************************************


⌨️ 快捷键说明

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