【单片机笔记】STM8S003F3使用内部基准电压测量供电电压
使用单片机测量外部电压或者供电电源,一般而言都是采用电阻分压的原理,使用一个ADC引脚采集ADC的数据,然后在根据ADC的分辨率和分压反向计算得到输入电压。
读过STM8S003芯片手册的都知道,ADC的分辨率是10位的,也就是最大值是1024,如下图
正常的采集电压需要分压电路和基准电压:
采集到的ADC数据跟芯片的供电电压有关系。
下面介绍下一种简便的方法:
先说下优点:
1、省点
2、没有ADC输入硬件
具体原理:STM8S003芯片内部又多个ADC通道,其中ADC通道7是连接到内部稳压器的,稳压器的电压恒定为1.22V。
下面是我通过变化不同的供电电压得到的数据:
供电电压 采集到的ADC数据
3.63V 353
4.10V 309
5.28V 238
通过笔算反推可以知道
1.22/363 * 1024 = 344
1.22/4.1*1024 = 304
1.22/5.28*1024 = 236
其中用万用表测量不妨会有误差,基本上还是比较吻合的。初步确定方法可行。
那通过以上方法就可以得到反向计算供电电压的方法
vcc = 1024 * 1.22 / adc_value
底层代码:
//获取ADC采样值
u16 ADC_GetValue(u8 ch)
{//配置ADCADC1_Init(ADC1_CONVERSIONMODE_SINGLE,(ADC1_Channel_TypeDef)ch, ADC1_PRESSEL_FCPU_D2,ADC1_EXTTRIG_TIM, DISABLE, ADC1_ALIGN_RIGHT, ADC1_SCHMITTTRIG_ALL,DISABLE);//开启转换ADC1->CR1 |= ADC1_CR1_ADON;ADC1_StartConversion();// ADC1->CR1 |= ADC1_CR1_ADON;//等待转换结束while(ADC1_GetFlagStatus(ADC1_FLAG_EOC) == 0);return ADC1_GetConversionValue();
}
应用代码:
u16 adc_value = 0;
float vbat=0;
void test(void){while(1){adc_value = ADC_GetValue(7);vbat = 1024 * 1.22 / adc_value;Delay_ms(500);}
}
By Urien 2020年11月18日 18:33:47
【单片机笔记】STM8S003F3使用内部基准电压测量供电电压相关推荐
- 51单片机笔记:定时器/计数器
单片机笔记 定时器/计数器 定时器/计数器的结构 AT89S51内部两个16位定时器/计数器:T0(P3.4),T1(P3.5),定时器/计数器T0由特殊寄存器TH0,TL0构成,T1由特殊功能寄存器 ...
- 51单片机笔记:中断系统
单片机笔记 中断系统 工作原理 功能描述 终止当前进行的事件,去处理突发需及时处理的事件,处理完还要返回原事件. 中断符函数 void ISR() interupt n 中断符函数与普通函数区别 普通 ...
- 利用ST MCU内部基准参考电压监测电源电压及其它
在使用ST MCU开发过程中,有人问如果电源电压是变动的,询问有无办法用比较简洁的办法对电源电压进行监测,或者说电源电压波动情况下能否检测出其它待测的AD输入电压. 这里跟大家分享交流一个方法.就是在 ...
- 单片机笔记十一:华大单片机
最近在用华大的芯片做开发,因为某些芯片涨价太厉害,而且太难买了,专门买了华大的开发板回来用,这是一款国产的芯片,用的ARM公司的"Cortex-M0"内核,以前用过stm32f10 ...
- 单片机笔记(1)--单片机概述
目录 一.单片机概述 二.单片机结构原理 三.单片机硬件系统结构 1.运算部件 2.控制部件 四.存储器结构 1.程序存储器 2.数据存储器 1.程序计数器PC 2.累加器A 3.B寄存器 4.程序状 ...
- 笔记:企业内部因素评价
目录 企业内部因素评价方法:IFE矩阵 IFE矩阵介绍 分析评价步骤 影响企业关键内部因素选择 企业内部控制应用指引列出的控制方面 参考 企业内部因素评价方法:IFE矩阵 对内部因素进行分析的工具,是 ...
- 5214页PDF的进阶架构师学习笔记,阿里巴巴内部Jetpack宝典意外流出
背景 在深度使用 Flutter 开发过程中,我们遇到了业务代码耦合严重,代码可维护性糟糕,如入泥泞.我们需要一个统一的应用框架来摆脱当下的开发困境,而这也是 Flutter 领域空缺的一块处女地. ...
- 大二单片机笔记,串口通信代码【郭天祥】【700字】【勿笑】【原创】
文章目录 工作时,串口通信理解(最新) 大二时,串口通信理解 串口助手 代码部分 工作时,串口通信理解(最新) 大二时,串口通信理解 /*cpu,串口助手,单片机,根据程序得知输入X之前,我之前理解的 ...
- 【单片机笔记】基于STM32的8通道的开源无线遥控器手柄
MARS STM32遥控器v1.0 MARS STM32遥控器v1.0.................. 1 1.遥控器简介........................... 1 2.硬件详解. ...
- 华大单片机-替代STM8S003F3的国产华大HC32F003资源对比-芯虎论坛
华大单片机(HDSC)HC32F003与STM8S003F3单片机封装管脚兼容,可以对STM8S003F3进行替换,近期由于全球疫情的影响,意法的产能极不稳定,而且供求关系必然导致成本的提高.优势在于 ...
最新文章
- linux回到初始的命令,Linux基础总结简单常用命令
- nginx 正则匹配优化(一)
- 简明python教程 豆瓣-福利分享:个人整理的Python书单,从基础到进阶
- 计算机软件集成项目工程师上海,2021年上海系统集成项目管理工程师报名时间和报名入口...
- add-apt-repository:找不到命令_手把手教你使用nodejs编写cli(命令行)
- 【GAN模型结构】从最简单的全卷积GAN一起开始玩转GAN
- 寄生式创业更容易成功
- template 的简单使用
- Java4Android视频笔记
- SQL创建数据库– PostgreSQL,MySQL,SQL Server
- 2021-05-07PLC的伺服电机与控制器
- css中aspect,CSS属性之aspect-ratio
- Android中补间动画相关知识
- Linux日期计算器,【C++】日期类+日期万年历+日期计算器
- 船说CMS模板 - 笔趣阁自适应模板
- html在线商城购物网站制作——基于HTML+CSS+JavaScript鲜花礼品电商网站
- 【MySQL】数据库知识总结
- 最优控制理论 六、拉格朗日乘子法和KKT条件
- CAD制图初学入门常见问题秘笈,助你摆脱节后综合症!(上)
- java j2me_j2mejava最强版下载