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

📄 main.c

📁 本程序是汽车音响中不可缺少的LCD显示程序
💻 C
📖 第 1 页 / 共 5 页
字号:
    PanelMoveDet();
/* ****************************************************** */
/* *******************   POWER ON  **************************************** */
  if (POWER_ON == 1) {                     /* now power on */
  	
/* *******************   POWER ON  **************************************** */


     if (F_KEY_INP == 1) {
          F_KEY_INP = 0;
          if (g_key_data == NO_KEY) goto common;
          #if MovePanelDet
                    if (PANEL_DET == PANEL_OFF && (g_key_data == M_VOLUP_KEY || g_key_data == M_VOLDWN_KEY)) {
                          goto start;
                    }
          #endif
/***************************************************************************/
          if (g_key_data == STANDBY_KEY) {
              p_beep_on();
              #if SOLING
                       #if LCD788
                                     DISPLAY_CHG = 1;
                                     VFD_processBlank(BLANK_ALL);
                                     LCD_processMessage(SHOW_GOODBYE);
                                     Write_Tuner_LCD();
                       #endif
              #endif
              Delay50ms(40);/*2s*/
              p_standby_set(0);
              POWER_ON = 0;
              goto start;
          }
/********************************************************************************/		  
#if USE_BLUETOOTH
          if(ProcessBlueKey()) goto common;
#endif
/********************************************************************************/          
            if (MUTE_ON == 1) {
                if (Find_Key(Mute_Off_Key)) {
		    NOP();
		}
		else {
 		  if (g_key_data == MUTE_KEY) {
		      p_mute_off();
                      p_input_dsp();
	  	   }
		  goto common;
		}
	    }
	    
          if (system_state == AUX_STATE) {
             if (Find_Key(AUX_Key_Enable)) {
		    NOP();
               } else {
                if(TIME_SET_KEY_ON == 0) {
                   SET_TIME_DISP = 0;
                  if(DISPLAY_CHG)  p_input_dsp();
                }
                goto common;
               }
          }
            if (TIME_SET_KEY_ON) {
                if (Find_Key(Time_Enable_Key)) {
                    goto skip00;
                }
           if (Find_Key(Time_Enable_Key)) {goto skip00;}
                 goto common;
            }

          if (SET_TIME_DISP && g_key_data == TIME_SET_KEY) goto skip00;
          else
              SET_TIME_DISP = 0;
          if(system_state == VCD_STATE) {
              if(Panel_Key == 0) {
                if(g_key_data <= KEY_PLUS10 || g_key_data >= VCD_STOP_KEY && g_key_data <= VCD_MINUS10_KEY){
                   p_beep_on();
                   if(g_key_data > KEY_PLUS10) {
                      g_key_data -= VCD_STOP_KEY;
                      g_key_data += STOP_KEY;
                   }
                   push_transmit_data(KEY_ADR,g_key_data);
                 goto common;
                }
              }
              if (ICON_PAUSE )  {
                 if (Find_Key(PauseKey))   goto skip00;
                 goto common;
              }
              if (g_key_data <= 6) goto skip00;
              if (select_mode != SELECT_MODE_IDLE) goto skip00;
              if (g_key_data == PRESET_KEY)  goto skip00;
          }

           if (Find_Key(SkipKey)) {
               goto skip00;
          }
            volume_select  = 0;
           if(DISPLAY_CHG) {
              DISPLAY_CHG = 0;
              count_time = 0x00;
              p_input_dsp();
           }
skip00:

          switch (g_key_data) {
/* ************************************************************************ */
                     case VCD_PLAY_KEY:
                          if (system_state == VCD_STATE) {
                            p_beep_on();
                            push_transmit_data(KEY_ADR,PLAY_KEY);
                         }
                     break;
                     case VCD_STOP_KEY:
                          if (system_state == VCD_STATE) {
                            p_beep_on();
                            push_transmit_data(KEY_ADR,STOP_KEY);
                         }
                     break;
                     case VCD_FF_KEY:
                          if (system_state == VCD_STATE) {
                            p_beep_on();
                            push_transmit_data(KEY_ADR,FF_KEY);
                         }
                     break;
                     case VCD_FB_KEY:
                          if (system_state == VCD_STATE) {
                            p_beep_on();
                            push_transmit_data(KEY_ADR,FB_KEY);
                         }
                     break;
/* ************************************************************************ */
                     case EJECT_KEY:       /* new */
                           ClearOpDurState();
                           F_LKEY_APT    = 1;
                           F_RKEY_APT    = 1;
                           CHANNEL_STEREO =1;
                           p_beep_on();
                          if (system_state == VCD_STATE) {
                               Panel_Key = 0;
                               push_transmit_data(KEY_ADR,CD_EJECT_KEY);
                               DVD_Eject = 1;
                               break;
                          }
                          if (system_state == VCD_STATE)  break;
                                GetTrayState();
                                 if (IsNodisc()) {
                                  break;
                                 }
                              close_mode ^= 0x01;      /* ^ Toggle Open/Close mode */
                              Access_Tray();
                              if(close_ok) {
                              	pre_system_state = AUX_STATE;
                              	system_state = VCD_STATE;
                              	source_change();
                               }
                              Clear_Resume_Flag = 1;
                              DISPLAY_CHG = 1;
                              count_time = 0x45;
                          break;
/* ************************************************************************ */
/* *************************** key for DTS ******************************** */
/* ************************************************************************ */
/* ************************************************************************ */
                     case UP_KEY:
                          if (system_state == VCD_STATE
                          ) {
                             p_beep_on();
                             push_transmit_data(KEY_ADR,NEXT_KEY);
                             break;
                          }
                          if (system_state != TUNER_STATE)  break;
                          break;
/* ************************************************************************ */
		     case DOWN_KEY:
                          if (system_state == VCD_STATE
                            ) {
                             push_transmit_data(KEY_ADR,PREV_KEY);
                             p_beep_on();
                             break;
                          }
                          if (system_state != TUNER_STATE)  break;
                         /***************************************/
                          break;
/* ************************************************************************ */
		     case BAND_KEY:
                            p_beep_on();
                          if (system_state == VCD_STATE) {
                             /*if (Panel_Key) {*/
                                push_transmit_data(KEY_ADR,TV_MODE_KEY);
                                Panel_Key = 0;
                             /*}*/
                             break;
                          }
                          if (system_state != TUNER_STATE)  break;
                          break;
/* ************************************************************************ */
                     case STEREO_KEY:
                            p_beep_on();
                          if (system_state == VCD_STATE) {
                             push_transmit_data(KEY_ADR,AUDIO_KEY);
                            break;
                          }
                          if (system_state != TUNER_STATE)  break;
                          break;
                     case LOUD_KEY:
                            p_beep_on();
                            LoudKey_Hit = 0;
                            LoudKey_On = 0;
                            LOUD_ON ^= 0x01;
                            avswitch_set();
                            p_eqloud_dsp();
                          break;
/* ************************************************************************ */
                     case TIME_SET_KEY:
                          F_RKEY_APT = 1;         /* continue key flag */
           	          F_LKEY_APT = 1;            /* continue key flag */
                          if (TIME_SET_KEY_ON) {
                             p_beep_on();
                             F_RKEY_APT = 0;
            	             F_LKEY_APT = 0;            /* continue key flag */
                             DSPL_ReturnTo_Normal = 0;
                             if (CHANGE_TIME_STATE) {
                                 CHANGE_TIME_STATE = 0;
                                 TIME_SET_KEY_ON = 0;
                                 second = 0;
                                 SET_TIME_DISP = 1;
                             }
                             else {
                                 CHANGE_TIME_STATE = 1;
                                 SET_TIME_DISP = 0;
                                 vol_timer = 0;
                                 Sel_Time_Set = SEL_HOUR;
                             }
                          } else {
                             if (SET_TIME_DISP == 0) {
                                 p_beep_on();
                                 DISPLAY_CHG = 1;
                                 SET_TIME_DISP = 1;
                                 half_second = 10;
                             } else {
                                F_RKEY_APT = 1;         /* continue key flag */
              	                F_LKEY_APT = 1;            /* continue key flag */
                                count_time = 0;
                                DSPL_ReturnTo_Normal = 1;
                                disp_time();
                                break;
                             }
                          }
                          DISPLAY_CHG = 1;
                          disp_time();
                          count_time = 0x00;
                          F_TIME_INP =1;
                          break;
/* *********************************************************************** */
		     case KEY_1:
		     case KEY_2:
		     case KEY_3:
		     case KEY_4:
		     case KEY_5:
		     case KEY_6:
                          if (system_state == VCD_STATE) {
                              Panel_Key = 0;
                              g_key_data = VcdDigitTbl[g_key_data];
                              push_transmit_data(KEY_ADR,g_key_data);
                              p_beep_on();
                              break;
                          }
                          if (system_state != TUNER_STATE)  break;
                          break;
/* ************************************************************************* */
                     case MODE_KEY:
                          p_beep_on();
                          if (TIME_SET_KEY_ON) {
                             if (Sel_Time_Set == SEL_HOUR) {
                                Sel_Time_Set = SEL_MIN;
                             }
                             else {
                                Sel_Time_Set = SEL_HOUR;
                             }
                             vol_timer = 0;
                             count_time = 0x00;
                             break;
                          }
                          vol_timer = 40;
                          F_VOL_INP = 1;
                          break;
/* *********************************************************************** */
                     case M_VOLUP_KEY:
                	  F_RKEY_APT = 1;         /* continue key flag */
                          F_LKEY_APT = 1;            /* continue key flag */
                         /***************************************/
             /* *********************************************************** */
            //   MAIN_VOLUME          0
            //   BASS_VOL             1
            //   TREBLE_VOL           2
            //   SPEAKER_BAL          3
            //   SPEAKER_FAD          4
            /* *********************************************************  */
            /* ************************************************************* */
                          adjust_volume();
			  break;
		     case M_VOLDWN_KEY:
                	  F_RKEY_APT = 1;         /* continue key flag */
                          F_LKEY_APT = 1;            /* continue key flag */
                         /***************************************/
                          adjust_volume();
			  break;

/* *********************************************************************** */
		    case  MUTE_KEY:     /* new */
			  MUTE_ON = 1;
                          DISPLAY_CHG = 1;
                          p_beep_on();
                          VFD_processBlank(BLANK_ALL);
                          LCD_processMessage(SHOW_MUTE);
                          VFD_clear_lite_anode(_SEG_MUTE,1);
                          count_time = 0x00;
                          half_second  = 4;
                          MUTE_SET;  /* mute on */
                          Delay1ms(100);
                          TDA7313_Mute();
                          if(system_state == VCD_STATE)
                            push_transmit_data(KEY_ADR,MUTE_ON_KEY);
                          break;
/* ********************************************************************** */
                    case  LOCAL_KEY:
                            p_beep_on();
                         if(system_state == VCD_STATE) {
                             if(Panel_Key == 0) {
                                push_transmit_data(KEY_ADR,RDM_KEY);
                             }
                              break;
                          }  /* CD STATE */
                          if (system_state != TUNER_STATE) break;
                          break;
                    case  PRESET_KEY:
                          if (system_state != TUNER_STATE)   break;
                          break;
                    case  EQ_MODE_KEY:

                          p_beep_on();
                          ++eq_mode;
                          if (eq_mode > EQ_MAX) {
                             eq_mode = 0;
                          }
                          Resume_Volume_Data();
                          volume_select = MAIN_VOLUME;
#if LCD5988
                          EqMessageDsp();
                          p_eqloud_dsp();
#else
                          p_eqloud_dsp();
#endif
                          break;
                    case  SOURCE_KEY:
                          ClearOpDurState();
                          StopTray();
                           p_beep_on();
                           SOURCE_KEY_ON  = 0;
                           pre_system_state = system_state;
                          ++system_state;
                           save_vcd_time(1);
                           /* ******************* */
                          if (system_state == VCD_STATE) {
                            if (IsNodisc()) {
                               ++ system_state;

⌨️ 快捷键说明

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