📄 main.c
字号:
#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 + -