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

📄 radio_1.c.bak

📁 ROHM 公司BU9432:application:应用范围
💻 BAK
📖 第 1 页 / 共 5 页
字号:
	return;
}


void Preset_No_Off( void )
{
	CPU_LCD_SDR0 &= B00010000;
	CPU_LCD_SDR1 &= B11011111;						// PGM icon Off
	CPU_LCD_SDR2 &= B00010000;
	CPU_LCD_SDR3 &= B00010000;
	return;
}


void Preset_No_On( void )
{
	volatile UINT08 i;

	CPU_LCD_SDR0 &= B00010000;
	CPU_LCD_SDR0 |= B00101111;							// "P"

	i = u08_rno / 10;
	CPU_LCD_SDR2 &= B00010000;
	CPU_LCD_SDR2 |= Tbl_DISP_NUM[i];

	i = u08_rno % 10;
	CPU_LCD_SDR3 &= B00010000;
	CPU_LCD_SDR3 |= Tbl_DISP_NUM[i];
	return;
}

void Prog_Preset_On( void )
{
	if( ( u08h_dts_df & B00000010 ) == 0)
	{
		CPU_LCD_SDR0 &= B00010000;
		CPU_LCD_SDR0 |= B00101111;			// "P"

		CPU_LCD_SDR2 &= B00010000;
		CPU_LCD_SDR2 |= B00000100;			// "-"

		CPU_LCD_SDR3 &= B00010000;
		CPU_LCD_SDR3 |= B00000100;			// "-"
	}
	else
	{
		Preset_No_On(  );
	}
	return;
}

void DrvLCD_Clr_On( void )
{
	if(gu08_kind_tuner!=3)
	{
		Preset_No_Off(  );
		DrvLCD_Freq_Off(  );
		CPU_LCD_SDR0 |= B10001011;				//"C"
		CPU_LCD_SDR2 = B10001010;				//"L"
		CPU_LCD_SDR3 = B00001100;				//"r"
	}
	else
	{
		DrvLED_Clr_On();
	}
	
	return;
}

void AM_Freq_On( void )
{
	CPU_LCD_SDR0 &= B11101111;				// Clr ST icon
	CPU_LCD_SDR8 &= B00010000;
	CPU_LCD_SDR8 |= B01101111;				// "A"
	CPU_LCD_SDR9 &= B00010000;
	CPU_LCD_SDR9 |= B01111010;				// "M"

	gu32Work.l = divuw( u16_sd_freq, 1000 );
	CPU_LCD_SDR4 &= B00010000;
	if( gu32Work.w.l != 0 )
	{
		CPU_LCD_SDR4 |= Tbl_DISP_NUM[gu32Work.w.l];
	}

	gu32Work.l = divuw( gu32Work.w.h, 100 );
	CPU_LCD_SDR5 &= B00010000;
	CPU_LCD_SDR5 |= Tbl_DISP_NUM[gu32Work.w.l];

	gu32Work.l = divuw( gu32Work.w.h, 10 );
	CPU_LCD_SDR6 &= B00010000;
	CPU_LCD_SDR6 |= Tbl_DISP_NUM[gu32Work.w.l];

	CPU_LCD_SDR7 &= B00010000;
	CPU_LCD_SDR7 |= Tbl_DISP_NUM[gu32Work.w.h];

//	CPU_LCD_SDR1 |= B00000001;				// TUNE
	CPU_LCD_SDR7 |= B00010000;				// KHz
	return;
}



void FM_Freq_On( void )
{
	if( ( ( u08h_tu_stat[1] & TU_STAT_AM1 )  == 0 ) && ( u08h_tuner_scc == 0 ) &&  ( ( CPU_SIO0_PIODR & B00000001 ) == 0 ) )
	{	// FM  &&  not searching  &&  ST_DET pin is low
		CPU_LCD_SDR0 |= B00010000;				// On ST icon
	}
	else
	{
		CPU_LCD_SDR0 &= B11101111;				// Clr ST icon
	}
	CPU_LCD_SDR8 &= B00010000;
	CPU_LCD_SDR8 |= B00001111;				// "F"
	CPU_LCD_SDR9 &= B00010000;
	CPU_LCD_SDR9 |= B01111010;				// "M"


	gu32Work.l = divuw( u16_sd_freq, 10000 );
	if( gu32Work.w.l == 0 )
	{
		CPU_LCD_SDR6 &= B11101111;
	}
	else
	{
		CPU_LCD_SDR6 |= B00010000;
	}

	gu32Work.l = divuw( gu32Work.w.h, 1000 );
	CPU_LCD_SDR4 &= B00010000;
	CPU_LCD_SDR4 |= Tbl_DISP_NUM[gu32Work.w.l];

	gu32Work.l = divuw( gu32Work.w.h, 100 );
	CPU_LCD_SDR5 &= B00010000;
	CPU_LCD_SDR5 |= Tbl_DISP_NUM[gu32Work.w.l];

	gu32Work.l = divuw( gu32Work.w.h, 10 );
	CPU_LCD_SDR6 &= B00010000;
	CPU_LCD_SDR6 |= Tbl_DISP_NUM[gu32Work.w.l];

	CPU_LCD_SDR7 &= B00010000;
	CPU_LCD_SDR7 |= Tbl_DISP_NUM[gu32Work.w.h];

//	CPU_LCD_SDR1 |= B00000001;				// TUNE
	CPU_LCD_SDR8 |= B00010000;				// . MHz
	return;
}



//==============================================
//	key action jump routine	for radio mode
//----------------------------------------------
// [IN]	: a store the key code
// [OUT]	: --
// R use : a,b,c,d,e,h,l
//==============================================

void Que_Cont_Radio( void )
{
	if(gu08_kind_VolCtrl==VOL_DIG)UserCtrl_Key_AudioEffect( 0 );

//	if( u08h_tuner_scc == TU_INIT_WAIT )
//		return;
	
	switch ( gu08_KeyBuffer )
	{

		case KEY_AUX:
			if( gu08_kind_Power )
				break;
		case KEY_AUX_ON:
//			gu16_timer_delay=DISP_DELAY_TIME;
			Radio_Amute_Sens_On(  );
			gu08_timer_SetVolume = 0;
			gu08_now_mode = 3;
			Save_Eeprom(  );
			Stdby_Port_Init(  );
			break;

//		case KEY_TAPE:
		case KEY_MP3:
			if( gu08_kind_Power )
				break;
		case KEY_MP3_ON:
//			gu16_timer_delay=DISP_DELAY_TIME;
			Radio_Amute_Sens_On(  );
			gu08_timer_SetVolume = 0;
			gu08_now_mode = 4;
			Save_Eeprom(  );
			Stdby_Port_Init(  );
			break;

//		case KEY_CLKSET:
//			DrvLCD_AllNumber_Off();
//			ClkSet_Disp();
//			UserCtrl_ClkSet();		
//			break;

		case KEY_FUNC:
			if(gu08_kind_Power)
				break;
			gu16_timer_delay=DISP_DELAY_TIME;
		 	CPU_PWM_PIO_DR&=~B00000001;			//Amute on			
			gu08_now_mode=gu08_now_mode+2;
			gu08_power_df=1;
			Save_Eeprom(  );							//060210
			Stdby_Port_Init(  );							//060210
			
//			gu08_mode_disp=0;
			break;


		case KEY_ALM1:	
			gu16_timer_delay=DISP_DELAY_TIME;
//			gu08_mode_disp=0;			
			UserCtrl_Alm1Set();
			break ;

		case KEY_ALM2:	
			gu16_timer_delay=DISP_DELAY_TIME;
//			gu08_mode_disp=0;	
			UserCtrl_Alm2Set();
			break ;

		case KEY_ALM1_ON:
//			gu16_timer_delay=DISP_DELAY_TIME;
//			gu08_mode_disp=0;	
			gu08_alm1_df=2;
			gu08_flg_24halm1=1;					//060207
			break;

		case KEY_ALM1_OFF:
//			gu16_timer_delay=DISP_DELAY_TIME;
//			gu08_mode_disp=0;	
			gu08_alm1_df=0;
			break;

		case KEY_ALM1_SET:
			gu16_timer_delay=DISP_DELAY_TIME;
//			gu08_mode_disp=0;	
	 		gu08_alm1_df=1;
			break;

		case KEY_ALM2_ON:
//			gu16_timer_delay=DISP_DELAY_TIME;
//			gu08_mode_disp=0;	
			gu08_alm2_df=2;
			gu08_flg_24halm2=1;					//060207
			break;

		case KEY_ALM2_OFF:
//			gu16_timer_delay=DISP_DELAY_TIME;
//			gu08_mode_disp=0;	
			gu08_alm2_df=0;
			break;

		case KEY_ALM2_SET:
			gu16_timer_delay=DISP_DELAY_TIME;
//			gu08_mode_disp=0;	
			gu08_alm2_df=1;
			break;					

		case KEY_SLEEP:
			gu16_timer_delay=DISP_DELAY_TIME;
//			gu08_mode_disp=0;
			gu16_timer_SetSleep=3000/10;
			gu08_sts_Sleep=1;
			UserCtrl_SleepSet();
			break;

		case KEY_DIR_UP:
		case KEY_DIR_DOWN:
			gu16_timer_delay=DISP_DELAY_TIME;
//			gu08_mode_disp=0;			
			Que_Radio_Preset(  );
			gu08_flg_pst=1;
			break;


		case KEY_STOP:
			gu16_timer_delay=DISP_DELAY_TIME;
//			gu08_mode_disp=0;
			if((gu08_mode_alm1)||(gu08_mode_alm2))
			{
/*				if(gu08_mode_alm1==1)
				{
					gu08_mode_alm1=0;
					gu08_flg_24halm1=0;
					gu16_timer_24halm1=60000/10;
				}

				if(gu08_mode_alm2==1)
				{
					gu08_mode_alm2=0;
					gu08_flg_24halm2=0;
					gu16_timer_24halm2=60000/10;
				}	*/
				Alarm_Stop();
			}
			else
			{
				gu08_timer_SetVolume = 0;
				if ( ( u08h_dts_df & B00001000 ) != 0 )
				{
					u08h_dts_df = 0x00;						// Clear PROG mode
					Preset_No_Off(  );
				}
			}		
			break;

		case KEY_SNOOZE:
//			gu16_timer_delay=DISP_DELAY_TIME;
			if((gu08_mode_alm1==1)||(gu08_mode_alm2==1))
				{
				UserCtrl_Snooze();
				if(gu08_buz_sel==BUZ_MUSIC)POWER_Off();
				}
			else
				{
				UserCtrl_DispChange();		
				}
			break;


/*		case KEY_FF:
		case KEY_FR:
			gu08_mode_disp=0;		
			
			gu08_timer_SetVolume = 0;
			if ( ( u08h_dts_df & B00001000 ) == 0 )
			{
				u08h_dts_df &= B11111110;
			}
			u08h_tuner_scc = 0x00;
			u08_lp_start = 0;
			u08_mono = 0;
			Radio_Amute_Sens_On(  );
			break;


		case KEY_FF_SKIP:
		case KEY_FR_SKIP:
			gu08_mode_disp=0;		
			
			if ( ( u08h_dts_df & B00001000 ) == 0 )
			{
				u08h_dts_df &= B11111110;
			}
			if ( gu08_KeyBuffer == KEY_FF_SKIP )
			{
				u08h_tuner_scc = 0x02;
			}
			else
			{
				u08h_tuner_scc = 0x03;
			}
			break;


		case KEY_FF_SEARCH:
		case KEY_FR_SEARCH:
			gu08_mode_disp=0;		
			
			if ( ( u08h_dts_df & B00001000 ) == 0 )
			{
				u08h_dts_df &= B11111110;
			}
			if ( gu08_KeyBuffer == KEY_FF_SEARCH )
			{
				u08h_tuner_scc = 0x04;
			}
			else
			{
				u08h_tuner_scc = 0x05;
			}
			break;


		case KEY_FF_SEARCH_REL:
		case KEY_FR_SEARCH_REL:
			gu08_mode_disp=0;		
			
			if ( ( u08h_dts_df & B00001000 ) == 0 )
			{
				u08h_dts_df &= B11111110;
			}
			if ( gu08_KeyBuffer == KEY_FF_SEARCH_REL )
			{
				u08h_tuner_scc = 0x08;
			}
			else
			{
				u08h_tuner_scc = 0x09;
			}
			break;									*/		//no alarm

		case KEY_FF:
//		case KEY_FF_SEARCH:
			gu16_timer_delay=DISP_DELAY_TIME;
			gu08_flg_pst=0;
//			gu08_mode_disp=0;
//			switch(gu08_clkset_df)
//				{
//				case 1:
//					UserCtrl_ClkHourSet();
//				break;
					
//				case 0:
//				case 2:
					if((gu08_alm1_df!=1)&&(gu08_alm2_df!=1))
						{
							gu08_timer_SetVolume = 0;
							if ( ( u08h_dts_df & B00001000 ) == 0 )
								{
								u08h_dts_df &= B11111110;
								}
							u08h_tuner_scc = 0x00;
							u08_lp_start = 0;
							u08_mono = 0;
							Radio_Amute_Sens_On(  );	
						}
					else	
						{
						switch(gu08_alm1_df)
							{
							case 0:
							case 2:
								break;
								
							case 1:
								UserCtrl_Alm1HourSet();
								break;
							}
						switch(gu08_alm2_df)
							{
							case 0:
							case 2:
								break;

							case 1:
								UserCtrl_Alm2HourSet();
								break;
							}	
						
						}
				break;	
//				}
//			break;

	
		case KEY_FR:
//		case KEY_FR_SEARCH:
			gu16_timer_delay=DISP_DELAY_TIME;
			gu08_flg_pst=0;
//			switch(gu08_clkset_df)
//				{
//				case 1:
//					UserCtrl_ClkMinSet();
//				break;
					
//				case 0:
//				case 2:
					if((gu08_alm1_df!=1)&&(gu08_alm2_df!=1))
						{
						gu08_timer_SetVolume = 0;
						if ( ( u08h_dts_df & B00001000 ) == 0 )
							{
							u08h_dts_df &= B11111110;
							}
						u08h_tuner_scc = 0x00;
						u08_lp_start = 0;
						u08_mono = 0;
						Radio_Amute_Sens_On(  );	
						}
					else	
						{
						switch(gu08_alm1_df)
							{
							case 0:
							case 2:
								break;
								
							case 1:
								UserCtrl_Alm1MinSet();
								break;
							}
						switch(gu08_alm2_df)
							{
							case 0:
							case 2:
								break;

							case 1:
								UserCtrl_Alm2MinSet();
								break;
							}	

						}
				break;	
//				}
//			break;


		case KEY_FF_SKIP:
		case KEY_FR_SKIP:
//			gu16_timer_delay=DISP_DELAY_TIME;
//			if((gu08_alm1_df!=1)&&(gu08_alm2_df!=1)&&(gu08_sleep_df!=1)&&(gu08_clkset_df!=1))
			if((gu08_alm1_df!=1)&&(gu08_alm2_df!=1))
			{
				if ( ( u08h_dts_df & B00001000 ) == 0 )
					{
					u08h_dts_df &= B11111110;
					}
				if ( gu08_KeyBuffer == KEY_FF_SKIP )
					{
					u08h_tuner_scc = 0x02;
					}
				else
					{
					u08h_tuner_scc = 0x03;
					}
			}
			break;




//		case KEY_FF:
		case KEY_FF_SEARCH:
//			gu16_timer_delay=DISP_DELAY_TIME;
//			switch(gu08_clkset_df)
//				{
//				case 1:
//					UserCtrl_ClkHourSet();
//				break;
					
//				case 0:
//				case 2:
					if((gu08_alm1_df!=1)&&(gu08_alm2_df!=1))
					{
					if ( ( u08h_dts_df & B00001000 ) == 0 )
						{
						u08h_dts_df &= B11111110;
						}
					if ( gu08_KeyBuffer == KEY_FF_SEARCH )
						{
						u08h_tuner_scc = 0x04;
						}
					else
						{
						u08h_tuner_scc = 0x05;
						}
					}
					else	
						{
						switch(gu08_alm1_df)
							{
							case 0:
							case 2:
								break;
								
							case 1:
								UserCtrl_Alm1HourSet();
								break;
							}
						switch(gu08_alm2_df)
							{
							case 0:
							case 2:
								break;

							case 1:
								UserCtrl_Alm2HourSet();
								break;
							}	
								
						}
				break;	
//				}
//			break;
			

//		case KEY_FR:
		case KEY_FR_SEARCH:
//			gu16_timer_delay=DISP_DELAY_TIME;
//			gu08_mode_disp=0;			
//			switch(gu08_clkset_df)
//				{
//				case 1:
//					UserCtrl_ClkMinSet();
//				break;
					
//				case 0:
//				case 2:
					if((gu08_alm1_df!=1)&&(gu08_alm2_df!=1))
					{
						if ( ( u08h_dts_df & B00001000 ) == 0 )
							{
							u08h_dts_df &= B11111110;
							}
						if ( gu08_KeyBuffer == KEY_FF_SEARCH )
							{
							u08h_tuner_scc = 0x04;
							}
						else
							{
							u08h_tuner_scc = 0x05;
							}
					}

					else	
						{
						switch(gu08_alm1_df)
							{
							case 0:
							case 2:
								break;
								
							case 1:
								UserCtrl_Alm1MinSet();
								break;
							}
						switch(gu08_alm2_df)
							{
							case 0:
							case 2:
								break;

							case 1:
								UserCtrl_Alm2MinSet();
								break;
							}	

						}
				break;	
//				}
//			break;


		case KEY_FF_SEARCH_REL:
		case KEY_FR_SEARCH_REL:
//			gu16_timer_delay=DISP_DELAY_TIME;
//			gu08_mode_disp=0;			
//			if((gu08_alm1_df!=1)&&(gu08_alm2_df!=1)&&(gu08_sleep_df!=1)&&(gu08_clkset_df!=1))			
			if((gu08_alm1_df!=1)&&(gu08_alm2_df!=1))			
			{
			if ( ( u08h_dts_df & B00001000 ) == 0 )
			{
				u08h_dts_df &= B11111110;
			}
			if ( gu08_KeyBuffer == KEY_FF_SEARCH_REL )
			{
				u08h_tuner_scc = 0x08;
			}
			else
			{

⌨️ 快捷键说明

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