提高PIC单片机AD分辨率的程序.pdfVIP

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
提高PIC单片机AD分辨率的程序

提高PIC 单片机AD 分辨率的程序 摘要:介绍一种将PIC 16C711 片内8 位A/D 提高到11 位的方法。此方法电路简单,速度快, 可提高单片机应用系统的性能价格比,具有一定的推广价值。 关键词: PIC 16C711 单片机 A/D 分辨率 目前,单片机中嵌入的A/D 一般为8 位到 10 位,难以满足信号处理应用中高分辨率的要求;而 外接高分辨率的A/D 将使成本明显提高,因为A/D 转换器的价格将随其位数的增加而成倍增 加。本文介绍一种提高PIC 16C711 单片机片内A/D 分辨率的方法,将PIC 16C711 片内的8 位 A/D 提高到11 位。这种方法在PIC 系列的其他单片机也适用。 美国Microchip 公司推出的8 位单片机PIC 16C711 是一种性能价格比 高的单片机。它价格 低、封装小、采用CMOS 工艺,具有OTP 型,开发起来 方便。它内含4 路8 位高速A/D,将 它扩展到11 位后,可以大大提高单片机应用系统的性能价格比。 一、提高PIC 单片机AD 分辨率的硬件电路 实现扩展的原理图如图1 所示。8 个等值的精密电阻R 将0~5V 基准电压分割成8 档,每档 范围为0.625V。8 个抽头分别接CD4051 八选一模拟开关的8 个输入端,通道选择控制端C,B,A 分别由PIC 16C711 单片机的RB2,RB 1,RB0 控制。IC2 和IC3 为高输入阻抗运放,IC2 构成跟 随器,IC3 构成精密差分放大器。 二、提高PIC 单片机AD 分辨率的工作原理 实现11 位A/D 转换由PIC 16C711 做2 次8 位A/D 转换完成。PIC 16C711 有4 个模拟量输入 通道RA0~RA3,这些模拟量输入通道复用1 个采样保持器进入到A/D 转换器。参考电压Vref 可以来自外部也可以来自内部 VDD,A/D 转换器属于逐次逼近式,转换结果(8 位)存入 ADRES 寄存器。在A/D 转换前必然选择适 的通道,设置足够的采样时间。用户可以通过设 置A/D 控制寄存器ADCON0 和ADCON1 来控制其转换过程,同时A/D 转换的状态也会在 ADCON0 中体现出来。 先将待转换的电压Vi 送到PIC 16C711 的RA0 通道做一次A/D 转换。根据转换所得的数字 量由软件算出Vi 在8 档中位置,用Vi 减去Vi 所在档的起始电压。将所得差值放大8 位,使之 变为0~5V 电压信号,再送给PIC 16C711 的RA1 通道做 1 次A/D 转换,所得数字量是 11 位 AD 转换的低8 位,而档位CBA 就是高3 位,从而实现11 位A/D 转换。 举例说明如下:假设输入电压Vi 为3V,程序控制PIC 16C711 的RA0 通道先进行第1 次A/D 转换,所得结果是 153,即 3/5 ×255= 153,对应 8 位数字量为。将低 5 位屏蔽,得 循环右移 5 次,得此时低 3 位对应的就是 Vi=3V 电压时的档位,即第4 档,CBA= 100,程序将该档位由 RB2,RB 1,RB0 输出,作为 8 选一模拟开关的通道选择,使 CD4051 输出2.5V, 即5/8 ×4=2.5V 。该电压经IC2 运放跟随,再经IC3 进行差分放大。设计时 调整R 11,R 12,R 13 和 R 14 的阻值,使放大倍数为 8 位,则得放大器 IC3 输出Vo=8 (Vi-2.5 ) =8(3-2.5)=4.0V 。选择RA1 通道进行第2 次A/D 转换,结果这就是11 位A/D 转 换结果的低 8 位。档位 100 为 11 位A/D 转换的高3 位,合起来就是 11 位A/D 转换的结果 10011001100。 三、提高PIC 单片机AD 分辨率的程序 以下是使用PIC 16C711 指令系统完成11 位A/D 转换的程序段。 BSF STATUS,RP0;选页面1 MOVLW ;RA0 、RA1 为模拟通道 MOVWF ADCON 1 ;内部参考电压 BCF STATUS,RP0 ;选页面0 MOVLW ;选RA0 通道和内部时钟 MOVWF ADCON0 MOVLW .125 ;延时125 μs,等待输入 CALL WAIT ;稳定 BSF ADCON0,GO

文档评论(0)

liangyuehong + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档