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

📄 tunerctr.h

📁 关于收音功能代码,并且显示在OSD和VFD上
💻 H
字号:
/**************************************************************************************/
/***********************                    BBK CONFIDENTIAL                   ************************/
/***********************                                                                    ************************/
/***********************         Description : Digital Audio Process          ************************/
/***********************                                                                    ************************/
/*********************** Company: BBK AV ELECTRONICS CORP.,LTD ************************/
/***********************                                                                    ************************/
/***********************              Programmer : Terry Lee                  ******** ****************/
/**************************************************************************************/

#ifndef _TUNERCTR_H_
#define _TUNERCTR_H_

#ifdef TUNERCTR_PAR
#define TUNERCTR_EXT
#else
#define TUNERCTR_EXT  extern
#endif

#ifdef BBK_RD2_OLD_TUNER

#define TUNER_NONE							0xFF

#define FM_FREQ_IF							(1070)
#define FM_FREQ_MAX						(10800)
#define FM_FREQ_MIN						(8750)
#define FM_CH_MAX							(410)
#define FM_CH_MIN							(0)
#define FM_STEP								(5)
#define FM_STATION_MAX						(20)
/*set Fref=25kHz,note that:FMin have dived by a internal dive-by-two prescaler first.*/      
/*So,Fref is equal to 50kHz.Here we set FM_DIVISOR=5.*/ 
#define FM_DIVISOR							(5)          

#define AM_FREQ_IF							(450)
#define AM_FREQ_MAX						(1710)
#define AM_FREQ_10K_MIN					(530) 
#define AM_FREQ_9K_MIN						(522) 
#define AM_CH_10K_MAX						(118) 
#define AM_CH_9K_MAX						(132)
#define AM_CH_MIN							(0)
#define AM_10K_STEP							(10)            
#define AM_9K_STEP							(9)          
#define AM_STATION_MAX						(20)
#define AM_10K_DIVISOR						(5)//(5)
#define AM_9K_DIVISOR						(3)//(3)

#define WAIT_TIME							(0)
#define EEPROM_DELAY						(40)


#define WRITE_MODE0						(0x28)
#define WRITE_MODE1						(0x29)
#define READ_MODE							(0x2a)

#define  LC72130
#define LC72131
//#define LV23002M
#ifdef LV23002M
#define FM_RESET_IF							(0x32)
#define FM_START_IF							(0x36)
#define AM_9K_RESET_IF						(0xc0)
#define AM_9K_START_IF						(0xc4)
#define AM_10K_RESET_IF					(0x90)
#define AM_10K_START_IF					(0x94)

#define FM_IFREQON_ST						(0xadda)
#define FM_IFREQON_MO						(0xad5a)
#define FM_IFREQOFF_ST						(0xadca)
#define FM_IFREQOFF_MO						(0xad4a)
#define AM_IFREQON							(0xad12)
#define AM_IFREQOFF							(0xad02)

#define IF_MEASURE_TIME_FM				(0x13)
#define IF_MEASURE_TIME_AM				(0x11)

#define DEADclear							(0x1a)	
#else//LC72131
#define FM_RESET_IF							(0x32)
#define FM_START_IF							(0x36)
#define AM_9K_RESET_IF						(0xc0)
#define AM_9K_START_IF						(0xc4)
#define AM_10K_RESET_IF					(0x90)
#define AM_10K_START_IF					(0x94)

#define FM_IFREQON_ST						(0xf488)
#define FM_IFREQON_MO						(0xf4c8)
#define FM_IFREQOFF_ST						(0xf4a8)
#define FM_IFREQOFF_MO						(0xf4e8)
#define AM_IFREQON							(0xf458)
#define AM_IFREQOFF							(0xf478)

#define IF_MEASURE_TIME_FM				(0x12)
#define IF_MEASURE_TIME_AM				(0x11)

#define DEADclear							(0x1a)	
#endif

typedef enum
{
TUNER_BAND_FM,
TUNER_BAND_AM,
TUNER_BAND_NS,
TUNER_BAND_MAX = TUNER_BAND_NS - 1,
TUNER_BAND_NONE = TUNER_NONE
}E_TUNER_BAND;

typedef enum
{
TUNER_SIGNAL_STEREO,
TUNER_SIGNAL_MONO,
TUNER_SIGNAL_NS,
TUNER_SIGNAL_MAX = TUNER_SIGNAL_NS - 1,
TUNER_SIGNAL_NONE = TUNER_NONE
}E_TUNER_SIGANL;

typedef enum
{
AM_STEP_10K,
AM_STEP_9K,
AM_STEP_NS,
AM_STEP_MAX = AM_STEP_NS - 1,
AM_STEP_NONE = TUNER_NONE
}E_AM_STEP;

typedef enum
{
CHANNEL_INPUT_1,
CHANNEL_INPUT_2,
CHANNEL_INPUT_NS,
CHANNEL_INPUT_MAX = CHANNEL_INPUT_NS - 1,
CHANNEL_INPUT_NONE = TUNER_NONE
}E_CHANNEL_INPUT;


//TUNERCTR_EXT E_TUNER_BAND xdata _eTunerBand;
//TUNERCTR_EXT E_CHANNEL_INPUT xdata _eChInput;
//TUNERCTR_EXT E_AM_STEP xdata _eAmStep;
//TUNERCTR_EXT E_TUNER_SIGANL xdata _eSignalType;
//TUNERCTR_EXT BYTE xdata _bStationNo;
//TUNERCTR_EXT BYTE xdata _bStationPrev;
//TUNERCTR_EXT WORD xdata _wActiveFreq;
//TUNERCTR_EXT WORD xdata _wFreqPrev;
//TUNERCTR_EXT WORD xdata _wStationFreq[FM_STATION_MAX];
//TUNERCTR_EXT BYTE xdata _bFmAmStationMax;


TUNERCTR_EXT void vIFCountReset(void) large;
TUNERCTR_EXT void vIFCountStart(void) large;
TUNERCTR_EXT void vIFCountNormal(void) large;
TUNERCTR_EXT void vClearDeadZone(void) large;
TUNERCTR_EXT DWRD dwReadIFCounter(void) large;
TUNERCTR_EXT void vTunerPower(BOOL fgPower) large;
TUNERCTR_EXT void vStartIFCounter(WORD wFreq, BOOL fgMute) large;
TUNERCTR_EXT BOOL fgGetIFCounterStatus(BYTE *pbSignal) large;
TUNERCTR_EXT BOOL fgGetRealFreq(WORD *wFreq) large;
#ifdef UNCALLED_CLOSE
TUNERCTR_EXT void vEepromDelay(BYTE bDelayNum) large;
#endif
TUNERCTR_EXT void vTunerSaveChannelFreq(BYTE bChannel, WORD wFreq) large;
TUNERCTR_EXT WORD wTunerReadChannelFreq(BYTE bChannel) large;
TUNERCTR_EXT void vTunerSaveChannel(void) large;	
TUNERCTR_EXT BYTE bTunerReadChannel(void) large;
TUNERCTR_EXT void vTunerSaveBand(void) large;
TUNERCTR_EXT void vTunerReadBand(void) large ;
TUNERCTR_EXT void vTunerSaveAMStep(void) large ;
TUNERCTR_EXT void vTunerReadAMStep(void) large ;
TUNERCTR_EXT void vTunerSaveSignalType(void) large ;
TUNERCTR_EXT void vTunerReadSignalType(void) large ;
TUNERCTR_EXT void vTnrInitRadio(void) large;
TUNERCTR_EXT void vTnrStoreRadio(void) large;





TUNERCTR_EXT void vTunerMute(BYTE fgMute) large;
#endif
#endif

⌨️ 快捷键说明

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