怎样给stm8l stm32adc采集电压范围提供一个稳定电压

温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
STM8S103参考手册(注释+笔记).pdf(5.81M)&&&
阅读(6349)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
在LOFTER的更多文章
loftPermalink:'',
id:'fks_',
blogTitle:'STM8S103F AD采集',
blogAbstract:'AD初始化
&&&& ADC_CR1 = 0x60;&&&&&&&&&& //& 设置AD转换时钟1/12,单次转换模式 &&&& ADC_CR2 = 0x08;&&&&&&&&&& // 设置数据为右对齐&&&& ADC_CR3 = 0x00;&&&&&&&&&& // 不使用数据缓冲&&&& ADC_CSR = 0x03;&&&&&&&&&& // 选择AD转换通道3&&&&&& ADC_TDRL=0& //关闭施密特触发器
AD转换程序
void ADC_change(void){
&&&& ADC_CSR = 0x03;&&&&&&&&&& // 选择AD转换通道3',
blogTag:'stm8,ad',
blogUrl:'blog/static/',
isPublished:1,
istop:false,
modifyTime:0,
publishTime:0,
permalink:'blog/static/',
commentCount:0,
mainCommentCount:0,
recommendCount:3,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[''],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:true,
hostIntro:'',
hmcon:'0',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}adc STM8S的ADC采样配置,拿来就可以用,已经调试过。 值采用求平 方法,当然也 SCM 单片机开发 267万源代码下载-
&文件名称: adc& & [
& & & & &&]
&&所属分类:
&&开发工具: C-C++
&&文件大小: 1 KB
&&上传时间:
&&下载次数: 18
&&提 供 者:
&详细说明:STM8S的ADC采样配置,拿来就可以用,已经调试过。采样值采用求平均的方法,当然也可以采用冒泡排序法,看自己的需求。-STM8S ADC sample configuration used can be used, it has been tuned. Samples using the averaging method, of course, can also be used bubble sort method, see their needs.
文件列表(点击判断是否您需要的文件,如果是垃圾请在下面评价投诉):
&[]:一般,勉强可用&[]:纯粹是垃圾&[]:很好,推荐下载
&近期下载过的用户:
&&&&&&&&[]
&相关搜索:
&输入关键字,在本站267万海量源码库中尽情搜索:
&[] - STM8单片机adc控制PWM程序,改变占空比
&[] - STM8S 的TIM1PWM输出,可调占空比,非服用功能
&[] - 单片机为STM8S105S4,此程序可采集32路DC电流,另有一个电压采集通道
&[] - 基于stm8s单片机的adc测试,串口输出显示
&[] - 关于STM8S,利用adc采集电压,输出pwm波形的输出。通过调节ADC电压,控制PWM输出。采用IAR for stm8开发环境。
&[] - stm8 adc采样自己编写的有需要的看看
&[] - 使用STM8S103芯片作为adc转换的程序例子,有需要的可以参考。
&[] - STM8S 外设驱动 adc BEEP CLK_Modify EEPROM TIM2(16位) TIM4(8位) wdg
&[] - stm8 adc源代码,可用,stm8 ADC源代码,可用
&[] - stm8s003f3单片机独立ID读取,用串口发送STM8S的ADC应用
> STM8S的ADC应用
STM8S的ADC应用
//软件环境:IAR FOR STM8 V1.0//作者:Nicole本文引用地址://功能:AD的单次转换程序,适合温度的采集和电压的采集//日期:#include "iostm8s105c6.h"unsigned int DATA;unsigned int DATAH;unsigned int DATAL;// 函数功能:延时函数// 输入参数:ms -- 要延时的毫秒数,这里假设CPU的主频为2MHZvoid DelayMS(unsigned int ms){while(ms != 0){for(i=0;i<250;i++){}for(i=0;i<75;i++){}ms--;}}//时钟配置默认void CLK_Init(void){}// 将PD0设置成推挽输出,以便推动LEDvoid GPIO_Init(void){PD_DDR = 0x01;PD_CR1 = 0x01;PD_CR2 = 0x00;}// 初始化A/D模块void ADC_Init(void){ADC_CR2 = 0x00;// A/D结果数据左对齐ADC_CR1 = 0x00;// ADC时钟=主时钟/2=1MHZ// ADC转换模式=单次// 禁止ADC转换ADC_CSR = 0x00;// 选择通道0ADC_TDRL = 0x01;//禁止施密特触发}main(){GPIO_Init();ADC_Init();while(1)// 进入无限循环{ADC_CR1 = 0x01;// CR1寄存器的最低位置1,使能ADC转换for(i=0;i<100;i++);// 延时一段时间,至少7uS,保证ADC模块的上电完成ADC_CR1 = ADC_CR1 | 0x01; // 再次将CR1寄存器的最低位置1// 使能ADC转换while((ADC_CSR & 0x80) == 0); // 等待ADC结束DATAH = ADC_DRH;// 读出ADC结果的高8位DATAL = ADC_DRL;DATA = (DATAH<<2) + DATAL ; //得到十位精度的数据//PD_ODR = 0x01;// PD0灭DelayMS(DATA);// 延时一段时间PD_ODR = PD_ODR ^ 0x01;// DelayMS(DATA);}}
分享给小伙伴们:
我来说两句……
最新技术贴
微信公众号二
微信公众号一后使用快捷导航没有帐号?
请完成以下验证码
查看: 8138|回复: 2
关于ADC内部1.2V参照电压的问题
在线时间126 小时
TA的帖子TA的资源
一粒金砂(高级), 积分 424, 距离下一级还需 76 积分
一粒金砂(高级), 积分 424, 距离下一级还需 76 积分
最近在做红外管触摸屏的时候碰到了一个这样的问题,同样的电路,用别人写好的程序,读取出来的每一个通道的值都比较稳定;
但是,我自己的程序,读取到的值,总是会出现间歇性的抖动,怀疑是电源电压不稳定,就想到用内部1.2V参照电压来修正读取的结果,不知道下面这样修正对不对?
(AD1.2 - 0x5D) * (3.3 / 1.2) = (AD测 - AD理论),其中AD1.2是对1.2V读取后的数值,0x5D是1.2V的八位理论值,我所有AD数据都是变成八位的,那么修正后的某个通道的值就应该是 AD理论 ?但就算用这个方式,采集出来还是会出现间歇性的抖动,不知道是不是应该从其他方面去解决这个问题?
在线时间3582 小时
威望31833分
芯币59433枚
TA的帖子TA的资源
是不是电源影响,楼主可以搞个性能好一些的电源,一试就成。
对于ADC值的修正,一般是
ADC结果 * 参考源电压 / 满量程值
在线时间1764 小时
威望43161分
芯币42812枚
E金币1812枚
TA的帖子TA的资源
先基于同样平台不同程序做测试,如果结果不同说明你的程序编制有缺陷,缺少了必要的软件滤波或对ADC的操作时序有问题,否则才是硬件问题,包括电源和参考源的参数以及前向通道本身的问题。
上传了一些书籍资料,也许有你想要的:
&&&&&&&&&&
技术导师勋章
论坛威望大于30000或网友提名:坛子里公认的技术导师
EEWORLD 官方微信
Powered bySTM8L051之ADC+DMA两通道数据采样错位问题 - CSDN博客
STM8L051之ADC+DMA两通道数据采样错位问题
程序中使用ADC1采样一个外部输入,一个内部参考电压的
电压,其中出现了两通道的数据错位问题,即有时数组第
一个数与该数组第二个数据交换了,在网上找了很久=都
没神马结果,最后只能将ADC的连续转换模式设置成单次转换
即ADC_Init(ADC1, ADC_ConversionMode_Continuous,
ADC_Resolution_12Bit, ADC_Prescaler_1);改成
ADC_Init(ADC1, ADC_ConversionMode_Single,
ADC_Resolution_12Bit, ADC_Prescaler_1);
在每次一组数据传 输完成产生一次DMA中断的时候再启动下
一次adc转换。这样数据才不至于错位。
***最后,如果读者有一些在adc连续转换模式解决数据错位的办法,请指教***
本文已收录于以下专栏:
相关文章推荐
STM8的ADC的五种工作模式
STM8的ADC是10位的逐次比较型模拟数字转换器,多达16个多功能的输入通道。...
关于ADC动态范围的计算及应用
http://write.blog.csdn.net/postedit
GPS数据包解析
很多朋友都不知道GPS数据包怎么解析,给大家分享一下,GPS上电后,每隔一定的时间就会返回一定格式...
stm8L051芯片内部的参考电压与电源电压有一定的关系,这在芯片供电电压变化的情况下,测量外部ADC电压输入提供一个确定的参考电压。这里提前厘清下:该内部参考电压VREFINT 并非ADC 的参考电...
第一次写博客,奉献给STM32了,一直以来都是潜水看博客,希望能够自己也能写一点东西,对自己学习和工作的一个总结,希望能够坚持下去。项目背景:以57.6kbps的速率采集两个通道的数据
芯片:STM...
STM32的里有利用Timer进行ADC采样频率控制例程,但是只有一个通道。下面是6个规则通道ADC采样,利用Timer1的第一通道进行控制,ADC采样完成后利用DMA将数据传输到SRAM里,传输完毕...
#include "stm32f10x_lib.h"
extern void board_Configuration(void);
extern unsigned shor...
本文原创于观海听涛,原作者版权所有,转载请注明出处。
作为一个偏向工控的芯片,ADC采样是一个十分重要的外设。STM32集成三个12位精度18通道的内部ADC,最高速度1微秒,结合DMA可以解放CP...
他的最新文章
讲师:何宇健
讲师:董岩
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)

我要回帖

更多关于 stm32adc采集电压范围 的文章

 

随机推荐