📄 radio_1.c.bak
字号:
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 + -