STM8L探索套件学习笔记-测量VDD(七)

发布者:bonbono最新更新时间:2015-12-21 来源: eefocus关键字:STM8L  探索套件  学习笔记 手机看文章 扫描二维码
随时随地手机看文章
STM8L中等容量有25个模拟通道(1个快速通道1us和24慢速通道)。中等+和高密度器件有28个通道(4个快速1us和24个慢速通道)。内部有两个通道连接带温度触发器和内部电压参考电压。可以配置为单次和连续模式。可以设置ADC时钟预分频比,模拟看门狗,DMA功能,可以设置为6/8/10/12位转换精度。
今天我们测量下VDD参考电压,是通过测量VREF电压换算出来的,换算的方法有两种:
第一种比较准确,VREF是出厂做的校准,存储在FLASH当中。计算公式为:VDD=(VREF出厂值/VREF实际测量值)×VDD出厂值
第二种方法是假定理论上VREF=1.224V,计算公式为:
VDD=(1.224/VREF实际测量值)×4096

一般我们采用第二种方法测量VDD,测量步骤为下:
1、使能ADC时钟
CLK_PeripheralClockConfig(CLK_Peripheral_ADC1, ENABLE);
2、出现初始化ADC1
ADC_DeInit(ADC1);
3、设置ADC通道,精度,转换时间
ADC_Init(ADC1, ADC_ConversionMode_Single,ADC_Resolution_12Bit, ADC_Prescaler_2);
 
ADC_SamplingTimeConfig(ADC1, ADC_Group_SlowChannels, ADC_SamplingTime_384Cycles);
4、使能
ADC_VrefintCmd(ENABLE);
ADC_Cmd(ADC1, ENABLE);
ADC_ChannelCmd(ADC1, ADC_Channel_Vrefint, ENABLE);
5、测量8次取平均值
u16 VREF_Value(void)//测量内部参考电压VREF值,测量8次平均
{
  uint8_t i;
  uint16_t res=0;
  for(i=8; i>0; i--)
  {
/* start ADC convertion by software */
    ADC_SoftwareStartConv(ADC1);
/* wait until end-of-covertion */
    while( ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC) == 0 );
/* read ADC convertion result */
    res += ADC_GetConversionValue(ADC1);
  }
  return (res>>3);
}
关键字:STM8L  探索套件  学习笔记 引用地址:STM8L探索套件学习笔记-测量VDD(七)

上一篇:STM8L探索套件学习笔记-EEPROM(十一)
下一篇:STM8L探索套件学习笔记-RTC实时时钟(六)

推荐阅读最新更新时间:2024-03-16 14:40

Freescale MC9S08AW60汇编学习笔记(三)
  前面给出了一个实现加法的小程序,但是如果要求变得更复杂、步骤变得更繁琐,这时又该怎么办呢??我们可以使用子程序来解决这个问题,这里给个例子:若字变量Data1和Data2分别存放着两个16位无符号数,编写求两个数之和的子程序,并将和存放到Sum字节存储空间中。代码如下: org $0070 data1 ds.b 2 data2 ds.b 2 sum ds.b 3 org $1860 Add_Pro: clc ;清空进位标志位   clrx   clrh   clra   mov #$00,data1   mov #$04,data1+1   mov #$00,data2   mov #$28,data2+1   l
[单片机]
STM32学习笔记(6):LCD的显示
1.LCD/LCM的基本概念 液晶显示器(Liquid Crystal Display: LCD)的构造是在两片平行的玻璃当中放置液态的晶体,两片玻璃中间有许多垂直和水平的细小电线,透过通电与否来控制杆状水晶分子改变方向,将光线折射出来产生画面。 LCM(LCD Module)即LCD显示模组、液晶模块,是指将液晶显示器件,连接件,控制与驱动等外围电路,PCB电路板,背光源,结构件等装配在一起的组件。 在平时的学习开发中,我们一般使用的是LCM,带有驱动IC和LCD屏幕等多个模块。 2.FSMC的基本概念 在STM32上开发LCD显示,可以有两种方式来对LCD进行操作,一种是通过普通的IO口,连接LCM的相应引脚来
[单片机]
STM32学习笔记--按键输入实验
//按键初始化函数 //特别注意:在该函数之后,JTAG将无法使用(SWD也无法使用) //如果想JTAG仿真,可以屏蔽该函数。 //PA0.13.15 设置成输入 void KEY_Init(void) { RCC- APB2ENR|=1 2; //使能PORTA时钟 GPIOA- CRL&=0XFFFFFFF0;//PA0设置成输入 GPIOA- CRL|=0X00000008; GPIOA- CRH&=0X0F0FFFFF;//PA13,15设置成输入 GPIOA- CRH|=0X80800000; GPIOA- ODR|=1 13; //PA13上拉,PA0默认下拉 GPIOA- ODR|=1 15; //
[单片机]
基于STM32的USB枚举过程学习笔记(二)
接下来介绍USB设备的枚举,枚举就是从设备读取各种描述符信息,这样主机就可以根据这些信息来加载合适的驱动,从而知道是什么样的设备,如何进行通信。 枚举过程使用的是控制传输。控制传输可以保证数据的正确性。控制传输分三个过程:建立过程,可选数据过程及状态过程。 下面介绍枚举的详细过程。 USB主机检测到USB设备插入后,就会先对设备复位,并通过一个带数据过程的控制传输完成设备描述符的获取。 第一步,USB主机会往地址0的端点0发送获取设备描述符的标准请求,发送请求属于控制传输的建立过程。建立过程是一个事务。首先是令牌包,即主机发送一个SETUP令牌,令牌的格式如上一篇描述的那样,有令牌的PID,地址和端点号等;其次是
[单片机]
基于STM32的USB枚举过程<font color='red'>学习</font><font color='red'>笔记</font>(二)
ST发布首批基于超低功耗技术平台的8位微控制器
  意法半导体(ST)日前宣布,首批整合其高性能8位架构和最近发布的超低功耗创新技术的8位微控制器开始量产。以节省运行和待机功耗为特色,STM8L系列下设三个产品线,共计26款产品,涵盖多种高性能和多功能应用。   设计工程师利用全新的STM8L系列可提高终端产品的性能和功能,同时还能满足以市场为导向的需求,例如,终端用户对节能环保产品的需求,便携设备、各种医疗设备、工业设备、电子计量设备、感应或安保设备对电池使用周期的要求。设计人员将选择STM8L这类超低功耗的微控制器,以符合低功耗产品设计标准,如“能源之星”、IEA的“1W节能计划”或欧盟的EuP法令,。   “意法半导体在技术创新上投入了大量资金,发展出支持STM8
[单片机]
STM8L151C8学习笔记0:建工程
学习单片机时,搭建环境,建工程,添加文件等是第0步,我这里步骤是从 StrongerHuang公众号里的IAR系列教程中的 EWSTM8系列教程02学习的。 准备工作 1.下载安装IAR For STM8:软件官网下载、安装和破解教程 2.下载STM8固件包:官网下载 或 百度下载 提取码:v3yw 3.新建工程文件夹 /-------Temp //工程名 /------App //存放主体源文件 /------Bsp //存放HardWare驱动文件 /------Doc //存放Readme说明文档 /------Libraries //存放固件库源文件 /------
[单片机]
STM8L151C8<font color='red'>学习</font><font color='red'>笔记</font>0:建工程
基于STM8L的液晶显示RTC
完整代码在云盘里 http://pan.baidu.com/s/1pLB4OWj /** ****************************************************************************** * @file Project/Template/main.c * @author MCD Application Team * @version V1.3.0 * @date 07/14/2010 * @brief Main program body **********************************************************
[单片机]
arm学习笔记011之arm-linux-gcc的命令参数介绍
我们需要编译出运行在ARM平台上的代码,所使用的交叉编译器为 arm-linux-gcc。下面将arm-linux-gcc编译工具的一些常用命令参数介绍给大家。 在此之前首先介绍下编译器的工作过程,在使用GCC编译程序时,编译过程分为四个阶段: 1. 预处理(Pre-Processing) 2. 编译(Compiling) 3. 汇编(Assembling) 4. 链接(Linking) Linux程序员可以根据自己的需要让 GCC在编译的任何阶段结束,以便检查或使用编译器在该阶段的输出信息,或者对最后生成的二进制文件进行控制,以便通过加入不同数量和种类的调试代码来为 今后的调试做好准备。和其它常用的编译器一样,GCC也提供了
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved