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

📄 main.c

📁 本程序是汽车音响中不可缺少的LCD显示程序
💻 C
📖 第 1 页 / 共 5 页
字号:
#include	"Io86ch06.h"
#include	<stdlib.h>

#define   PLAY_DVD          1
#define   JUNNAN            0
#define   YIGAO             0
#define   AX6013            0
#define   FBQ               0
#define   BT                0
#define   SOLING            1
#define   NANGCHEN          0
#define   NEWTIMEADJ        1
#define   USE_SENDIR        1
#define  USE_BLUETOOTH      1
#define  DU_KEY             1
#define  key_panel_test     0
#define  lcd_TEST           1
#define  SIOTEST            0

#include   "LCD.H"
#include   "IO.H"
#include   "keydef.h"
#include   "timedef.h"
#if !PLAY_DVD
#include <C:\AVC\PLAY.H>
#endif
  void main(void);
  void Ioport_Init(void);
  void flag_set(void);
  void __interrupt IntTBT(void);
  void __interrupt IntTC1( void );    /* for IR Receive */
  void __interrupt IntTc2(void);
  void __interrupt IntTC3(void);
  void __interrupt IntTc4(void);
  void __interrupt Int0(void);        /* STB */
  void __interrupt Int1(void);        /* ENCODE */
  void __interrupt Int2(void);        /* RDS */
  void __interrupt Int3(void);        /* FOR IR */
  void __interrupt Int5(void);
  void __interrupt IntSIO(void);
  void __interrupt onlyreti(void);
  void __interrupt_n  onlyretn(void);
  void remote_continue(void);
  void source_change(void);
  void source_change1(void);
  void p_mute_off(void),p_eqloud_dsp(void);
  void avswitch_set(void),p_standby_set(unsigned char B1),p_standby_clr(void);
  void init_set(void),option_set(void);
  void key_scan(void),key_data_confirm(void),p_chat_inp(unsigned char *ptr);
  void Key_off_judge(void);
  void New_Key(void);
  void continue_key(void);
/* ************************************************************************ */
/* ************* function prototype declaration for display *************** */
  void p_input_dsp(void);
  void disp_time(void);
  void Display_Time(void);
  void Flash_Lump(void);
  void push_vcd_time(void);
  void disp_volume_ch(unsigned char B1);
  void p_volume_display(void);
  void select_ch_num(unsigned char C1);
  void p_adc_in(unsigned char ADCH);
  void graph_control(void);
  void Flash_Track(void);
  void GetTrayState(void);
  unsigned char ProcessErrorTray(void);
  void Access_Tray(void);
  void DiscDetect(void);
  char IsNodisc(void);
/* ************************************************************************ */
  unsigned char send1word_to_vcd(unsigned int BC1);
  void set_sio_receive(void),set_sio_transmit(void);
  void HaltCommunication(void);
  void push_transmit_data(unsigned char B1,unsigned char C1);
  void Send_Data_To_VCD(void);
  void send_powerkey_to_dvd(void);
/* ************************************************************************ */
  void Delay50ms(unsigned char B1);
  void tda7313_send_data1(void);
  void TDA7313_Mute(void);
  void process_volume_init(void);
  void Resume_Volume_Data(void);
  void process_bass(unsigned char B1);
  void Disp_Bass_Treble(unsigned char B1);
  void process_volume_select(unsigned char B1,unsigned char C1);
  void process_bal_fad_volume(void);
  unsigned char process_data_convert(unsigned char B1);
  void adjust_volume(void);
  void Send_4ch_Data(void);
  void Clear_Adjust_Time(void);
/*********************lcd process ***********/
  unsigned char BcdToHex(unsigned char A1);
  unsigned char HexToBcd(unsigned char A1);
  void p_beep_on(void);
  void LCD_processMessage(unsigned char B1);
  void LCD_process7Segments(unsigned char B1, unsigned char C1);
  void LCD_one_7Segments(unsigned char B1, unsigned char C1);
  void update_panel_time(void);
  void update_lump(void);
  void Light_Icon(const unsigned int *DEW1);
  void Fill_Buff(void);
  void ProcessFillRam(unsigned char *HL1,unsigned char B1,unsigned char A1);
  void clear_vcd_lcd_mark(void);
  void save_vcd_time(unsigned char B1);
  void set_tv_mode(void);
  void set_lcd_char(unsigned char B1,unsigned int WA1);
  
  void VFD_set_char(unsigned int *DEW1,  unsigned int BC1);
  void VFD_clear_lite_anode(unsigned int WA1, unsigned char B1);
  unsigned char Find_Key(const unsigned char *HL1);
  void update_lcd_ram(void);
  void update_message(void);
  void Blank_AllBuff(void);
  void VFD_processBlank(unsigned char B1);
  void BlankFromSegToSeg(unsigned char B1,unsigned char C1);
  void VFD_spin_wheel(unsigned char B1);
  void Process_Wheel(unsigned char B1);
  void ForceChangeSystemState(void);
  void Delay1ms(unsigned char Delaytime);
  void    bstart(void);
  void    bstop(void);
  void    bitin(void);
  void    bitout(void);
  void    btransmit(void);
  void    TDA7313_send_data(unsigned char C1);    /* C=write data */
  void    ClearOpDurState(void);
  void    ClearVcdOpDurState(void);
  void    LightHyphen(unsigned char B1);
  void    FastRefreshLCD(void);
  void    PanelMoveDet(void);
  void    FastPanelMoveDet(void);
  void    WriteTrayLcd(void);
  
#if NANGCHEN
 void DisplayDiscState(void);
#endif
#if USE_SENDIR
unsigned char SendTx8Bit(unsigned char Data);
void __interrupt IntTxd1(void);
void __interrupt IntRxd2(void);
unsigned char SendTxData(unsigned char Adr,unsigned char Data);
#if SIOTEST
void IniSIO(void);
void SIO_IO_sendbyte(void);
#endif
#endif
#if USE_BLUETOOTH
#include "blue.h"
#endif

#define     delay5 {NOP();NOP();NOP();NOP();NOP();}
/* ************************************************************************ */
/* ************************************************************************ */
/* ************************************************************************ */
#pragma section area tiny        0x40

	Typ_Bb8             g_flag;
#define FAD_OPTION         (g_flag.bit.b0)
#define MEM_FLAG           (g_flag.bit.b1)
#define LOUD_ON            (g_flag.bit.b2)
#define close_mode         (g_flag.bit.b3)
#define negative_flag      (g_flag.bit.b4)
#define Global_Scan_Up     (g_flag.bit.b5)
#define PASSWORD_REQ       (g_flag.bit.b6)
#define DBassOn            (g_flag.bit.b7)

        Typ_Bb8   g_flags;
#define F_TIME_INP             (g_flags.bit.b0)
#define Update_second          (g_flags.bit.b1)
#define Update_minute          (g_flags.bit.b2)
#define CHANGE_TIME_STATE      (g_flags.bit.b3)
#define TIME_SET_KEY_ON        (g_flags.bit.b4)
#define SET_TIME_DISP          (g_flags.bit.b5)
#define Standby_RealTime       (g_flags.bit.b5)
#define Rotate_wheel           (g_flags.bit.b6)
#define CLOSE_CONFIRM          (g_flags.bit.b7)
/* ************************************************************************ */
        unsigned char    eq_mode;
        unsigned char    AMN;           /* AM channel No. AMN=1-16 */
	unsigned char    FMN;           /* FM channel No. FMN=1-16 */
	unsigned char    AM_STEP;       /* AM step data 0 - 119 */
        unsigned int     FM_STEP;       /* FM step data 0 - 410 */

	Typ_Bb8      DTS_STATE;
#define AM_FM       (DTS_STATE.bit.b0)      /* 1-->AM, 0-->FM  */
#define LOCAL       (DTS_STATE.bit.b1)      /* 1-->Local , 0-->Distance */
#define AM_STATUS   (DTS_STATE.bit.b2)      /* 1-->Tuning, 0-->Preset   */
#define FM_STATUS   (DTS_STATE.bit.b3)      /* 1-->Tuning, 0-->Preset   */
#define ST_MONO     (DTS_STATE.bit.b4)      /* 1-->Stereo, 0-->Mono     */
#define BFM_STATUS  (DTS_STATE.bit.b5)
/* ******************************************************************************* */
	unsigned char    Delayr;
	unsigned char    c100m;                 /* counter for 100ms time  */
	unsigned char    g_time_base;
        unsigned char    g_time_base1;
	unsigned int     g_delay_timer;
	unsigned char    timer_count;
#define IntroTimer   timer_count
	unsigned char    auto_scan_state;
        unsigned char    system_state,Msg_State,bMsg_State;
        unsigned char    pre_system_state;
        unsigned char    data_buff_h;
        unsigned char    data_buff_l;
        Typ_Bb8          Lump_Buff[3];
#define  VCDLUMPICON   0x07
#define ICON_WHEEL   Lump_Buff[2].bit.b7
#define ICON_AC3     Lump_Buff[2].bit.b2
#define EnDispChar   Lump_Buff[2].bit.b3
#define ICON_PAUSE   Lump_Buff[0].bit.b5
#define ICON_MEM     Lump_Buff[0].bit.b6
#define ICON_PBC     Lump_Buff[2].bit.b5
#define ICON_INT     Lump_Buff[2].bit.b6
#define ICON_RDM     Lump_Buff[0].bit.b7
#define ICON_RPT     Lump_Buff[0].bit.b2
#define ICON_ALL     Lump_Buff[0].bit.b3

#define ICON_DVD     Lump_Buff[1].bit.b0
#define ICON_VCD     Lump_Buff[1].bit.b1
#define ICON_CD      Lump_Buff[1].bit.b2
#define ICON_MP3     Lump_Buff[1].bit.b3
#define ICON_Dts     Lump_Buff[1].bit.b4
#define ICON_WMA     Lump_Buff[1].bit.b5
#define ICON_MP4     Lump_Buff[1].bit.b6
#define ICON_JPG     Lump_Buff[1].bit.b7

#define   DVDLUMPICON   0x3f
#define   TV_PAL   1
#define   TV_NTSC  0


/* ************************************************************************ */
	unsigned char    TXBUF;   /* buffer for data transmit/receive */
	unsigned char    RXBUF;
/* ************************************************************************ */
#define msgAddr  TXBUF
#define msgdata  RXBUF
        unsigned int     temp_16;
        unsigned int    *ptr;
        unsigned int     *seg;
        unsigned char    lcd_refresh_state;
        unsigned char    wheelpos;
        unsigned char    volume_select;
	// unsigned char Answer_bz=0; 
/****************************************************************************/
/***************************************************************************/
/***************************************************************************/
/*  RAM definition for remote key decode */
	unsigned char    g_rem_st;         /* remote status register */
	unsigned char    g_rem_timer;
	unsigned char    g_rem_buff;
	unsigned char    g_rem_cust;
	unsigned char    g_rem_ct;
	Typ_Bb8          g_rem_flag;
#define F_RKEY_INP     (g_rem_flag.bit.b0)
#define F_RKEY_CNT     (g_rem_flag.bit.b1)
#define F_RKEY_ON      (g_rem_flag.bit.b2)
#define F_RKEY_APT     (g_rem_flag.bit.b3)
#define F_LKEY_INP     (g_rem_flag.bit.b4)
#define F_LKEY_CNT     (g_rem_flag.bit.b5)
#define F_LKEY_APT     (g_rem_flag.bit.b6)
#define KEY_RELEASE    (g_rem_flag.bit.b7)

	union   data_buff       LEADER;
#define GLEADERL       LEADER.b_buff[0]
#define GLEADERH       LEADER.b_buff[1]
#define GLEADER        LEADER.w_buff

/* RAM definition for panel key decode  */
	unsigned char    g_lkey_inp[4];
	unsigned char    g_key_apt;
	unsigned char    g_key_data;
	Typ_Bb8          g_lkey_flag;
#define F_KEY_INP        (g_lkey_flag.bit.b0)
#define F_KEY_CNT        (g_lkey_flag.bit.b1)
#define F_VOL_INP        (g_lkey_flag.bit.b2)
#define F_TIME_SET_INP   (g_lkey_flag.bit.b3)
#define UP_KEY_ON        (g_lkey_flag.bit.b4)
#define DOWN_KEY_ON      (g_lkey_flag.bit.b5)
#define NUMERIC_KEY_ON   (g_lkey_flag.bit.b6)
#define INTRO_SCAN_ON    (g_lkey_flag.bit.b7)

	unsigned char    i;
        unsigned char    j;
	unsigned char    vol_timer;
        unsigned char    flash_timer;
        unsigned char    transmit_limit_timer;
	Typ_Bb8          g_flag1;
#define CARRY_FLAG      (g_flag1.bit.b0)
#define PRESET_KEY_ON   (g_flag1.bit.b1)
#define SCAN_UP         (g_flag1.bit.b2)
#define MUTE_ON         (g_flag1.bit.b3)
#define AUTO_SCAN       (g_flag1.bit.b4)
#define POWER_ON        (g_flag1.bit.b5)
#define DisableFlash    (g_flag1.bit.b6)
#define Enable_Aux2     (g_flag1.bit.b7)

	Typ_Bb8         g_flag2;
#define PIDiffer        (g_flag2.bit.b0)
#define DOUT            (g_flag2.bit.b1)
#define DIN             (g_flag2.bit.b2)
#define PRESET_ON       (g_flag2.bit.b3)
#define RegionKeyHit    (g_flag2.bit.b4)
#define COUNT_OVER      (g_flag2.bit.b5)
#define POWER_FAILURE   (g_flag2.bit.b6)
#define HOUR_OPTION     (g_flag2.bit.b7)

	Typ_Bb8          g_flag3;
#define AUTO_ON         (g_flag3.bit.b0)
#define CLK_FLAG        (g_flag3.bit.b1)
#define F_OPEN          (g_flag3.bit.b2)
#define RegionOnKey     (g_flag3.bit.b3)
#define Mcu_Mute        (g_flag3.bit.b4)
#define Refresh_Time    (g_flag3.bit.b5)
#define Force_mute      (g_flag3.bit.b6)
#define PM              (g_flag3.bit.b7)

       Typ_Bb8             g_flag4;
#define CD_START             (g_flag4.bit.b0)
#define communication_state  (g_flag4.bit.b1)
#define close_ok             (g_flag4.bit.b2)
#define SdFail                (g_flag4.bit.b3)
#define DSPL_ReturnTo_Normal  (g_flag4.bit.b4)
#define Panel_Key             (g_flag4.bit.b5)
#define LongJump              (g_flag4.bit.b6)
#define InitNameFlag          (g_flag4.bit.b7)
#define         receive_state   0
#define         transmit_state  1

/* *********************************************************************** */
       unsigned  char    count_time;
       unsigned  char    Mute_timer;
       unsigned  char    temp;
       unsigned  char    *temp_ptr;
       unsigned  char    *AM_Ptr;
       unsigned  int     *FM_Ptr;
/* **************************** RAM definition for AM/FM ***************** */
	unsigned char    numeric;
	unsigned char    channel_no;
	Typ_Bb8                 g_flag0;
#define EjectHit_Key            (g_flag0.bit.b0)
#define EjectKey_On             (g_flag0.bit.b1)
#define ForceChange             (g_flag0.bit.b2)
#define First_Power             (g_flag0.bit.b3)
#define TelMuteOn               (g_flag0.bit.b4)
#define MuteKey_On              (g_flag0.bit.b5)
#define MuteKey_Hit             (g_flag0.bit.b6)
#define Resume_vcd_time         (g_flag0.bit.b7)
/* ********************************************** */
	union   unihl  PLL_CTL, IF_COUNT,TmpHL;

#define IF_CTL     IF_COUNT.hl_c[0]
#define IF_CTH     IF_COUNT.hl_c[1]
#define IF_CT      IF_COUNT.hl_i

#define PLL_L      PLL_CTL.hl_c[0]     /* D10 */
#define PLL_H      PLL_CTL.hl_c[1]     /* D11 */
#define PLL        PLL_CTL.hl_i        /* PLL control data    */

#define TempL      TmpHL.hl_c[0]     /* D10 */
#define TempH      TmpHL.hl_c[1]     /* D11 */
#define TempHL     TmpHL.hl_i        /* PLL control data    */
        Typ_Bb8    LOCK_CHECK;
#define ENABLE     (LOCK_CHECK.bit.b0)
#define UNLOCK     (LOCK_CHECK.bit.b1)
#if TC9257

⌨️ 快捷键说明

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