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

📄 radio_tuner.h

📁 一款车载DVD的车机源程序(正在生成中的哦)
💻 H
字号:
#include "Libr.h"
#include "Sys_config.h"

#define LC72131_IN1_ADDR    0x28
#define LC72131_IN2_ADDR    0x29
#define LC72131_OUT_ADDR    0x2a

#define FM_BAND 			0
#define AM_BAND 			1

#define FMFREQ_MAX  		10800
#define FMFREQ_MIN  		8750

#ifdef 	AM_step_10K
#define AMFREQ_MAX  		1640
#define AMFREQ_MIN  		520
#endif

#ifdef 	AM_step_9K
#define AMFREQ_MAX  		1621
#define AMFREQ_MIN  		522
#endif

#define IN1_FM_INIT     	0x3a0000

#ifdef AM_step_9K
#define IN1_AM_INIT     	0x980000
#endif

#ifdef AM_step_10K
#define IN1_AM_INIT     	0x880000
#endif

#define IN2_DATA_INIT     	0x113003

#define SELECT_FM  			(1 << 7)
#define IO2_UNMUTE  		(1 << 3)
#define IO1_DX  			(1 << 2)
#define BO3_ST   			(1 << 6)
#define BO2_MW   			(1 << 5)

#define RADIO_IN1_CTE		0x040000
#define RADIO_IN2_DOC     	0x0400
#define RADIO_IN2_RESET  	0x080000
#define RADIO_OUT_LOCK  	0x100000
#define RADIO_OUT_ST       	0x800000

#define STEREO 				0
#define MONO 				1
#define LOC 				0
#define DX 					1
#define AUTOSRCH_STEP0		0
#define AUTOSRCH_STEP1 		1
#define AUTOSRCH_STEP2 		2
#define AUTOSRCH_STEP3 		3

#define IF_REPEAT_DETECT    4

#define FM_IFFREQ 			0x14e60//0xa730
#define AM_IFFREQ 			0xe10
#define FM_IFFREQ_MARGIN    0x14
#define AM_IFFREQ_MARGIN    0x6

#define	FM_freq_step		5

#ifdef 	AM_step_10K
#define	AM_freq_step		10
#endif

#ifdef 	AM_step_9K
#define	AM_freq_step		9
#endif

enum tuner_search_states
{
	TUNER_SEARCH_NONE,
	TUNER_SEARCH_RUN
};

enum {
	TUNER_SEARCH_TYPE_NONE=0,
	TUNER_SEARCH_TYPE_DOWN,
	TUNER_SEARCH_TYPE_SEEK_DOWN,
	TUNER_SEARCH_TYPE_SEEK_UP
};

enum
{//am or fm1 or fm2
	TUNER_TYPE_AM=0,
	TUNER_TYPE_FM,	
};
//Define the tuner's every bit's flag's function
enum
{
	MonoStereo_flag,
	LocDx_flag,
	AutoSearchOK_flag,
	PrevNextSearch_Flag,
	Tuner_repeat_key_flag,
	IFOK_flag,
	Search_full_mode,
};

#define SET_CCB_STROBE   	SetBit(PA_DR,PLL_CE)	
#define CLEAR_CCB_STROBE   	ClrBit(PA_DR,PLL_CE)

#define SET_CCB_CLK   		SetBit(PA_DR,PLL_CL)
#define CLEAR_CCB_CLK   	ClrBit(PA_DR,PLL_CL)

#define SET_CCB_DATA   		SetBit(PA_DR,PLL_DI)
#define CLEAR_CCB_DATA   	ClrBit(PA_DR,PLL_DI)


#define	IS_PLL_DO_HIGH				ValBit(PA_DR,PLL_DO)

#define	RADIO_SD_HIGH				ValBit(PE_DR,TUN_SD)

extern unsigned char TunerType;
extern unsigned char Radio_tuner_flag;
extern unsigned short int FMfreq;
extern unsigned short int AMfreq;
extern unsigned short int FM_frequence_list[30];
extern unsigned short int AM_frequence_list[30];
extern signed char Radio_channel_high_light_cnt;
extern unsigned char Radio_channel_list_cnt;	
extern unsigned char CurrentBand;
extern unsigned char ChannelNum;
extern void Radio_tuner(void);
extern void Init_lc72131(void);
extern void Radio_tuner_search_key_process(void);
extern void Radio_search_next_process(void);
extern void Radio_search_previous_process(void);
extern void Switch_FM_AM(void);
extern void Force_to_full_search_mode(void);
extern void Force_to_M1_channel(void);
extern void Force_to_M2_channel(void);
extern void Force_to_M3_channel(void);
extern void Force_to_M4_channel(void);
extern void Force_to_M5_channel(void);
extern void Force_to_M6_channel(void);
extern void Radio_tuner_up_step_search(void);
extern void Radio_tuner_down_step_search(void);

















⌨️ 快捷键说明

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