51单片机外部晶振的精度AD转换时精度小几个LSB怎么办

【求助贴】关于STC自带AD测量电压的精度问题|我爱单片机 - 数码之家
查看完整版本: [--
赞助商链接
用单片机10位AD测电池电压为3.68V(多次测量),用万用表20V档测却是3.58V,为什么?求解答&&&& 并且,单片机VCC用同电表测5.01V,电表9V电池新换的,请教为什么误差这么大,并且,哪个是更接近实际值
赞助商链接
我也想知道答案。
赞助商链接
首先那破烂自带ad肯定不准,10位ad能用7~8位就不错了然后你的电源工作做得好不好不知道然后确定自己已经设置高阻态了,对吧?然后做好输入的滤波和电源的滤波减小pcb上其它元件的干扰必须软件滤波这样基本上能够用到8位了...
额。。STC自带10位AD这么垃圾么,,以前真没注意过。。。
也没那么烂吧,我做过电压表还有电流表,基本上误差不大楼主可以多测几个电压,如果误差都是0.1V的话可以用软件校准
另外问一句,读出来的AD值在转换的时候,应该除以1023 还是1024.....
这个对精度影响不大吧,千分之一不到
STC的AD参考电压是VCC来的,你的5V不可能很准的所以你还要用软件在修正
表也不一定很准&&都差不多 要想AD准 就外加基准
测量电压 =( 基准电压 * 测量转换值)/ 基准转换值电压单位:mV直接用电源基准不够精确(除非你的电源非常稳,纹波非常小),加个TL431基准源,而且也用不着10位,8位就够用了,与数字万用表测得的数据几乎一样,相差±0.01V
你首先要找个基准,哪个表准?也许都不准。没法评估的。
电压基准要稳,AD需用软件做滤波处理,但是一般人10位AD能做到8位的精度已经不错了。
你换个IO口试一下,我就碰到过P1.1做AD转换,1V多测成3V多,只好说该口做AD转换坏了,换个口就行了。
stc自带ad比较小,一般情况下能满足要求,要是你精度要求高,可以加外设ad
查看完整版本: [--
Powered by
Time 0.052429 second(s),query:5 Gzip enabled【图文】51单片机ad、da转换器_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
51单片机ad、da转换器
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢51单片机综合学习系统之 AD模数转换实验篇
51单片机综合学习系统之 AD模数转换实验篇 《电子制作》2008年8月 站长原创,如需引用请注明出处
&&&&大家好,通过以前的学习,我们已经对51单片机综合学习系统的使用方法及学习方式有所了解与熟悉,学会了使用SPI总线的基本知识,体会到了综合学习系统的易用性与易学性,这一期我们将一起学习AD模数转换的基本原理与应用实例。
&&&&先看一下我们将要使用的51单片机综合学习系统能完成哪些实验与产品开发工作:分别有流水灯,数码管显示,液晶显示,按键开关,蜂鸣器奏乐,继电器控制,IIC总线,SPI总线,PS/2实验,AD模数转换,光耦实验,串口通信,红外线遥控,无线遥控,温度传感,步进电机控制等等。主体系统如图1所示,其配套书本教程《单片机快速入门》如图2所示。
图1 51单片机综合学习系统主机部分图片
图2 51单片机综合学习系统配套书本教程――《单片机快速入门》
&&&&上图是我们将要使用的51单片机综合学习系统硬件平台,如图1所示,本期实验我们用到了综合系统主机、板载的ADC0832 模数转换芯片,综合系统其它功能模块原理与使用详见前几期《电子制作》杂志及后期连载教程介绍。
&&&&在工业控制和智能化仪表中,通常由微型计算机进行实时控制及实时数据处理。计算机所加工的信息总是数字量,而被控制或被测量的有关参量往往是连续变化的模拟量,如温度、速度、压力等等,与此对应的电信号是模拟信号。模拟量的存储和处理比较困难,不适合作为远距离传输且易受干扰。在一般的工业应用系统中传感器把非电量的模拟信号变成与之对应的模拟信号,然后经模拟(Analog)到数字(Digital)转换电路将模拟信号转成对应的数字信号送微机处理。这就是一个完整的信号链,模拟到数字的转换过程就是我们经常接触到的ADC(Analog to Digital Convert)电路。
模-数转换(ADC)简介
模-数转换原理
&&&&ADC的转换原理根据ADC的电路形式有所不同。&&ADC电路通常由两部分组成,它们是:采样、保持电路和量化、编码电路。其中量化、编码电路是最核心的部件,任何ADC转换电路都必须包含这种电路。&ADC电路的形式很多,通常可以并为两类:
&&&&间接法:它是将采样-保持的模拟信号先转换成与模拟量成正比的时间或频率,然后再把它转换为数字量。这种通常是采用时钟脉冲计数器,它又被称为计数器式。它的工作特点是:工作速度低,转换精度高,抗干扰能力强。
&&&&直接法:通过基准电压与采样-保持信号进行比较,从而转换为数字量。它的工作特点是:工作速度高,转换精度容易保证。&
&&&&模―数转换的过程有四个阶段,即采样、保持、量化和编码。
&&&&采样是将连续时间信号变成离散时间信号的过程。经过采样,时间连续、数值连续的模拟信号就变成了时间离散、数值连续的信号,称为采样信号。采样电路相当于一个模拟开关,模拟开关周期性地工作。理论上,每个周期内,模拟开关的闭合时间趋近于0。在模拟开关闭合的时刻(采样时刻),我们就“采”到模拟信号的一个“样本”。
&&&&量化是将连续数值信号变成离散数值信号的过程。理论上,经过量化,我们就可以将时间离散、数值连续的采样信号变成时间离散、数值离散的数字信号。
&&&&我们知道,在电路中,数字量通常用二进制代码表示。因此,量化电路的后面有一个编码电路,将数字信号的数值转换成二进制代码。
&&&&然而,量化和编码总是需要一定时间才能完成,所以,量化电路的前面还要有一个保持电路。保持是将时间离散、数值连续的信号变成时间连续、数值离散信号的过程。在量化和编码期间,保持电路相当于一个恒压源,它将采样时刻的信号电压“保持”在量化器的输入端。虽然逻辑上保持器是一个独立的单元,但是,工程上保持器总是与采样器做在一起。两者合称采样保持器。
八位串行A/D转换器ADC0832简介
&&&&ADC0832 是美国国家半导体公司生产的一种8 位分辨率、双通道A/D转换芯片。由于它体积小,兼容性强,性价比高而深受单片机爱好者及企业欢迎,其目前已经有很高的普及率。ADC083X是市面上常见的串行模―数转换器件系列。ADC0831、ADC0832、ADC0834、ADC0838是具有多路转换开关的8位串行I/O模―数转换器,转换速度较高(转换时间32uS),单电源供电,功耗低(15mW),适用于各种便携式智能仪表。本章以ADC0832为例,介绍其使用方法。
&&&&ADC0832是8脚双列直插式双通道A/D转换器,能分别对两路模拟信号实现模―数转换,可以用在单端输入方式和差分方式下工作。ADC0832采用串行通信方式,通过DI 数据输入端进行通道选择、数据采集及数据传送。8位的分辨率(较高分辨可达256级),可以适应一般的模拟量转换要求。其内部电源输入与参考电压的复用,使得芯片的模拟电压输入在0~5V之间。具有双数据输出可作为数据校验,以减少数据误差,转换速度快且稳定性能强。独立的芯片使能输入,使多器件挂接和处理器控制变的更加方便。
&&&&ADC0832 具有以下特点:
? 8位分辨率;
? 双通道A/D转换;
? 输入输出电平与TTL/CMOS相兼容;
? 5V电源供电时输入电压在0~5V之间;
? 工作频率为250KHZ,转换时间为32μS;
? 一般功耗仅为15mW;
? 8P、14P―DIP(双列直插)、PICC 多种封装;
? 商用级芯片温宽为0°C to +70°C,工业级芯片温宽为-40°C to +85°C;
图3 ADC0832引脚图
芯片接口说明:
? CS_ 片选使能,低电平芯片使能。
? CH0 模拟输入通道0,或作为IN+/-使用。
? CH1 模拟输入通道1,或作为IN+/-使用。
? GND 芯片参考零电位(地)。
? DI 数据信号输入,选择通道控制。
? DO 数据信号输出,转换数据输出。
? CLK 芯片时钟输入。
? Vcc/REF 电源输入及参考电压输入(复用)
ADC0832的工作原理:
&&&&正常情况下ADC0832 与单片机的接口应为4条数据线,分别是CS、CLK、DO、DI。但由于DO端与DI端在通信时并未同时使用并与单片机的接口是双向的,所以在I/O口资源紧张时可以将DO和DI并联在一根数据线上使用。当ADC0832未工作时其CS输入端应为高电平,此时芯片禁用,CLK 和DO/DI 的电平可任意。当要进行A/D转换时,须先将CS使能端置于低电平并且保持低电平直到转换完全结束。此时芯片开始转换工作,同时由处理器向芯片时钟(CLK)输入端输入时钟脉冲,DO/DI端则使用DI端输入通道功能选择的数据信号。在一个时钟脉冲的下沉之前DI端必须是高电平,表示启始信号。在第二、三个脉冲下沉之前DI端应输入两位数据用于选择通道功能。
工作方式说明
单端输入方式
表1:通道地址设置表
&&&&如表1所示,当此两位数据为“1”、“0”时,只对CH0 进行单通道转换。当2位数据为“1”、“1”时,只对CH1进行单通道转换。当两位数据为“0”、“0”时,将CH0作为正输入端IN+,CH1作为负输入端IN-进行输入。当两位数据为“0”、“1”时,将CH0作为负输入端IN-,CH1 作为正输入端IN+进行输入。到第三个脉冲的下降之后DI端的输入电平就失去输入作用,此后DO/DI端则开始利用数据输出DO进行转换数据的读取。从第4个脉冲下降沿开始由DO端输出转换数据较高位Data7,随后每一个脉冲的下降沿DO端输出下一位数据。直到第11个脉冲时发出最低位数据Data0,一个字节的数据输出完成。也正是从此位开始输出下一个相反字节的数据,即从第11个字节的下降沿输出Data0。随后输出8位数据,到第19 个脉冲时数据输出完成,也标志着一次A/D转换的结束。较后将CS置高电平禁用芯片,直接将转换后的数据进行处理就可以了。时序说明请参照图4。
&&&&作为单通道模拟信号输入时ADC0832的输入电压是0―5V且8位分辨率时的电压精度为19.53mV,即(5/256)V。如果作为由IN+与IN-输入的输入时,可是将电压值设定在某一个较大范围之内,从而提高转换的宽度。但值得注意的是,在进行IN+与IN-的输入时,如果IN-的电压大于IN+的电压则转换后的数据结果始终为00H。
ADC0832的工作时序
图4 ADC0832工作时序
ADC0832软硬件设计实例
&&&&通过以上的理论学习之后,对模―数转换应该有了一定的了解,接下来就根据上文的指导,对ADC0832进行实际应用,以加深印象。本实例功能是将通道1上采样到的电压显示在LED数码管上,通过改变通道1的输入电压变化,观察输出读数。本实例调试前要先将功能选择开关调到ADC0832位置上,如图5,图6所示。
图5 ADC0832实验演示图
图6 ADC0832实验演示图
硬件原理图
图7 硬件原理图
程序流程图
图8 软件流程图
????????????&&&&相信看到这里,你应该可以理解我们是如何利用单片机来进行模数转换的处理了,你也可以根据自己的需要来写些AD模数转换相关的应用程序,如数字温度计,湿度传感应用,压力传感应用等等。由于篇幅有限,读者朋友可以通过网站或电子邮件一起交流与学习。在下几期中,我们将陆续介绍51单片机综合学习系统的其它功能原理与应用。
以上部分内容转载于网上,如有涉及到版权问题,请即通知本人删除 浙ICP备号
联系地址:浙江省杭州市西湖科技园西园七路3号4层
邮政编码:310011&Email:
电话总机:0 &&产品咨询:转分机1 &&技术支持:转分机2 &&传真:转分机3 &&手机:
技术QQ熊工:
技术QQ徐工:
杭州晶控电子有限公司 版权所有
COPYRIGHT2003――2011 HANGZHOU KinCony ELECTRONICS CO.,LTD All
rights reserved技术小站:
& 立即观看精彩视频回放,学习热门知识
& 地点:广州
时间:4月26日 13:00 - 18:00
& 地点:深圳
时间:4月27日 13:30 - 17:30
& 地点:深圳
时间:5月8日 13:00 - 18:00
张飞电子工程师速成全集
10天掌握PCB AD画板
教你高速PCB项目整体设计
如何设计STM32单片机系统?
物联网操作系统从写到用
讲师:华清远见
讲师:林超文
讲师:郑振宇
讲师:李述铜
移入鼠标可放大二维码
什么是单片机ad转换,单片机ad转换处理方法
来源:网络整理 作者:日 16:22
[导读] 单片机内集成的A/D转换,一般都有相应的特殊功能寄存器来设置A/D的使能标志,参考电压,转换频率,通道选择,A/D输入口的属性(模拟量输入还是普通的I/O口),启动,停止控制等。有了这些寄存器,使得我们控制单片机的模拟量采集变得非常方便。
  单片机ad转换信息介绍
  1、什么是AD转换
  A是模拟信号的意思,D是数字信号的意思,AD转换就是模数转换,顾名思义,就是把模拟信号转换成数字信号,例如把电压值转化为数字信号。
  2、为什么要AD转换
  单片机(以及其他处理器)只能处理数字信号,当单片机想要获取电路上某一点的电压值时,就得用到AD转换了,如果你直接把单片机的引脚接到电路这个点上,单片机只知道这个点的电压是低电平还是高电平,又怎么能得到他的电压值呢?例如数字式的万用表,它测量电压时,先有一个AD转换电路,把电压值转换成一个数值,然后把这个值送个单片机(当然万用表里的用的处理芯片不是单片机),单片机经过计算处理后,再把这电压值显示到显示到屏幕上。不过现在有一些比较强的单片机,其内部已经集成了AD转换器,不需要你再外接AD转换芯片。
  3、8位16位的ad转换芯片是什么意思
  8位,16位就代表了AD转换芯片的转换分辨率,数字越大,分辨率越高,同时也反映了它的精度,数字越大,精度相对也越高。8位算是最低了,有些单片机里集成的AD转换器一般是10位的。12位和16位的芯片价格就比较贵了。
  4、分辨率
  举个简单的例子,8位芯片只能转换最小到0.01V的电压,而12位的芯片却能转换最小到0.001V的电压,如果一个电压为3.359V,8位芯片转出来后的数值是3.35V,12位芯片转换出来后是3.359V,精度比8位就高一个档次了。(注:这里数值不是正确的数值,举例用,切勿实际使用)
  5、采样
  采样是AD转换的速度性能指标,通俗的说就是每秒里能采样多少次,采样次数越高芯片性能越好。如果对采样不理解,也可以用另一种方式理解,就是一个AD转换芯把电压值转换成数字值这个过程所需要的时间,时间越短越好。
  6、精度
  精度是AD芯片的一个重要参数,表示采集到的数据和真实值之间的相差的程度。例如单片机转换出来的结果是0.3V,而实际可能是0.31V,这样就相差了0.01V。这种误差是不可避免无法消除的。这和在第3点中提到的位数有关,位数越高,这样的误差越小。
  单片机ad转换处理方法
  单片机内集成的A/D转换,一般都有相应的特殊功能寄存器来设置A/D的使能标志,参考电压,转换频率,通道选择,A/D输入口的属性(模拟量输入还是普通的I/O口),启动,停止控制等。有了这些寄存器,使得我们控制单片机的模拟量采集变得非常方便。
  A/D转换的基本原理是:将参考电平按最大的转换值量化,再利用输入模拟电平与参考电平的比例来求得输入电平的测量值(V测=V参*(AD量化值/AD转换的最大值))。有些MCU A/D转换的参考电平可以选择由一个外部引脚输入,这样使得用户可以对A/D转换进行更好的控制。值得注意的一点就是A/D转换的输入电平必须比参考电平低或相等,不然测试的结果就会有很大的偏差。
  下面以参考电平为5V,转换的精度为8位为例来说明如何取得实际的测量值是多少。如果AD量化值为128,则V测= 5*128/256=2.5V。因为V测=V参*(AD量化值/AD转换的最大值)=AD量化值*(V参/AD转换的最大值),而针对具体的硬件电路,&V参/AD转化的最大值&是一个固定的系数。而这个系数,就相当于测试的精度了。对于10位的A/D,5V的参考电压的测试精度约5毫伏,而用2.048伏的参考电压,精度就可以达到2毫伏。当然测试的电压范围相应的也减小了。我曾经就用这种减小测量范围来提高精度,使用PIC16F76做A/D测量,使得正负误差不超过5毫伏的高精度测试电源。当误差超过5毫伏时,电路发出报警声,提示操作员,重新调解电压到规定范围内。
  然而,即使使用同样一款MCU,不同的软硬件设计者,使得A/D转换的效果相差也甚远。主要是很多新手在处理上有些不当,不是直接把一次转换后的结果拿来处理并做相应的显示,就是对参考电平不做处理。所以使得显示效果老是变化不定,给人一种不稳定的感觉。
  针对参考电平设在单片机内部的MCU,主要是要对A/D的量化值做数字滤波处理,比如多次间隔采样,再求平均等。而针对参考电压可以从外部输入脚引入的,最好单独设置一组高稳定度的参考电压,如TL431等。这样,即使MCU的主电源有些波动也不会导致A/D转换值的漂移。其实在没有高精度参考电压的情况下,或者A/D量化值很不稳定的情况下,
  我们依然可以通过软件的方法将与A/D转换有关的显示或其他的驱动做得非常稳定。这就要看程序员的设计经验了。
关注电子发烧友微信
有趣有料的资讯及技术干货
下载发烧友APP
打造属于您的人脉电子圈
关注发烧友课堂
锁定最新课程活动及技术直播
声明:电子发烧友网转载作品均尽可能注明出处,该作品所有人的一切权利均不因本站而转移。
作者如不同意转载,既请通知本站予以删除或改正。转载的作品可能在标题或内容上或许有所改动。
单片机相关文章
单片机相关下载
论坛精华干货
供应链服务
版权所有 (C) 深圳华强聚丰电子科技有限公司
电信与信息服务业务经营许可证:粤B2-豆丁微信公众号
君,已阅读到文档的结尾了呢~~
第11章 51单片机与DA、AD 转换器的接口
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
第11章 51单片机与DA、AD 转换器的接口
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='http://www.docin.com/DocinViewer--144.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口

我要回帖

更多关于 单片机ad转换原理 的文章

 

随机推荐