使用单片机测量外部电压或者供电电源,一般而言都是采用电阻分压的原理,使用一个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使用内部基准电压测量供电电压相关推荐

  1. 51单片机笔记:定时器/计数器

    单片机笔记 定时器/计数器 定时器/计数器的结构 AT89S51内部两个16位定时器/计数器:T0(P3.4),T1(P3.5),定时器/计数器T0由特殊寄存器TH0,TL0构成,T1由特殊功能寄存器 ...

  2. 51单片机笔记:中断系统

    单片机笔记 中断系统 工作原理 功能描述 终止当前进行的事件,去处理突发需及时处理的事件,处理完还要返回原事件. 中断符函数 void ISR() interupt n 中断符函数与普通函数区别 普通 ...

  3. 利用ST MCU内部基准参考电压监测电源电压及其它

    在使用ST MCU开发过程中,有人问如果电源电压是变动的,询问有无办法用比较简洁的办法对电源电压进行监测,或者说电源电压波动情况下能否检测出其它待测的AD输入电压. 这里跟大家分享交流一个方法.就是在 ...

  4. 单片机笔记十一:华大单片机

    最近在用华大的芯片做开发,因为某些芯片涨价太厉害,而且太难买了,专门买了华大的开发板回来用,这是一款国产的芯片,用的ARM公司的"Cortex-M0"内核,以前用过stm32f10 ...

  5. 单片机笔记(1)--单片机概述

    目录 一.单片机概述 二.单片机结构原理 三.单片机硬件系统结构 1.运算部件 2.控制部件 四.存储器结构 1.程序存储器 2.数据存储器 1.程序计数器PC 2.累加器A 3.B寄存器 4.程序状 ...

  6. 笔记:企业内部因素评价

    目录 企业内部因素评价方法:IFE矩阵 IFE矩阵介绍 分析评价步骤 影响企业关键内部因素选择 企业内部控制应用指引列出的控制方面 参考 企业内部因素评价方法:IFE矩阵 对内部因素进行分析的工具,是 ...

  7. 5214页PDF的进阶架构师学习笔记,阿里巴巴内部Jetpack宝典意外流出

    背景 在深度使用 Flutter 开发过程中,我们遇到了业务代码耦合严重,代码可维护性糟糕,如入泥泞.我们需要一个统一的应用框架来摆脱当下的开发困境,而这也是 Flutter 领域空缺的一块处女地. ...

  8. 大二单片机笔记,串口通信代码【郭天祥】【700字】【勿笑】【原创】

    文章目录 工作时,串口通信理解(最新) 大二时,串口通信理解 串口助手 代码部分 工作时,串口通信理解(最新) 大二时,串口通信理解 /*cpu,串口助手,单片机,根据程序得知输入X之前,我之前理解的 ...

  9. 【单片机笔记】基于STM32的8通道的开源无线遥控器手柄

    MARS STM32遥控器v1.0 MARS STM32遥控器v1.0.................. 1 1.遥控器简介........................... 1 2.硬件详解. ...

  10. 华大单片机-替代STM8S003F3的国产华大HC32F003资源对比-芯虎论坛

    华大单片机(HDSC)HC32F003与STM8S003F3单片机封装管脚兼容,可以对STM8S003F3进行替换,近期由于全球疫情的影响,意法的产能极不稳定,而且供求关系必然导致成本的提高.优势在于 ...

最新文章

  1. linux回到初始的命令,Linux基础总结简单常用命令
  2. nginx 正则匹配优化(一)
  3. 简明python教程 豆瓣-福利分享:个人整理的Python书单,从基础到进阶
  4. 计算机软件集成项目工程师上海,2021年上海系统集成项目管理工程师报名时间和报名入口...
  5. add-apt-repository:找不到命令_手把手教你使用nodejs编写cli(命令行)
  6. 【GAN模型结构】从最简单的全卷积GAN一起开始玩转GAN
  7. 寄生式创业更容易成功
  8. template 的简单使用
  9. Java4Android视频笔记
  10. SQL创建数据库– PostgreSQL,MySQL,SQL Server
  11. 2021-05-07PLC的伺服电机与控制器
  12. css中aspect,CSS属性之aspect-ratio
  13. Android中补间动画相关知识
  14. Linux日期计算器,【C++】日期类+日期万年历+日期计算器
  15. 船说CMS模板 - 笔趣阁自适应模板
  16. html在线商城购物网站制作——基于HTML+CSS+JavaScript鲜花礼品电商网站
  17. 【MySQL】数据库知识总结
  18. 最优控制理论 六、拉格朗日乘子法和KKT条件
  19. CAD制图初学入门常见问题秘笈,助你摆脱节后综合症!(上)
  20. java j2me_j2mejava最强版下载

热门文章

  1. 2021农行研发中心面试题总结
  2. 后台管理系统 - 页面布局设计
  3. 如何通过python多线程抓取所有东方财富股票信息
  4. 如何用聚类模型(k-means)做数据分析?
  5. Vue 路由 导航守卫(全局守卫、组件内守卫、路由独享守卫)
  6. jvm:RunTimeDataArea
  7. 矮人DOS工具箱 V4.2 安装及使用
  8. 微信公众号开发引导用户关注公众号
  9. 使用RssHub为网页生成RSS订阅源
  10. [高级]pdf生成(可水印)、pdf预览(可分页)、pdf打印:全栈一条龙方案