基于AT89CX051的A/D转换实现

发布者:qinghong最新更新时间:2023-10-12 来源: elecfans关键字:AT89CX051  D转换  充放电 手机看文章 扫描二维码
随时随地手机看文章

1引言
  AT89CX051系列单片机是一种低功耗、高性能的片内含有闪速可编程存储器的8位CMOS微控制器,使用高密度、非易失存储技术制造,输出管脚少,工作电压范围宽,内部集成了模拟比较器,与80C51引脚和指令系统完全兼容。该系列芯片将具有多种功能的8位CPU与FPEROM结合在一个芯片上,为很多嵌入式控制应用提供了非常灵活而又价格便宜的方案,其性价比远高于8751。


  由于AT89CX051系列单片机内部不具备A/D转换功能,使一些需要进行模拟量处理的应用装置的成本提高,为此,本文介绍一种利用AT89CX051内部比较器及RC阻容器件使AT89CX051能够处理模拟量的简单技术。在这种使用少量元件的转换方法中,分辨率为50mV,精度低于0.1V,转换时间为7ms或更长,可见它是以损失精度和转换时间为代价的。但在精度要求不高的应用场合不失为一种有效的方法。


2硬件原理
  如图1所示,实现A/D转换仅需要两个电阻、一个电容和一片AT89CX051。AT89CX051的输出引脚P11的电位从地到Vcc之间摆动,一交替充放电的电容被连接到AT89CX051内部比较器的正向输入引脚P12上,AT89CX051的检测时间为电容上电压达到与施加在内部比较器反向输入端P13上的被测电压相等时所需的时间。显然,被测电压是测量时间的函数。


  可以看出,该转换方法的本质就是利用电容的充放电原理。对于典型的电容充放电,其波形的充放电部分相等并在Vc=Vcc/2处转变,电容上的电压是一时间函数:
 
式中,Vc表示时间t内电容上的电压;Vcc为电源电压;RC为时间常数,其大小影响波形的形状。


  要对式(1)进行求解,必须使用浮点计算和超越函数,这种运算若利用AT89CX051的指令来实现是很困难的。为此,采用将每个采样点的预计算值映象为搜索表,就无需实时求解上述的指数等式。同时,在这种方式中,利用数据编码和格式化可以简化转换软件,利用数据的对称性可以减小表格的大小。

 

3RC参数的确定
  基于RC的A/D转换方法中对元件参数的变化比较敏感。如图2所示,由于电阻、电容值的变化引起了电容上电压的变化。从图中可以看出,当电容容量减小时,电容上电压也相应减小。利用电容充放电的对称性可以减小器件参数变化对准确度的影响。理由在于充电周期的测量电压<VCC/2,放电周期的测量电压>VCC/2,这样,最大误差不会超过VCC/2,所以RC参数的确定至关重要。


  在确定RC参数之前,必须确定比较器输出的采样间隔。采样间隔应尽可能短,以提高转换精度,缩短转换时间。采样间隔主要受执行时间的限制,而程序代码的执行速度取决于单片机的时钟速率。


  RC时间常数影响充放电波形的形状,为使波形最陡段的可分辨率达到希望的值,必须对时间常数进行选择。充电周期波形的最陡处发生在原点附近,而放电周期的最陡处靠近Vcc。由于波形的对称性,在充放电周期性中均采用同一时间常数。图3给出了充电初期电压和采样时间的关系曲线。在图中,△V是希望的转换器电压分辨率;△t为采样间隔;Vc表示电容上的电压,在图示比例下表现为线性。采样点位于电压当量的中间,曲线的斜率有可能比图示小,但不可能比图示大(或降低分辨率)。为了获得首次采样要求斜率所需要的最小时间常数,由(1)式得:

    设△V为小分辨率(0.05V),△t为采样间(2)隔(5μs),计算首次采样点的RC,取Vc=1/2△V,t=1/2△t

  R与C的积不能小于最小时间常数的计算值,利用误差为1%的电阻及误差为5%的电容,即:

  在图1中,所选电阻值为267kΩ,电容值为2μF则相应的时间常数近似为5.02×10-4。单片机的P11连接了一个5.1kΩ的上拉电阻,该电阻用于补充单片机内部上拉的不足,但它在充放电周期的充放电过程中对时间常数有不利影响,导致充放电周期的非对称性,产生转换误差。为减小这种影响,R标称值的选择应远远大于上拉电阻值。


  时间常数是期望转换精度和确定电容充放电持续时间的函数,电容充放电的时间越长,整个测量过程要求的采样次数也就越大。电容充放电的要求时间近似于电容上电压从渐近线上升到最小电压当量的一半所需的时间。对于充电,渐近线位于Vcc。由于波形的对称性,下面的计算值适合于充放电两个周期,

由(1)式得,假定分辨率为0.05V,则电容上的电压为:

  整个测量中,采样次数的最小值由电容上电压由(5)式得:
 

则充电或放电周期的最小采样次数为:

   为增加准确度,在充放电周期的充电段测量电压范围为0~Vcc/2,放电段为Vcc~Vcc/2,从而使搜索表的数据前面对每个半周期采样的两倍。


4算法
  搜索表包含与每个采样点相对应的计算电压值,对于每半个周期,表中第N个入口(条目)与t=(N-1)时刻的电压相对应(△t为采样间隔),对充电的半周期,每个采样点的电压通过等式(1)计算,t取值为充电开始到该采样点的累计时间;对于放电的半周期,每个采样点的电压通过下式计算,t的取值为放电开始到该采样点的累计时间,即:

   表的内容大小是变化的,它取决于采样间隔和转换精度,当分辨率增加时,表中的条目就增加,当分辨率为0.05V时,表中的条目为158。
  对充电周期,将等式(1)的t用N△t代替,便可计算出相应采样点的电压。这里N表示采样点数(0~78)。设△t等于5μs的采样间隔,R=267kΩ,C=2μF,Vcc=5V,则等式(1)变为:

同理,对于放电周期,将等式(10)中的t用N△t代替,其余同上,则等式(10)变为:
  


  在充电周期电压值为升序,在放电周期为降序,电容上电压的轨迹即为表的条目顺序。
5误差分析
  RC型A/D转换方法的准确度为±0.1V,但实际上有可能达不到,即使采用精密器件,其参数的变化将会引起±0.104V的误差。
  当Vc=2.5V时,误差最大,由(5)式:

  结果表明,有0.208的变化,或者说最大误差为±0.104V这种转换误差可通过利用更多允许误差的器件来减小。


  参 考 文 献

1 周航慈.单片机应用系统程序设计技术.北京:北京航空航天大学出版社,1991
2 李大有,姜秀芳.单片微型机硬件、软件及应用.北京:高等教育出版社,1992
3 吴万峰,吴万钊.模糊数学与计算机应用.北京:电子工业出版社,1998


关键字:AT89CX051  D转换  充放电 引用地址:基于AT89CX051的A/D转换实现

上一篇:以STC89C52单片机为核心的电子密码锁设计
下一篇:AT89S51单片机对十字路口交通信号灯的控制设计

推荐阅读最新更新时间:2024-11-10 10:20

A3936驱动器在电动机中的应用
  无刷直流电动机以其具备交流电动机结构简单、运行可靠、维护方便等优点,同时又具备直流电动机的效率高、调速性能好等诸多特点,而在工业控制、仪器仪表、航空航天等领域的应用日益广泛。A3936就是Allegro公司推出的新一代三相无刷直流电动机专用控制/驱动器芯片。   1 A3936的特点功能   1.1 主要特点   A3936是美国Allegro公司生产的新型DMOS三相PWM电机驱动器,它主要包括换相逻辑和功率驱动电路,可通过给定控制电压信号和方向控制逻辑信号来完成无刷直流电动机的调速和正反转控制。另外,A3936还具有内部欠压锁定、交叉电流保护、过热保护等功能,因而使用非常方便。此外,A3936 还具有±3 A/50
[嵌入式]
MathWorks 发布 2019a 版 MATLAB 和 Simulink
MathWorks 宣布推出了 2019a 版本的 MATLAB 和 Simulink。该版本包含支持人工智能(AI)、信号处理和静态分析的新产品和重要增强功能,以及所有产品系列中的新功能和 Bug 修复。 MATLAB 市场总监 David Rich 说道:“从大力推广 AI 向生产转移的重要挑战之一是,各个组织要雇佣 AI ‘专家’并尝试教他们掌握工程领域的专门知识。借助 R2019a,MathWorks 使工程师能够快速而有效地拓展他们的 AI 技能,无论是使用强化学习功能开发控制器和决策系统、在 NVIDIA DGX 和云平台上训练深度学习模型,还是将深度学习功能应用于三维数据。” AI R2019a 引入 R
[物联网]
MathWorks 发布 2019<font color='red'>a</font> 版 MATLAB 和 Simulink
联睿微电子近期已完成数千万元A+轮融资!
合肥联睿微电子科技有限公司(简称联睿微电子)近日向集微网透露,其已完成数千万元A+轮融资。 联睿微电子成立于2015年6月,专注于可穿戴芯片及物联网无线通信芯片设计、研发、制造和销售领域。据悉,本轮融资资金将主要用于开发新一代低功耗蓝牙芯片产品。此前联睿微创始人李虹宇曾透露,下一代芯片产品是基于蓝牙5.1设计,目前已在研发中,预计将在2020年上半年推出。 2015年9月,联睿微电子获得华颖基金及合肥市创新科技风险投资有限公司的首轮投资。2018年9月,又获得北极光创投和将门创投共同投资的6000万元A轮融资。不到两年时间,联睿微再次完成了由新加坡淡马锡旗下的祥峰投资主投,老股东北极光创投跟投的数千万元A+轮融资。
[手机便携]
PIC16F877A 内部EEPROM读写实验
/****************************************** ******PIC16F877A 内部EEPROM读写实验*******好象还有点问题,没有写进去? Author:hnrain Date:2010-12-25 Version:V0.1 Email:hnrain1004@gmail.com _______________________________ 实验现象:先给内部EEPROM的0~7字节写数据1~8,再读出第0字节的 内容,并判断读出来的数据是不是1,如果是1则点亮RD0口的LED。 重点内容: 内部EEPROM的操作主要通过4个寄存器 EECON1,EECON2,EEDATA,EE
[单片机]
方天圣华完成5000万元Pre-A轮融资,助AR技术研发
日前,方天圣华数字科技有限公司(以下简称“方天圣华”)宣布完成5000万元Pre-A轮融资,本轮融资由俐儒资本独家投资,资金主要用于增加AR技术研发,拓展多元化的应用场景,建设更加丰富的AR内容,加速景区业务市场的拓展。 资料显示,方天圣华数字科技有限公司是増强现实(AR)与文旅行业领先的5G+AR智慧云平台产品与服务提供商,拥有计算机视觉、深度学习智能交互、拍照与视频人像別除、光场建模等领域多项国内最优核心技术,致力于整合软硬件产品,为文旅行业客户提供科技+文化+旅游的整合方案,5G+AR智慧文旅云平台搭建、云平台激活与运营的整案咨询。 从发展历程上看,2019年成立之初,方天圣华分别与中国移动、中国电信签署了 5G+战略合作协
[手机便携]
ARM开发(4)基于STM32的矩阵键盘按键控制TM1629A LED显示
一 矩阵键盘按键控制TM1629ALED显示原理: 1.1 本实验实现矩阵键盘按键控制TM1629ALED显示 1.2 实验思路:共阴极数码管,掌握数码管段选位选原理 熟悉TM1629A芯片手册 1.3 开发环境 : MDK5 库函数版本开发 JLINK仿真 二 实验步骤: 2.1 keyled.h代码: #ifndef __KEYLED_H #define __KEYLED_H #include sys.h #define SEG_NUM 16 //段选,2个8段 #define GRID_NUM 8 //位选 #define WRITE_DATA_MODE_A
[单片机]
罗德与施瓦茨和联发科技携手发布基于A-Beidou的LBS
定位服务(LBS)中的A-Beidou是中国的新型GNSS卫星定位系统。罗德与施瓦茨和联发科技已经成功地完成了A-Beidou用户面和控制面的测试验证。R&S TS-LBS测试解决方案可以为手机制造商,芯片制造商,测试实验室和网络运营商提供验证芯片和手机设备的能力,由此达到这类设备在特定网络下获得使用许可的目的。 联发科技被测设备使用罗德与施瓦茨测试系统成功地完成了A-Beidou的相关验证, 这是全球导航卫星系统(GNSS)定位和导航演化史上的一个重要里程碑,这是第一次可以在测试仪表上面对支持A-Beidou的设备进行验证和检验。 罗德与施瓦茨的R&S TS-LBS是一个可以测试GNSS和基于网络LBS的测试系统。该系统是由一台
[汽车电子]
罗德与施瓦茨和联发科技携手发布基于<font color='red'>A</font>-Beidou的LBS
恩智浦JESD204A转换器配合高性能SiGeC技术特点
恩智浦在国防领域始终坚持为设计人员提供支持,推出了高效的航空电子器件、可以匹配原有双极工艺技术的L/S波段LDMOS功率放大器,新产品在可靠性、耐用性、增益和效率方面得到了大幅提升。   从最近推出的JESD204A ADC/DAC到原有可匹配GaAs性能的SiGeC分立器件和MMIC,恩智浦产品在保证系统整体性能的前提下,进一步提升了设计人员的灵活性,简化了新型复杂雷达设计与系统联机的难度。      主要特点   • 涵盖整个信号链路的完整产品线   • 领先的基站功率放大器专用射频晶体管   • 突破300 W/2.1GHz单器件性能上限   • 出色的能效   • 多种基于Si、SiGe和SiGe:C BiC
[模拟电子]
恩智浦JESD204<font color='red'>A</font><font color='red'>转换</font>器配合高性能SiGeC技术特点

推荐帖子

dts文件里怎么添加自定义组件
有谁知道在soc下,怎么配置dts文件,添加自己的设备信息在里面,然后编译成驱动树dtb文件,tks!!!!!!!我说的自己的设备,是自己定制的ip核,比如一个AD采集ip核,有谁知道?dts文件里怎么添加自定义组件你写过linux驱动吗?没有,菜鸟,你大概说下,dts文件里的格式怎么和qsys里对应,我自己研究下同问,如何解决这个问题基于设备树的linux驱动开发(数据采集)https://bbs.eeworld.com.cn/forum.php?mod=viewthrea
flyingcool Altera SoC
上网本/MID/PMP等设备的朋友,请加入群!
我现在做eepcARM开发,建了一个MID/上网本/PMP等设备的开发群!方便大家交流技术和市场。群号:60587325上网本/MID/PMP等设备的朋友,请加入群!帮顶markmark顶一下。
AVR_AFA 嵌入式系统
Modesim仿真错误!!!!
在quartus2中用Verilog语言编写了个驱动LCD1602的模块的顶层文件,在ModelSim中仿真问什么会有以下这样的提示呀?Note:E/examples/lcdd/lcd1602_test.vhd(154):(vopt-1129)Typemismatchforgeneric\"S0\"ofcomponent\"lcd1602_drv\"whenbindingtoentity\"lcd1602_drv\".Note:E/ex
eeleader-mcu FPGA/CPLD
CAD2006教程
各位大侠们,请问在哪个网站可以下载到CAD2006的教程啊?CAD2006教程:(我也不知道回复:CAD2006教程我也不知道啊,有那位高人赐教一下把回复:CAD2006教程
QE_ZPT 工控电子
在visiual studio上开发调试了人脸识别算法,如何移植到DSP上?
在visiualstudio上开发调试了人脸识别算法,如何移植到DSP上?在visiualstudio上开发调试了人脸识别算法,如何移植到DSP上?
ahdh DSP 与 ARM 处理器
【2024 DigiKey创意大赛】基于树莓派的幸福晚年辅助宝
一、项目简介1、设计名称基于树莓派的幸福晚年辅助宝2、项目照片3、项目用到的板卡1)、RaspberryPi5处理器:2.4GHz4核64位Cortex-A76内存:4GBLPDDR4X-4267通讯接口:Wi-Fi6(802.11ac)支持2.4GHz和5GHz频段Bluetooth5.2支持低功耗蓝牙连接1个2.5Gbps1000MEthernet2个U
sumoon_yao DigiKey得捷技术专区
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

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

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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