ad stm8l 热电偶_STM8L之ADC
STM8L之ADC
/*******************************************************************************
*名 称: Hal_Comm_GetBatADC
*功 能: 获取电池电量信息
*入口参数: 无
*出口参数: 电量AD值
*说 明:
*******************************************************************************/
unsigned int Hal_Comm_GetBatADC(void)
{
unsigned int Result = 0, value_adc = 0;
unsigned char index = 0;
GPIO_Init(VOL_ADC_PORT,VOL_ADC_PIN,GPIO_Mode_In_FL_No_IT);//VOL_ADC
ADC1->CR1 |= 0x01;//使能AD
ADC1->CR3 &= ~0x1F;// 选择采样时间 384 周期 通道清空
ADC1->CR3 |= 0x00; // channel 0 is selected
ADC1->SQR[0] = ADC1->SQR[1] = ADC1->SQR[2] = ADC1->SQR[3] = 0x00;
ADC1->SQR[3] = 0x01;// 选择通道0扫描
ADC1->SR &= 0x00;// conversion not complete
ADC1->SR = 0; // conversion 标识清空
ADC1->CR1 |= 0x03;//使能AD并开始转换
while(!(ADC1->SR & 0x01)); //waitloop bit0: 1 complete 0 not complete
for(index = 0; index < 10; index++)
{
ADC1->SR = 0; // conversion 标识清空
ADC1->CR1 |= 0x03;//使能AD 开始转换
while(!(ADC1->SR & 0x01));//waitloop conversion complete
Result = ADC1->DRH; //总共计算16bit的值,但ADC为12 bit 长度
Result <<= 8; //ADC1->DRH为高8位,
Result += ADC1->DRL; //ADC1->DRL为低8位
value_adc += Result;
if(index != 0)value_adc = value_adc/2; //获取多次数据,计算平均值
index++;
}
ADC1->CR1 &= 0xFE;//关闭AD
ADC1->CR3 &= ~0x1F;//选择通道
ADC1->CR3 |= 0x11;
return value_adc;
}
我们一般在设计原理图的时候会把ADC的输入电压范围设定在:0~3.3v,如果设置ADC为12位的,那么12位满量程对应的就是3.3V,12位满量程对应的数字值是:2^12。数值0对应的就是0V。如果转换后的ADC数值为X,X对应的模拟电压为Y,那么会有这么一个等式成立:2^12/3.3=X/Y,=>Y=(3.3*X)/2^12
在我们的智能锁项目中,满量程Vref为3.31V,总电压(M6V)/测试电压(VOL_ADC) = 3
4096/3.31 = value_adc/Va
Va = value_adc * 3.31 / 4096
总电压 = Va * 3
即程序中的vin = value_adc * 3.31 * 3 / 4096
ad stm8l 热电偶_STM8L之ADC相关推荐
- ad stm8l 热电偶_[转载]STM8S单片机入门3(AD转换及锂电池管理)
锂电池以其容量大.充电性能好的优点,已经得到了广泛引用,特别在小型的需电池供电的电子设备上.但是锂电池的充电和使用条件比较严格,比如充电必须以恒流恒压方式,使用时电压不能低于3V等,所以用锂电池供电的 ...
- adc网络语什么意思_王者荣耀AD什么意思AP、ADC、AOE等术语是什么意思
如果是没接触过MOBA类手游玩家,在玩王者荣耀游戏中进行匹配.排位时常常被一些专业性的术语名词说懵,下面让好六帅七来为你解答一下AD什么意思AP.ADC.AOE等术语什么意思吧~ AD什么意思? 1. ...
- 高速ad指标分析 matlab,高速ADC的动态性能参数和基于DSP技术的测试方法研究
高速ADC是信号处理机的不可欠缺的组成部分,其性能的好坏对信号处理系统的整体性能也至关重要.通常ADC的技术参数是由生产厂商提供,可作为设计的重要依据,但是在电路板上形成的ADC模块的性能如何,还与A ...
- AD分辨率和精度区别
最近做了一块板子,当然考虑到元器件的选型了,由于指标中要求精度比较高,所以对于AD的选型很慎重.很多人对于精度和分辨率的概念不清楚,这里我做一下总结,希望大家不要混淆.我们搞电子开发的,经常跟&quo ...
- pic1路AD转换c语言,pic单片机的ad转换(实例解析)
描述 AD转换就是模数转换.顾名思义,就是把模拟信号转换成数字信号.主要包括积分型.逐次逼近型.并行比较型/串并行型.Σ-Δ调制型.电容阵列逐次比较型及压频变换型.A/D转换器是用来通过一定的电路将模 ...
- efm32芯片电压_【经验】基于EFM32G232芯片 ADC采样毛刺问题分析以及解决方案
在JYL-60架空暂态录波型远传故障指示器项目开发过程中,Silicon Labs的EFM32G232 32位MCU作为暂态录波型故障指示器的CPU,发现ADC采样电流或电压数据出现毛刺的情况.下图1 ...
- STM32f4系列ADC解析
12位ADC简介 12位ADC是一种逐次逼近型模拟数字转换器.它有多达19个通道,可测量16个外部和2个内部信号源和Vbat通道.各通道的A/D转换可以单次.连续.扫描或间断模式执行.ADC的结果可以 ...
- ADC 模数转换实验
生活中的模拟信号,如温度.声音.压力等,需要转换为更方便储存.处理和发射的数字形式. 51 单片机无法直接操作这些模拟量,其系统内部时运算都是数字量 0 和 1,因此必须将模拟量转换成数字量.数字量, ...
- cubemx 配置多通道ADC进行ADC采样
cubemx 配置多通道ADC进行ADC采样 AD的基础知识 AD很复杂,其实也不复杂,因为我们用的不多. AD:模拟量转换数字量(模拟信号转换数字信号). ADC:模拟量转数字量的转换器. 为什么需 ...
最新文章
- 进军ABP第一天:ABP理论知识
- SAP BADI应用
- 对于七段数码数字模型进行改进:一个关键的数字1的问题
- footer固定到底部
- 012 动态调试smali代码
- orion算法被解密了
- 服务化改造实践(三) | Dubbo + Zipkin
- 手眼标定eye-to-hand 示例:handeye_stationarycam_calibration
- 大神干货:腾讯广告算法大赛亚军宝藏指南带你顺利出圈
- 关于Excel中,下拉菜单的制作。
- MongoDB进阶系列(12)——MongoDB 固定集合
- 量子计算机可以预测未来吗,这台量子计算机可以同时预测16种不同的未来
- 装linux系统为什么会黑屏_Ubuntu安装时出现黑屏问题的解决
- zabbix如何自定义一个监控项对web网站进行存活监控和报警?
- xubuntu16.04修改开关机动画
- oracle人民币大写转换
- java sql查询空内容_返回null值而不是sql查询中的空集
- 【swagger】Swagger注解介绍
- 网上流传的35岁很多人会失业,这是真的吗
- EF学习之一:入门之新建一个EF项目
热门文章
- 鼠标手是否算工伤 专家:法定职业病才能获赔
- 如何将macbook触摸板和外接鼠标的滚轮设置相反方向
- ITIL Expert
- 深度学习21_李宏毅_02_Regression_P2
- OKR 如何彻底激发员工积极性,挑战不可能?
- POJ 1659 Frogs‘ Neighborhood (Havel 定理)
- 【Matlab】希腊字母
- 工业生产ERP系统常见的五大统计分析功能
- 博实乐公布季度业绩,前三季度收入增长46.6%
- rabbitmq和erlang版本对应关系