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

📄 adc.c

📁 冷火MCF52255开发板精华资料
💻 C
字号:
#include "ADC.h"



void ADC_init(void)
{
	
	
	MCF_ADC_CTRL1   = 0b0101000000000010;//循环顺序扫描模式,AN0~7设为单端输入,禁止中断,停止转换
	
	
	//SMODE=2.循环顺序扫描
	//CHNCFG=0,8路ANn都设为单端输入
	//HLMTIE=0,禁止超上限中断
	//LLMTIE=0,禁止超下限中断
	//ZCIE=O,禁止过零中断
	//EOSIEO=0,禁止转换完成中断
	//SYNC0=1,由SYNC0输入或写START0启动扫描
	//START=0,未启动扫描
	//STOP0=1,停止转换


	MCF_ADC_CTRL2   = 0b0000000000001001;
	//DIV=20,ADC时钟频率
	//(fAD=fBUS/((9+1)*2)
	
	MCF_ADC_POWER   = 0b0000000010100100;
	//PD0=0,转换器A上电
	//PD1=0,转换器B上电
	//PD2=1,参考电压电路上电依赖于转换器A/B
	//APD=0,禁止自动掉电
	//PUDELAY=10;上电延时为1O个ADC时钟周期
	//ASB=0,禁止自动低功耗模式
	
	MCF_ADC_CAL     = 0b0000000000000000;
	//SEL_VREFH=0,SEL_VREFL=O
	//使用内部参考电压VRH和VRL	
	MCF_GPIO_PANPAR = 0xFFFF;
	
	MCF_ADC_CTRL1  &= 0xBFFF;
	
	while(MCF_ADC_POWER&MCF_ADC_POWER_PSTS0) ;
	
	while(MCF_ADC_POWER&MCF_ADC_POWER_PSTS1) ;
	
	MCF_ADC_CTRL1  |= 0X2000;
	
	
	

	
}


uint16 ADonce(uint16 ANn)
{
	uint16 result;
	while(MCF_ADC_ADSTAT&(1<<ANn)==0) ;
	result=(MCF_ADC_ADRSLT(ANn)&0x7FF8)>>3;
	return result;
		
}


⌨️ 快捷键说明

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