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

📄 define.h

📁 24位高精度A转换芯片 AD7710 源码 已成功用于液压自动控制系统五年
💻 H
字号:
/****************************************Copyright (c)**************************************************
**                                
**                                     研	发	部
**                                
** 文   件   名: define.h
** 最后修改日期: 2007-10-25 22:37
** 描        述: 宏定义
** 版	     本: V1.0
** 主  控  芯 片:M32  晶振频率:7.3728MHZ, 波特率115200
** IDE:ICCAVR 6.31
**********************************************************************************************************/
 
/********************************************************************************

                            	  引脚配置图:
RFS1 	 	PB2
TFS1 		PB3
RFS2 		PB3
TFS2 		PD6
RFS3 		PC0
TFS3 		PC1
RFS4 		PB5
TFS4 		PB6

SCLK 		PA0
SDA  		PA1
A0   		PA2
DRDY1		PA3 
DRDY2		PA4
DRDY3		PA5
DRDY4		PB7

ENCODER_CE	PD2
ENCODER_SCLK	PD3
ENCODER_SDA	PD4
ENCODER_A/B	PD5

ADS1100_SCLK	PA6
ADS1100_SDA	PA7


STEPPER_DIR	PC6
STEPPER_CP	PD7
 
********************************************************************************/

/********************************************************************************

                            	数据类型的定义

********************************************************************************/
#define  	BYTE	unsigned char	
#define 	WORD	unsigned int
#define  	SBYTE	signed char
#define 	SWORD	signed int


/**************************************
以后实施标准化
变量命名规则:
变量类型+变量实际意义+变量范围(局部 or 全局 )
_l表示local 变量
_g表示grobal变量	
u08ReceiveDat_l,u16DacCode_g...
s08PersonNum_l, s16AdcCode_l...
u32EncoderCode_l...
**************************************/
#define		uint08 	unsigned char
#define 	uint16	unsigned int
#define 	uint32	unsigned long
#define  	sint08	signed char
#define 	sint16	signed int
#define 	sint32	signed long







/********************************************************************************

                            	  串口波特率

********************************************************************************/
#ifdef BAUDRATE115200
#define	 	BAUDRATE	3				
#else
#define  	BAUDRATE 	23
#endif
#define  	BAUDRATE115200

#define		BAUD19200 	23
#define		BAUD115200	3

/********************************************************************************

                            	位变量的宏操作

********************************************************************************/
#define		SET_BIT(a,b)	(a)|=BIT(b)
#define		CLR_BIT(a,b)	(a)&=~BIT(b)
#define		TEST_BIT(a,b)	((a)&BIT(b))						 



/********************************************************************************

                            	MEGA引脚寄存器值

********************************************************************************/
#define		VALUE_PORTA	1
#define		VALUE_PORTB	2
#define		VALUE_PORTC	3
#define		VALUE_PORTD	4

#define		VALUE_DDRA	5
#define		VALUE_DDRB	6
#define		VALUE_DDRC	7
#define		VALUE_DDRD	8	



//以后将统一使用以下的宏定义
//BIT_SET(a,b)	(a)|=BIT(b)
//BIT_CLR(a,b)	(a)&=~BIT(b)
//BIT_TEST(a,b)	((a)&BIT(b))

/********************************************************************************

                            	AD7710相关的定义

********************************************************************************/
/*RFS的控制*/
#define		SET_RFS_1		PORTB|=BIT(PB2);
#define		SET_RFS_2		PORTB|=BIT(PB4);
#define		SET_RFS_3		PORTC|=BIT(PC0);
#define		SET_RFS_4		PORTB|=BIT(PB5);

#define		CLR_RFS_1		PORTB&=~BIT(PB2);
#define		CLR_RFS_2		PORTB&=~BIT(PB4);
#define		CLR_RFS_3		PORTC&=~BIT(PC0);
#define		CLR_RFS_4		PORTB&=~BIT(PB5);







/*TFS的控制*/
#define		SET_TFS_1		PORTB|=BIT(PB3);
#define		SET_TFS_2		PORTD|=BIT(PD6);
#define		SET_TFS_3		PORTC|=BIT(PC1);
#define		SET_TFS_4		PORTB|=BIT(PB6);
#define		CLR_TFS_1		PORTB&=~BIT(PB3);
#define		CLR_TFS_2		PORTD&=~BIT(PD6);
#define		CLR_TFS_3		PORTC&=~BIT(PC1);
#define		CLR_TFS_4		PORTB&=~BIT(PB6);

/*DRDY的状态*/
#define		STATUS_DRDY_1		PINA&BIT(PA3)
#define		STATUS_DRDY_2		PINA&BIT(PA4)
#define		STATUS_DRDY_3		PINA&BIT(PA5)
#define		STATUS_DRDY_4		PINB&BIT(PB7)

/*SCLK的控制*/
#define		SET_SCLK		PORTA|=BIT(PA0)
#define		CLR_SCLK		PORTA&=~BIT(PA0)

/*SDATA的控制*/
#define		SET_SDATA		PORTA|=BIT(PA1)		
#define		CLR_SDATA		PORTA&=~BIT(PA1)

/*SDATA的状态*/
#define		STATUS_SDATA		PINA&BIT(PA1)

/*SDATA输入输出的控制*/
/*SDATA_MASTER:ATmega32L输出,发送数据,为主器件。	*/
/*SDATA_SLAVE :ATmega32L输入,接受数据,为从器件。	*/
#define		SDATA_MASTER		DDRA|=BIT(PA1)
#define		SDATA_SLAVE		DDRA&=~BIT(PA1)

/*A0的控制*/
/*A0=0,进入控制寄存器*/
/*A0=0,进入数据寄存器*/
#define		ACCESS_CTL_REG		PORTA&=~BIT(PA2)
#define		ACCESS_DATA_REG		PORTA|=BIT(PA2)

/*AD7710的控制寄存器*/
//#define		CTRL_REG_LOW		0x86		
//#define		CTRL_REG_MID		0x81

#define		CTRL_REG_LOW		0x0D		
#define		CTRL_REG_MID		0x83

#define		CTRL_REG_HIG		0x20



/********************************************************************************

                            	ADS1110相关的定义

********************************************************************************/
/*ADS1100 CLK 控制*/
#define		SET_ADS1110_CLK			SET_BIT(PORTA,PA6)
#define		CLR_ADS1110_CLK			CLR_BIT(PORTA,PA6)

/*ADS1100 DATA 控制*/
#define		SET_ADS1110_DATA	PORTA|=BIT(PA7)
#define		CLR_ADS1110_DATA	PORTA&=~BIT(PA7)

/*ADS1100 DATA 输入输出的控制*/
/*ADS1100_DATA_MASTER:ATmega16L输出,发送数据,为主器件。*/
/*ADS1100_DATA_SLAVE :ATmega16L输入,接受数据,为从器件。*/
#define		ADS1110_DATA_MASTER	DDRA|=BIT(PA7)
#define		ADS1110_DATA_SLAVE	DDRA&=~BIT(PA7)
/*ADS1100_DATA的状态*/
#define		STATUS_ADS1110_DATA	PINA&BIT(PA7)

/*ADS1100的I2C ADDRESS(ED0)*/
#define		ADS1110_WR_ADDRESS	0x90
#define		ADS1110_RD_ADDRESS	0x91
/*ADS1100的控制寄存器的配置*/
/*连续转换模式,16bit精度,PGA=1*/
#define		ADS1110_CONFIG_REG	0x8C


/*ADS1110的I2C ADDRESS(ED0)*/
//#define		ADS1110_WR_ADDRESS	0x92
//#define		ADS1110_RD_ADDRESS	0x93
/*ADS1110的控制寄存器的配置*/
/*连续转换模式,16bit精度,PGA=1*/
//#define		ADS1110_CONFIG_REG	0x8C






	


⌨️ 快捷键说明

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