采用51系列单片机为控制核心

源代码在线查看: adc.h

软件大小: 168 K
上传用户: ASD___1234
关键词: 51系列 单片机 控制 核心
下载地址: 免注册下载 普通下载 VIP

相关代码

				#ifndef  _ADC_H_
				#define  _ADC_H_
				
				//数据时钟、采集与读取数据模式
				#define  EXDCLK_RDPRE    	 3    //外部非连续时钟,读取上一次转换数据且无同步信号模式
				#define  EXDCLK_RDNOW		 	 2    //外部非连续时钟,读取当前次转换数据且无同步信号模式
				#define  EXDCLK_RDPRE_SYN  1    //外部非连续时钟,读取上一次转换数据且有同步信号模式
				#define  EXDCLK_RDNOW_SYN  0    //外部非连续时钟,读取当前次转换数据且有同步信号模式
				
				//掉电模式
				#define  PWOP   0       //正常工作
				#define  PWDO   1       //掉电模式
				
				//二进制格式
				#define  BTC   	0       //二进制补码形式
				#define  SBIN   1       //普通二进制
				
				//函数功能:置/复位PWRD信号
				//说明:x:1 —— 置位(掉电模式);0 —— 复位(正常工作)
				#define  ADCSetPWRD(x)     (ADCPWRD = (x) ? 1 : 0)
				
				//函数功能:置/复位RC信号
				//说明:x:1 —— 置位;0 —— 复位
				#define  ADCSetRC(x)     (ADCRC = (x) ? 1 : 0)
				
				//函数功能:置/复位SCLK信号
				//说明:x:1 —— 置位;0 —— 复位
				#define  ADCSetSCLK(x)     (ADCSCLK = (x) ? 1 : 0)
						
				//函数功能:置/复位SBTC信号
				//说明:x:1 —— 置位(标准/普通二进制);0 —— 复位(二进制补码格式)
				#define  ADCSetSBTC(x)   (ADCSBTC = (x) ? 1 : 0)
				
				//函数功能:置/复位EXINT信号
				//说明:x:1 —— 置位;0 —— 复
				#define  ADCSetEXINT(x)     (ADCEXINT = (x) ? 1 : 0)
					
				//函数功能:从SPI总线读2字节(16bits)数据
				//说明:返回16bits的数据
				int SPI_Read_Two(void);
				
				//函数功能:外部非连续数据时钟,读取上一次转换数据且无同步信号模式
				//说明:返回上一次采集的数据(即第n次采样启动时,将读取第n-1次采样数据)
				int EXCLKSample_Pre(void);
				
				//函数功能:外部非连续数据时钟,读取当前次转换数据且无同步信号模式
				//说明:返回当前次采集的数据(16bits)
				int EXCLKSample_Now(void);
				
				//函数功能:外部非连续数据时钟,读取上一次转换数据且有同步信号模式
				//说明:返回上一次采集的数据(即第n次采样启动时,将读取第n-1次采样数据)
				int EXCLKSample_Pre_Syn(void);
				
				//函数功能:外部非连续数据时钟,读取当前次转换数据且有同步信号模式
				//说明:返回当前次采集的数据(16bits)
				int EXCLKSample_Now_Syn(void);
				
				//函数功能:指定方式采样以及读取数据
				//说明:smode:数据时钟、读取方式模式;sbtc:输出二进制数据格式;
				//			返回采样数据(16bits)
				int nSample(INT8U smode, INT8U sbtc);
				
				#endif  //_ADC_H_			

相关资源