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

📄 radio2.h

📁 lc72130.收音机软件 #include "saa6588.c" #include "ba1924.c"
💻 H
字号:
#ifndef RADIO2_H
#define RADIO2_H
#define FWD			0
#define REV			1
#define AUTO		0
#define MANUAL		1
#define FM			0
#define AM			1
#define SEEK		0
#define RECV		1
#define IFC_TIMEOUT	100
typedef enum {
	RA_IDEL = 0,	//待机
	RA_SEEK_STOP,	
	RA_SEEK_WAIT,
	RA_SEEK_FWD,
	RA_SEEK_REV,
	RA_CHK_BAND,
	RA_AMS,
	RA_TA_SEEK,
	RA_NEXT_FREQ,
	RA_CHK_FREQ,
	RA_END_UC,
	RA_TOUT_AF,
	RA_TOUT_TA,
	RA_CHK_IFC,
	RA_PLL_UNLOCK,
	RA_PLL_LOCKED,
} eRaStatus;
typedef struct _in1{
	UINT FRQ	:16; //16位电台频率数值
	BIT SNS		:1;	 //SNS:DVS 输入频率范围选择			01
	BIT DVS     :1;
	BIT CTE		:1;	 //CTE 中频计数控制  1:START 0:REST	1
	BIT XS		:1;	 //XS: 0=4.5M   1=7.2M				0
	BIT XSREF		:4;	 //4位参考频率选择					0011
}IN1;
typedef struct _in2{
	BIT IOC1	:1;	//控制管脚IO1的方向,0=输入,1=输出 0
	BIT IOC2	:1;	//控制管脚IO2的方向,0=输入,1=输出 0
	BIT LOC		:1;	//IO1  电路修改,IO1用来控制FM LOC//sheldon 07-07-06
	BIT IO2		:1;	//IO2  本方案没用					0 (0)
	BIT SNC		:1;	//FM噪音控制  B01					1
	BIT FMB		:1;	//FM-B+		  B02					1
	BIT STRQ	:1; //ST/RQ 5V=搜索 0V=接收  B03		0
	BIT AMB		:1; //FM-LO/DX AGC	B04					1 (B)//电路修改//sheldon 07-07-06
	BIT B05		:1;	//AM-B+								0
	BIT DOC		:3;	//设置输出数据端DO脚的辅助功能设置	1
								//010时将指示中频测量的完成状况		0
								//									0 (2)
	BIT UL		:2;	//锁相环控制电压输出驱动模式设01时	0
								//为直接输出模式(一般采用此种模式)1 UL_55US
	BIT DZ		:2;	//锁相环死区控制,不是很重要。		0
								//									0 (2)
	BIT GT		:2;	//中频测量时间设置最大64MS最小4MS当GT=00时,
					//前两中等待时间3-4MS后两中等待时间为7-8MS,
					//中频信号必须在等待时间结束之前输入!!
	BIT TBC		:1;	//设置为1时使B01口输出8HZ的基准脉冲,此时B01口将不能作为通用输出口。
	BIT DLC		:1;	//电荷泵输出,正常状态为0,设置为1时拉低电位。
	BIT IFS		:1;	//中频计数器控制,一般设置为1,主要设置中频场强(1:40毫伏0:70毫伏)
	BIT TEST	:3; //测试模式一般全部设置为0
}IN2;
/*
typedef struct _radio{
	BYTE region;		//地区
	BYTE band;			//波段
	union {
			UINT16 freq;			//频率
			BYTE bFreq[2];
	} mFreq;
	BYTE dir;			//方向
	BYTE step;			//步进
	BYTE ams;			//自动搜索
	BYTE mode;			//自动手动
	BYTE ta_seek;		//TA扫描
	BYTE af_seek;		//AF扫描
	BYTE loc;			//LOC开关
	BYTE smeter;		//smeter判断
	void *background;
}RADIO;
*/

typedef struct _cvol{
	BIT	MUT		:1;
	BIT LOU		:1;
	BIT VOL		:6;
}CVOL;

typedef struct _tone{
	BIT BAS		:4;
	BIT TRE		:4;
}TONE;

typedef struct _equa{
	BIT FAD		:4;
	BIT BAL		:4;
}EQUA;

typedef struct _system{
	BYTE ssr0;			//0x00
	BYTE ceqs;			//0x01
	BYTE lch;			//0x02
	CVOL vol;			//0x03
	TONE tone;			//0x04
	EQUA equa;			//0x05
	BYTE sth;			//0x06
	BYTE stm;			//0x07
}SYSTEM;

typedef struct _rasr1{
	BIT bid		:2;
	BIT bnd		:2;
	BIT loc		:1;
	BIT rev		:1;
	BIT stmo	:1;
	BIT smod	:1;
}RASR1;

typedef struct _rasr2{
	BIT ps		:4;
	BIT rsdir	:1;
	BIT risf	:1;
	BIT riaf	:1;
	BIT ripf	:1;
}RASR2;

typedef struct _radio{
	BYTE rasr0;			//0x08
	RASR1 rasr1;			//0x09
	RASR2 rasr2;			//0x0A
	BYTE smet;			//0x0B
	BYTE rdsr;			//0x0C
	BYTE regr;			//0x0D
	char rpsn[9];		//0x0E-0x16
	char ptyn[9];		//0x17-0x1f
	UINT curfreq;		//0x20-0x21
	UINT fmpreset[18];	//
	UINT ampreset[12];	//
}RADIO;

typedef struct _tv{
	UINT tvfreq;		//
	BYTE tvsr;
	BYTE tvps;
	BYTE tvs;
}TV;

typedef struct _pubvar{
	SYSTEM system;
	RADIO radio;
	TV tv;
}PUBVAR;

#endif

⌨️ 快捷键说明

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