📄 main.c
字号:
}
} /* VCD STATE */
/* ******************* */
if (system_state > AUX_STATE) system_state = VCD_STATE;
save_vcd_time(1);
#if PLAY_DVD
if(pre_system_state == VCD_STATE) {
send_powerkey_to_dvd();
}
#endif
source_change();
if (system_state != VCD_STATE) {
MUTE_CLR; /* line mute off */
Delay50ms(2); /* delay 100ms */
}
break;
case KEY_CLK:
#if SIOTEST
for(;;)
SIO_IO_sendbyte();
#endif
break;
default:
break;
} /* switch(g_key_data) end */
NOP();
} /* vaild key pressed process end (F_KEY_INP = 1) */
/* ****************** no key pressed process F_KEY_INP = 0 *************** */
common:
/* *************************************************************** */
/* *************** if necessary transmit data to vcd side ******** */
if (system_state == VCD_STATE) {
if (transmit_data_ptr != 0 && VCD_STBIN == 1) {
if (send1word_to_vcd(transmit_data_stack[0])) {
for (ii=1;ii<=transmit_data_ptr-1;++ii) {
transmit_data_stack[ii-1] = transmit_data_stack[ii];
}
transmit_data_stack[transmit_data_ptr-1] = 0x0000;
--transmit_data_ptr;
}
}
}
p_volume_display();
if (F_VOL_INP) {
if (MUTE_ON == 1) {
p_mute_off(); /* exit mute state */
}
DISPLAY_CHG = 1;
SET_TIME_DISP = 0;
count_time = 0x00;
VFD_processBlank(BLANK_ALL);
tda7313_send_data1();
F_VOL_INP = 0;
}
/******************TIME STATE ******************************/
Display_Time();
/******************PAUSE STATE ******************************/
/*********************************************************/
/*********************************************************/
if(MUTE_ON) {
count_time = 0x00;
DISPLAY_CHG = 1;
if (flash_timer == 0) {
flash_timer = 10;
VFD_processBlank(BLANK_ALL);
}
if (flash_timer == 5) {
VFD_processBlank(BLANK_ALL);
if(MUTE_ON) temp = SHOW_MUTE;
LCD_processMessage(temp);
}
}
if (DISPLAY_CHG == 1) {
unsigned char Max = 50;
#if USE_BLUETOOTH
if(SetBlueDisplay) Max = 100;
#endif
if (count_time >= Max) {
if (MUTE_ON) {
count_time =0x00;
}
else {
Clear_Adjust_Time();
DISPLAY_CHG = 0;
p_input_dsp();
}
}
#if USE_BLUETOOTH
SetBlueDisplay = 0;
#endif
}
/*********************************************************/
if (POWER_FAILURE == 0) update_lcd_ram();
/* *******************Mute Cancel ************************* */
if (Mute_timer == 0) {
if (Mute_Cancel == 0) {
if (AUTO_SCAN == 0 && MUTE_ON == 0) {
MUTE_CLR;
Mute_Cancel = 1;
}
}
}
/*********************************************************/
/*********************************************************/
} /* power on mode process end */
/* ********************************************************************* */
/**************** power off ******************************************** */
else { /* power off process, if need */
if(StandbyState == 0) {
Display_Time();
if(Refresh_Lcd) Write_Tuner_LCD();
}
if (F_KEY_INP == 1) {
F_KEY_INP = 0;
if (g_key_data == STANDBY_KEY) {
POWER_ON = 1;
p_standby_clr();
}
}
}
goto start;
}
/* ************************ subroutine program area *********************** */
/* ************************************************************************ */
void tda7313_send_data1(void)
{
temp = Vol_Ms_Tbl[volume_select];
LCD_processMessage(temp);
switch(volume_select) {
case MAIN_VOLUME:
process_volume_select(main_volume_data,MAIN_VOLUME);
LCD_process7Segments(VOL_SEG,main_volume_data);
#if !AX6013
if(system_state == VCD_STATE)
push_transmit_data(MAIN_VOL,main_volume_data);
#endif
break;
default:
break;
}
return;
}
void Send_4ch_Data(void)
{
TDA7313_send_data(0x80);
TDA7313_send_data(0xa0);
TDA7313_send_data(0xc0);
TDA7313_send_data(0xe0);
process_volume_select(main_volume_data,MAIN_VOLUME);
return;
}
void process_bass(unsigned char B1)
{
#if 1
if (eq_mode == 0) {
temp_data = bass_treble_data[B1];
if (volume_select == BASS_VOL)
temp_data |=0x60;
else
temp_data |=0x70;
TDA7313_send_data(temp_data);
} else {
B1 = EqDataBass_tbl[eq_mode];
TDA7313_send_data(B1); /* bass */
B1 = EqDataTreble_tbl[eq_mode];
TDA7313_send_data(B1); /* treble */
}
#endif
return;
}
void process_volume_select(unsigned char B1,unsigned char C1)
{
B1 = Volume_Data_Tbl[B1];
TDA7313_send_data(B1);
return;
}
void adjust_volume(void) {
unsigned char *temp_ptr;
unsigned char ij,temp1;
vol_timer = 40;
temp_ptr = mainvol + 1; /* temp_ptr = &main_volume_data */
temp_ptr += volume_select;
if (g_key_data == M_VOLUP_KEY) {
++(*temp_ptr);
ij = Vol_Tbl[volume_select];
if (*temp_ptr >= ij) *temp_ptr = ij;
}
if (g_key_data == M_VOLDWN_KEY) {
--(*temp_ptr);
if (*temp_ptr == 0xff) *temp_ptr = 0;
}
F_VOL_INP = 1;
}
void TDA7313_Mute(void) {
TDA7313_send_data(0x9f); /* Mute volume IC */
TDA7313_send_data(0xbf);
TDA7313_send_data(0xdf);
TDA7313_send_data(0xff);
return;
}
void process_volume_init(void)
{
main_volume_data = 10;
bal_ptr = 7;
fad_ptr = 7;
bass_volume_data = 7;
treble_volume_data = 7;
volume_select = 0; /* main_volume */
return;
}
void Light_Icon(const unsigned int *DEW1)
{
i = 1;
for(;;) {
temp_16 = *DEW1;
++DEW1;
if (temp_16 == Icon_End) {
if(i==1) {
i = 0;
continue;
} else {
break;
}
}
VFD_clear_lite_anode(temp_16,i);
}; /*end for */
return;
}
void set_lcd_char(unsigned char B1,unsigned int WA1)
{
#if LC75817
unsigned char c1;
unsigned char c2,i1;
c2=(unsigned char)(WA1);
i1=0;
while(lc75817_char[i1].en!=c2){i1++;}
if (system_state == VCD_STATE && DISPLAY_CHG == 0 || Write_VCD_Buff) {
for(c1=0;c1<6;c1++){
vcd_lcdbuff[(unsigned char)(B1*6+c1)]=lc75817_char[i1].LCD_zhi[c1];}
}else {
for(c1=0;c1<6;c1++){
ShadowRam[(unsigned char)(B1*6+c1)]=lc75817_char[i1].LCD_zhi[c1];}
}
return;
#else
temp_16 = WA1;
B1 = (unsigned char) (B1*MAX_SEG);
ptr = (unsigned int *) (VFD_char_segments + B1);
VFD_set_char(ptr, temp_16);
return;
#endif
}
/* ************************************************************************ */
void ClearOpDurState(void)
{
unsigned char seekflag = 0;
if(MUTE_ON) {
p_mute_off();
}
Clear_Adjust_Time();
DISPLAY_CHG = 0;
return;
}
void ClearVcdOpDurState(void)
{
if(MUTE_ON) {
p_mute_off();
}
Clear_Adjust_Time();
DISPLAY_CHG = 0;
return;
}
void source_change(void) { /* new */
ClearOpDurState();
MUTE_SET; /* line mute on */
Delay1ms(100);
avswitch_set();
clear_vcd_lcd_mark();
HaltCommunication();
#if USE_BLUETOOTH
BlueToothOn = 0;
bBlueToothOn = 0;
#endif
if (system_state == VCD_STATE) {
#if 1
GetTrayState();
if(TrayState != CLOSEOK) {
close_mode = 1;
Access_Tray();
}
#endif
RADIO_POWER_OFF; /* turn off radio power */
VFD_processBlank(BLANK_ALL);
LCD_processMessage(SHOW_CLOSE);
VFD_spin_wheel(2);
p_eqloud_dsp();
Write_VCD_LCD();
MP3Reset_Output;
ResetCount = 0;
MP3_reset = 0;
Delay50ms(1);/*50ms*/
VCD_POWER_ON; /* turn on CD power */
set_tv_mode();
Resume_VCD_Share_Flag =1;
transmitpaneldet = 1;
set_sio_receive();
EF4 = 1; /* interrupt int4 enable */
EF13 = 1; /* interrupt SIO enable */
Mcu_Mute = 1;
} else {
VCD_POWER_OFF; /* turn off CD power */
RADIO_POWER_OFF; /* turn off radio power */
MP3Reset_Input;
Delay1ms(100);
p_input_dsp();
Write_Tuner_LCD();
}
avswitch_set();
lcd_refresh_state = LCD_REFRESH_COMMON;
#if USE_BLUETOOTH
ReadBlueId = 0;
DialNumberSend = 0;
#endif
return;
}
/* ************************************************************************ */
void p_standby_clr(void) {
MAIN_POWER_ON;
MUTE_SET; /* mute on */
Delay1ms(50);
LCD_state_init(0);
Blank_AllBuff();
flag_set();
GetTrayState();
#if BACK_LIGHT
BACK_LIGHT_ON;
#endif
if(system_state == VCD_STATE) {
GetTrayState();
if(TrayState == FULLOPEN) system_state = AUX_STATE;
}
source_change();
if (main_volume_data >= 20) main_volume_data = 20;
Resume_Volume_Data();
POWER_IC_ON;
GetTrayState();
BTrayState = TrayState;
GetTrayState();
BTrayState = TrayState;
if (system_state != VCD_STATE) {
Mute_timer = 10; /* 1s */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -