【电机控制器】STC8H1K芯片——ADC电压采集

【电机控制器】STC8H1K芯片——ADC电压采集


前言


提示:以下是本篇文章正文内容,下面案例可供参考

一、ADC

1.ADC初始化

1.ADC_CONTR

在这里插入图片描述
在这里插入图片描述

2.ADCCFG

在这里插入图片描述
在这里插入图片描述

3.ADCTIM

在这里插入图片描述
在这里插入图片描述

4.代码

void ADC_Init(void)
{
	ADCTIM=0X3F;
	ADCCFG=0X2F;
	ADC_CONTR=0X80;
}

2.ADC读取

1.ADC_RES、ADC_RESL

在这里插入图片描述

2.代码

unsigned int ADC_Read(int channel)
{
	ADC_RES=0;
	ADC_RESL=0;
	ADC_CONTR=(ADC_CONTR&0XF0)|0X40|channel;
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	while((ADC_CONTR&0X20)==0);
	ADC_CONTR&=~0X20;
	return ((unsigned int)ADC_RES<<8|ADC_RESL);
}
	

3.VREF电压读取——MCU工作电压

1.MCU工作电压计算公式

在这里插入图片描述
在这里插入图片描述

2.代码

unsigned int VREF_GetValtage(void)
{
	unsigned int res;
	unsigned char i;
	float Valtage_VREF;
	ADC_Read(ADC_CHANEEL_15);
	ADC_Read(ADC_CHANEEL_15);
	res=0;
	Valtage_VREF=0.00;
	for(i=0;i<8;i++)
	{
		res+=ADC_Read(ADC_CHANNEL_15);
	}
	res>>=3;
	Valtage_VREF=(ADC_10BIT*ADC_BGV/res);
	return (unsigned int)(Valtage_VREF*ADC_GAIN);
}

4.ADC被转换通道的输入电压读取

1.ADC被转换通道的输入电压计算公式

在这里插入图片描述

2.代码

unsigned int OverLoad_GetValtage(void)
{
	unsigned int res;
	unsigned char i;
	unsigned int adcvin;
	float Valtage_Overload;
	ADC_Read(ADC_CHANNEL_10);
	ADC_Read(ADC_CHANNEL_10);
	res=0;
	Valtage_Overload=0.00;
	for(i=0;i<8;i++)
	{
		res+=ADC_Read(ADC_CHANNEL_10);
	}
	res>>=3;
	adcvin=VREF_GetValtage();
	Valtage_Overload=(adcvin*res/ADC_10BIT);
	return (unsigned int)(Valtage_Overload);
}

5.ADC转换速度

在这里插入图片描述

在这里插入图片描述

二、实验——VREF——MCU工作电压

1.原理图

在这里插入图片描述
在这里插入图片描述

2.USB供电

在这里插入图片描述
在这里插入图片描述

3.锂电池供电

在这里插入图片描述
在这里插入图片描述

三、参考资料

STC8H1K08-36I-TSSOP20-规格书.PDF
STC8H单片机利用 ADC 第 15 通道测量外部电压或电池电压
51单片机——串口通信(发送和接受数据)
STC单片机基于Keil平台在线调试仿真
printf函数在Keil 开发C51单片机当中的使用细节

总结

本文仅仅简单介绍了【电机控制器】STC8H1K芯片——ADC电压采集,评论区欢迎讨论。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Kisorge

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值