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

📄 radio_tuner.c

📁 一款车载DVD的车机源程序(正在生成中的哦)
💻 C
📖 第 1 页 / 共 2 页
字号:
							ClrBit(Radio_tuner_flag,Search_full_mode);
							Force_to_M1_channel();
							}
          				}
				}
			break;
	}
}
/****************************************************************
Function:
****************************************************************/
void Tuner_IFok(void)
{
	switch(CurrentBand)
	{
	case AM_BAND:
 		if(RADIO_SD_HIGH )
		if( ((RadioOutData & 0xfffff) < (AM_IFFREQ + AM_IFFREQ_MARGIN)) &&
			((RadioOutData & 0xfffff) >( AM_IFFREQ - AM_IFFREQ_MARGIN)))
			SetBit(Radio_tuner_flag,IFOK_flag);	//bIFOK = 1;
       		break;

	default:
       	if(RADIO_SD_HIGH )
       	if( ((RadioOutData & 0xfffff) <(FM_IFFREQ + FM_IFFREQ_MARGIN)) &&
			((RadioOutData & 0xfffff) >( FM_IFFREQ - FM_IFFREQ_MARGIN)))
             		SetBit(Radio_tuner_flag,IFOK_flag);	//bIFOK = 1;
       	break;
       	}
}
/******************************************************************
Function:
******************************************************************/
void Radio_tuner(void)
{
	if(System_mode != Radio_mode)
		return;
	if(!ValBit(Radio_tuner_flag,AutoSearchOK_flag) && (TunerSearchStates==TUNER_SEARCH_RUN))
		Tuner_autosearch();
}
				
void Radio_tuner_search_key_process(void)
{
	if(ValBit(Radio_tuner_flag,AutoSearchOK_flag))
		{
		ClrBit(Radio_tuner_flag,AutoSearchOK_flag);	//Start to search 
		asm	nop;
		TunerSearchStates= TUNER_SEARCH_RUN;
		AutoSearchStep = AUTOSRCH_STEP0;
		ClrBit(Radio_tuner_flag,IFOK_flag);
		High_light_current_function_item_picture();
		System_mute_on();
		}
	else
		{
		asm	nop;
		SetBit(Radio_tuner_flag,AutoSearchOK_flag);	//Stop to search	
		TunerSearchStates= TUNER_SEARCH_NONE;
		Default_light_current_function_item_picture();
		System_mute_off();
		}
	AutoSearchStep = AUTOSRCH_STEP0;
}

void Radio_search_next_process(void)
{
	System_mute_on();
	
	Item_function_on_check_hight_default_light_item();
	if(ChannelNum < 29)
		{
		ChannelNum++;
		Radio_channel_high_light_cnt++;
		if(Radio_channel_high_light_cnt >5 )
			Radio_channel_high_light_cnt = 0;
		}
	else
		{
		ChannelNum = 0;
		Radio_channel_high_light_cnt = 0;
		}
	Radio_channel_list_cnt = ChannelNum/6;

	if(TunerType==TUNER_TYPE_AM)
		{
		AMfreq =AM_frequence_list[ChannelNum];
		RadioIn1Data = (RadioIn1Data & 0xff0000) |(((AMfreq + 10710)  /AM_freq_step) << 4 );
		}
	else
		{
		FMfreq = FM_frequence_list[ChannelNum];
		RadioIn1Data = (RadioIn1Data & 0xff0000) |((FMfreq+1070) / 5);
		}
	Send_data_to_ccb(LC72131_IN1_ADDR, RadioIn1Data, 24);
	Unmute_bo2port();

	System_mute_off();
}

void Radio_search_previous_process(void)
{
	System_mute_on();
	
	Item_function_on_check_hight_default_light_item();
	if(ChannelNum != 0)
		{
		ChannelNum--;
		Radio_channel_high_light_cnt--;
		if(Radio_channel_high_light_cnt < 0 )
			Radio_channel_high_light_cnt = 5;
		}
	else
		{
		ChannelNum = 29;
		Radio_channel_high_light_cnt = 5;
		}
	Radio_channel_list_cnt = ChannelNum/6;

	if(TunerType==TUNER_TYPE_AM)
		{
		AMfreq =AM_frequence_list[ChannelNum];
		RadioIn1Data = (RadioIn1Data & 0xff0000) |(((AMfreq + 10710)  /AM_freq_step) << 4 );
		}
	else
		{
		FMfreq = FM_frequence_list[ChannelNum];
		RadioIn1Data = (RadioIn1Data & 0xff0000) |((FMfreq+1070) / 5);
		}
	Send_data_to_ccb(LC72131_IN1_ADDR, RadioIn1Data, 24);
	Unmute_bo2port();
	
	System_mute_off();
}

void Switch_FM_AM(void)
{
	System_mute_on();
	
	SetBit(Radio_tuner_flag,AutoSearchOK_flag);	//Stop to search
		
	Item_function_on_check_hight_default_light_item();

	if(CurrentBand == AM_BAND)
		{
		CurrentBand = FM_BAND;
		TunerType = TUNER_TYPE_FM;
		}
	else
		{
		CurrentBand = AM_BAND;
		TunerType = TUNER_TYPE_AM;
		}
	Init_lc72131();
	WAIT_100ms();
	WAIT_100ms();
	
	System_mute_off();
}

void Force_to_full_search_mode(void)
{
	System_mute_on();
	
	High_light_current_function_item_picture();
	
	if(TunerType==TUNER_TYPE_AM)
		{
		AMfreq =AMFREQ_MIN;
		RadioIn1Data = (RadioIn1Data & 0xff0000) |(((AMfreq + 10710)  /AM_freq_step) << 4 );
		}
	else
		{
		FMfreq = FMFREQ_MIN;
		RadioIn1Data = (RadioIn1Data & 0xff0000) |((FMfreq+1070) / 5);
		}
	Send_data_to_ccb(LC72131_IN1_ADDR, RadioIn1Data, 24);
	Unmute_bo2port();
	
	SetBit(Radio_tuner_flag,AutoSearchOK_flag);
	SetBit(Radio_tuner_flag,Search_full_mode);
	SetBit(System_flag,bSearchDir);	//From the min to them max(8750~1080)
	ChannelNum = 0;

	System_mute_off();
}


void Force_to_M1_channel(void)
{
	System_mute_on();
	
	ClrBit(Radio_tuner_flag,Search_full_mode);	//Now search mode is one channel search mode
	Radio_channel_high_light_cnt = 0;
	ChannelNum = Radio_channel_list_cnt*6 + Radio_channel_high_light_cnt;

	if(TunerType==TUNER_TYPE_AM)
		{
		AMfreq =AM_frequence_list[Radio_channel_list_cnt *6];
		RadioIn1Data = (RadioIn1Data & 0xff0000) |(((AMfreq + 10710)  /AM_freq_step) << 4 );
		}
	else
		{
		FMfreq = FM_frequence_list[Radio_channel_list_cnt *6];
		RadioIn1Data = (RadioIn1Data & 0xff0000) |((FMfreq+1070) / 5);
		}
	Send_data_to_ccb(LC72131_IN1_ADDR, RadioIn1Data, 24);
	Unmute_bo2port();

	System_mute_off();
}

void Force_to_M2_channel(void)
{
	System_mute_on();
	
	ClrBit(Radio_tuner_flag,Search_full_mode);	//Now search mode is one channel search mode
	Radio_channel_high_light_cnt = 1;
	ChannelNum = Radio_channel_list_cnt*6 + Radio_channel_high_light_cnt;
	
	if(TunerType==TUNER_TYPE_AM)
		{
		AMfreq =AM_frequence_list[Radio_channel_list_cnt *6+1];
		RadioIn1Data = (RadioIn1Data & 0xff0000) |(((AMfreq + 10710)  /AM_freq_step) << 4 );
		}
	else
		{
		FMfreq = FM_frequence_list[Radio_channel_list_cnt *6+1];
		RadioIn1Data = (RadioIn1Data & 0xff0000) |((FMfreq+1070) / 5);
		}
	Send_data_to_ccb(LC72131_IN1_ADDR, RadioIn1Data, 24);
	Unmute_bo2port();

	System_mute_off();
}

void Force_to_M3_channel(void)
{
	System_mute_on();
	
	ClrBit(Radio_tuner_flag,Search_full_mode);	//Now search mode is one channel search mode
	Radio_channel_high_light_cnt = 2;
	ChannelNum = Radio_channel_list_cnt*6 + Radio_channel_high_light_cnt;
	
	if(TunerType==TUNER_TYPE_AM)
		{
		AMfreq =AM_frequence_list[Radio_channel_list_cnt *6+2];
		RadioIn1Data = (RadioIn1Data & 0xff0000) |(((AMfreq + 10710)  /AM_freq_step) << 4 );
		}
	else
		{
		FMfreq = FM_frequence_list[Radio_channel_list_cnt *6+2];
		RadioIn1Data = (RadioIn1Data & 0xff0000) |((FMfreq+1070) / 5);
		}
	Send_data_to_ccb(LC72131_IN1_ADDR, RadioIn1Data, 24);
	Unmute_bo2port();

	System_mute_off();
}

void Force_to_M4_channel(void)
{
	System_mute_on();
	
	ClrBit(Radio_tuner_flag,Search_full_mode);	//Now search mode is one channel search mode
	Radio_channel_high_light_cnt = 3;
	ChannelNum = Radio_channel_list_cnt*6 + Radio_channel_high_light_cnt;
	
	if(TunerType==TUNER_TYPE_AM)
		{
		AMfreq =AM_frequence_list[Radio_channel_list_cnt *6+3];
		RadioIn1Data = (RadioIn1Data & 0xff0000) |(((AMfreq + 10710)  /AM_freq_step) << 4 );
		}
	else
		{
		FMfreq = FM_frequence_list[Radio_channel_list_cnt *6+3];
		RadioIn1Data = (RadioIn1Data & 0xff0000) |((FMfreq+1070) / 5);
		}
	Send_data_to_ccb(LC72131_IN1_ADDR, RadioIn1Data, 24);
	Unmute_bo2port();

	System_mute_off();
}

void Force_to_M5_channel(void)
{
	System_mute_on();
	
	ClrBit(Radio_tuner_flag,Search_full_mode);	//Now search mode is one channel search mode
	Radio_channel_high_light_cnt = 4;
	ChannelNum = Radio_channel_list_cnt*6 + Radio_channel_high_light_cnt;
	
	if(TunerType==TUNER_TYPE_AM)
		{
		AMfreq =AM_frequence_list[Radio_channel_list_cnt *6+4];
		RadioIn1Data = (RadioIn1Data & 0xff0000) |(((AMfreq + 10710)  /AM_freq_step) << 4 );
		}
	else
		{
		FMfreq = FM_frequence_list[Radio_channel_list_cnt *6+4];
		RadioIn1Data = (RadioIn1Data & 0xff0000) |((FMfreq+1070) / 5);
		}
	Send_data_to_ccb(LC72131_IN1_ADDR, RadioIn1Data, 24);
	Unmute_bo2port();

	System_mute_off();
}

void Force_to_M6_channel(void)
{
	System_mute_on();
	
	ClrBit(Radio_tuner_flag,Search_full_mode);	//Now search mode is one channel search mode
	Radio_channel_high_light_cnt = 5;
	ChannelNum = Radio_channel_list_cnt*6 + Radio_channel_high_light_cnt;
	
	if(TunerType==TUNER_TYPE_AM)
		{
		AMfreq =AM_frequence_list[Radio_channel_list_cnt *6+5];
		RadioIn1Data = (RadioIn1Data & 0xff0000) |(((AMfreq + 10710)  /AM_freq_step) << 4 );
		}
	else
		{
		FMfreq = FM_frequence_list[Radio_channel_list_cnt *6+5];
		RadioIn1Data = (RadioIn1Data & 0xff0000) |((FMfreq+1070) / 5);
		}
	Send_data_to_ccb(LC72131_IN1_ADDR, RadioIn1Data, 24);
	Unmute_bo2port();

	System_mute_off();
}












⌨️ 快捷键说明

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