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

📄 stc5410adc8.h

📁 STC12C5410AD的C语言AD功能程序源代码.直接移植可以应用
💻 H
字号:
//////////////////////////////////////////////////
//*       文件名:  ADC.h						//
//*       描述:   自带8位AD转换  				//
//*       程序员:								//
//*       创建日期:2007.7.14					//
//*       修改日期:2007.7.14					//
//////////////////////////////////////////////////
#ifndef ADC_H
#define ADC_H

void ADC_Power_ON(void);     				//开启ADC电源
void Set_P1x_Open_Drain(unsigned char x);	//设置P1x口为开漏模式
void Set_ADC_Channelx(unsigned char x);  	//设置AD转换通道
void Set_P1x_Normal_IO(unsigned char x);  	//设置成普通I0口 
unsigned char Get_ADC_Result(void); 		//AD转换
unsigned char Get_ADC_Data(void);			//读取AD转换数据



void ADC_Power_ON(void)			//开启ADC电源
{
	ADC_CONTR|=0x80;			//adc_power=1
	Delay1ms(6);					//延时2MS
}

void Set_P1x_Open_Drain(unsigned char x)   //设置P1x口为开漏模式
{
	unsigned char temp;
	temp=(1<<x);
	P1M1|=temp;
	P1M0|=temp;//如x=3则tmep=0000 0100B

}
void Set_P1x_Normal_IO(unsigned char x)		//设置普通I/O口
{	
	unsigned char temp;
	temp=~(1<<x);
	P1M1&=temp;
	P1M0&=temp;
}
void Set_ADC_Channelx(unsigned char x)		//设置AD转换通道
{	
	unsigned char temp;
	temp=(0xe0|x);
	ADC_CONTR=temp;
	Delay1ms(6);

}
unsigned char Get_ADC_Result(void)		//获取AD转换数据
{	
	unsigned char temp;
	ADC_DATA=0;
	ADC_CONTR|=0x08;			//adc_start=1,开始转换
	while((ADC_CONTR&0x10)==0);	//判断标志位是否为1,如果未转换完继续等待
	temp=ADC_DATA;
	Delay1ms(10);
	ADC_CONTR&=0xe7;			//adc_flag=0;清标志位,adc_start=0,停止转换
	return temp;				//temp为浮点数
}

unsigned char Get_ADC_Data(void)		//AD转换获取数据
{
	unsigned char hbyte,result=0;		//参数传递一致
	//unsigned char i;
	//for(i=0;i<5;i++)
	//{
		ADC_Power_ON();			//开启电源	
		Delay1ms(6);
		Set_P1x_Open_Drain(2);	//设置P12为开漏状态
		Set_ADC_Channelx(2);	//设置P12为AD转换通道
		hbyte=Get_ADC_Result();	//开始转换
	//	Set_P1x_Normal_IO(2);	//设置成普通I/O口
	//	result+=hbyte;
	//}
	//result/=5;					//采样五次取平均值
	result=hbyte;
	return result;
}

//AD转换流程--ADC_Power_ON();//开启电源	--delay(2);--Set_P1x_Open_Drain(x);//设置P1x为开漏状态--Set_ADC_Channelx(x);//设置P1x为AD转换通道
//--result=Get_ADC_Result();//开始转换--delay(10);--Set_P1x_Normal_IO(x);
#endif //ADC.h

⌨️ 快捷键说明

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