其他分享
首页 > 其他分享> > STC——ADC使用

STC——ADC使用

作者:互联网

目录

1、使用配置流程

2、相关寄存器

3、代码

初始化


void adc_init()
{
	ADC_CONTR |= 1<<7;			//打开 ADC 电源
	ADC_CONTR &= (0xF0);		//清除ADC_CHS[3:0] : ADC 模拟通道选择位
	ADC_CONTR |= 0x01;          //P1^1口
	
	//IO口设置为高阻输入
	P1M0 &= ~0x02;
    P1M1 |= 0x02;

	ADCCFG |= 0x60&0x0F;		//ADC时钟频率

	ADCCFG |= 1<<5;				//转换结果右对齐。 ADC_RES 保存结果的高 2 位, ADC_RESL 保存结果的低 8 位。
}

启动转换

uint16 adc_once()
{
	uint16 adc_value;
	
	ADC_RES=ADC_RESL=0;				//清数据
	
	ADC_CONTR |= 0x40;  			// 启动 AD 转换
	while (!(ADC_CONTR & 0x20));  	// 查询 ADC 完成标志
	ADC_CONTR &= ~0x20;  			// 清完成标志
	
	
	adc_value = ADC_RES; 		 	//存储 ADC 的 12 位结果的高 4 位
	adc_value <<= 8;
	adc_value |= ADC_RESL;  		//存储 ADC 的 12 位结果的低 4 位

	return adc_value;
}

标签:转换,STC,RES,CONTR,使用,adc,寄存器,ADC
来源: https://blog.csdn.net/m0_51247005/article/details/117627997