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

📄 fm.h

📁 TEA5767收音源码
💻 H
字号:
/****************************************************************************/
/* MODULE:                                                                  								*/
/*	
	FM.h
*/	 
/****************************************************************************/
/*
 *   TCC Version 0.0
 *   Copyright (c) telechips, Inc.
 *   ALL RIGHTS RESERVED
*/
/****************************************************************************/

//dddxxx
#include "tcc760.h"

#ifdef RADIO_MCU
//#define		fm_pwr_off		HwGDATA_D &= ~(1 << 19)	// Fm power off
//#define		fm_pwr_on		HwGDATA_D |= (1 << 19)	// Fm power on

#define 		mcu_slaveaddr 			0x54
#define 		COM_RADIO_STATE		0x40
#define 		COM_RADIO_FREQ		0x41
#define 		RADIO_SET_STERO		0x10
#define 		RADIO_SET_PWR			0x20
#define		RADIO_SET_SENS_005	0x00
#define		RADIO_SET_SENS_010	0x80
#define		RADIO_SET_SENS_030	0x40
#define		RADIO_SET_SENS_150	0xc0
#define 		RADIO_AUTOSCAN_UP	0x01
#define 		RADIO_AUTOSCAN_DOWN	0x02
#define 		RADIO_MANUSCAN_UP	0x04
#define 		RADIO_MANUSCAN_DOWN	0x08
#define 		RADIO_FM				0x00
#define 		RADIO_AM				0x01

#define 		RADIODELAY				100

enum{
	PRESET_MODE_OFF,
	PRESET_MODE_ON,
	NO_MODE,
	MANUAL_ADD_CH
};

#define		off				0
#define		on				1
#define		up				1	
#define		down			0

#define MAX_PRESET_NUM	20

typedef struct BANKOFRADIO {
	unsigned char IsPreset ;
	unsigned char	IsStereo;
	unsigned short LastUseFMHz;
	unsigned short Presetbank[MAX_PRESET_NUM] ;
	unsigned char	LastUsePresetNum;
	unsigned char LastBand;
} FMRADIO;

extern unsigned int	fm_khz;	
extern FMRADIO RadioData;

extern void 	delay720(unsigned int count);
extern void 	fm_init(void);
extern void fmw_stand_by_rtn(unsigned char onoff);
extern void fmw_stereo_rtn(unsigned char onoff);

extern void mcu_send_state(void);
extern unsigned char	mcu_read_radio_state(void);
extern unsigned int 	mcu_read_radio_freq(void);
extern void Radio_manual_scan(unsigned char dir);
extern void Radio_auto_scan(unsigned char dir);

#else
#define		fm_slaveaddr	0xc0				// FM modules slave addr
#define		fm_pwr_off		HwGDATA_A |= (1 << 13);	// Fm power off
#define		fm_pwr_on		HwGDATA_A &= ~(1 << 13);	// Fm power on

enum{
	PRESET_MODE_OFF,
	PRESET_MODE_ON,
	NO_MODE,
	MANUAL_ADD_CH
};

#define		off				0
#define		on				1
#define		up				1	
#define		down			0
#define		all_level		0
#define		lo_level		1
#define		mid_level		2
#define		hi_level		3
#define		japan			1		// Japan band
#define		us_eu			0		// US/EU band
#define		xtal_32768		1		// set the x-tal to 32.768 KHz
#define		xtal_13m		0		// set the x-tal to 13 MHz
#define		ref_65_en		1		// 6.5 MHz reference for PLL enabled
#define		ref_65_dis		0		// 6.5 MHz reference not enabled
#define		deemph75		1		// deemphasis time constant is 75 us
#define		deemph50		0		// deemphasis time constant is 50 us

#define		hi_side			1		// FM module's high-side injcetion
#define		lo_side			0		// FM module's low-side injection


// when you do not use the autonomous search mode of the FM module, set the scan level and step
#define		scan_level	6		// the available values are 0 ~ 15
#define		scan_step	100		// KHz unit

extern unsigned int	fm_khz;	

extern void delay720(unsigned int count);
extern void fm_init(void);
extern void LCD_DisplayChannelForFM(int InputHz);
extern void fmw_stand_by_rtn(unsigned char onoff);
extern unsigned char fm_wr_rtn(unsigned char *ptr);



// Struct for Radio data

#define MAX_PRESET_NUM	20

typedef struct BANKOFRADIO {
	unsigned char 	IsPreset ;
	unsigned char	IsStereo;
	unsigned short	LastUseFMHz;
	unsigned short Presetbank[MAX_PRESET_NUM] ;
	unsigned char	LastUsePresetNum;
} FMRADIO;

extern FMRADIO RadioData;
extern unsigned char fm_wr_byte[5];
extern unsigned char fm_hilo_optimal(unsigned int fm_freq);
extern void fmw_pll_rtn(unsigned char hilo, unsigned int fm_freq);
extern void fmw_all_mute_rtn(unsigned char onoff);
extern unsigned char fm_wr_rtn(unsigned char *ptr);
extern void fmw_stand_by_rtn(unsigned char onoff);
extern void fmw_stereo_rtn(unsigned char onoff);
extern void delay720(unsigned int count);
extern unsigned int fm_auto_scan_detect(unsigned char dir);
extern unsigned char fm_auto_scan(unsigned char dir);
extern void fm_manual_scan(unsigned char dir);
#endif

⌨️ 快捷键说明

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