user_hanshu.c

来自「这里有很多我自己做的凌阳单片机源程序」· C语言 代码 · 共 53 行

C
53
字号
#include<spce061a_chf.h>
#include"user_hanshu.h"
#include"bit.h"
void init_IO_AD(void)
{
	PA_Dir->bit.bit0=0;
	PA_Attrib->bit.bit0=1;
	P0_0=1;
	PA_Dir->bit.bit1=0;
	PA_Attrib->bit.bit1=1;
	P0_1=1;//IOA0,IOA1为悬浮式输入
}
float AD_tranfer(void)
{
	float fvoltage=0.0;
	unsigned int AD_value_to;
	if(Line_selet(0x0003)>0xe880)
	{
		AD_value_to=Line_selet(0x0002);
		fvoltage=(float)AD_value_to/0xffc0*3.3;
		AD_value_to=Line_selet(0x0001);
		fvoltage+=(float)AD_value_to/0xffc0*3.3;
	}
	else
	{	
		AD_value_to=Line_selet(0x0003);
		fvoltage=(float)AD_value_to/0xffc0*3.3;
	}
	return(fvoltage);
}
unsigned int Line_selet(unsigned int Line_num)
{
	unsigned long int uiData,i;	
	init_IO_AD();
	Set_ADC_MUX_Ctrl(Line_num);//选择通道1(IOA0)
	Set_ADC_Ctrl(0x0001);//允许AD转换
	uiData=Get_ADC_LineIn_Data();//通过读取P_ADC_LINEIN_Data积存器的值启动AD转换
	uiData=0;
	for(i=0;i<4;i++)
	{
		*P_Watchdog_Clear=0x01;
		uiData+=AD();
	}
	uiData>>=2;	
	return(uiData);
}
unsigned int AD(void)
{
	unsigned int ui_Data;
	while(!(Get_ADC_MUX_Ctrl()&0x8000));
	ui_Data=Get_ADC_LineIn_Data();
	return(ui_Data&0xffc0);
}

⌨️ 快捷键说明

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