单片机系统中模数转换精度探讨

时间:2022-10-24 01:14:52

单片机系统中模数转换精度探讨

摘要:在研究单片机的过程中,重要的环节是模数转换,特别是在以单片机或计算机为核心的系统中起着至关重要的作用。这篇文章主要介绍了用MCS-51单片机系统控制积分电路正、反向积分,通过简单计算,并得出实现N位模数转换。每次A/D转换时间为2s。

关键词:单片机系统;模数转换;精度;探讨

中图分类号:TM13 文献标识码:A文章编号:1007-9599 (2011) 01-0000-02

SCM System Accuracy of Analog-Digital Conversion

He Tao

(Aviation Repair Shop,Shanghai200436,China)

Abstract:SCM in the study process,the important part is the analog-digital conversion,especially in the microcontroller or computer as the core of the system plays a vital role.This article describes the use of MCS-51 microcontroller control system integrator forward and reverse integration,through simple calculations, and draw to achieve N-bit analog-digital conversion.Each A / D conversion time of 2s.

Keywords:SCM system;ADC;Accuracy;Research

一、模数转换

通常情况下模数转换器有两种:串行模数转换器和并行模数转换器,后者传输速率可以很高,但引脚多、体积大、占用机器口线多,应常对单片机的1/0扩展;而前者体积小、占用单片机的口线少,应比较广泛,随着科技的发展其传输速率也可以做的很高。在单片机操作过程中,当时的气温、时速等非电模拟量通过传感器转换成连续的信号以后,又需要使用模数转换为分散的数字量。加上高科技领域的发展,A/D转换的新设计、制作不断创新。构造特性不一的A/D电路应时而生,正符合了每种检测检测和控制任务的需要。A/D电路按照工作方式可分为直接和间接两种。现今,直接A/D电路运用最为普遍,主要表现形式为逐次逼近式,但间接A/D运用较为广泛的表现形式为双积分式。逐次逼近式A/D,如ADC0809,特性是转换速度高,价格低廉,如果转换时速不高,通常为几次/每秒。假如单片机及时测控,通常要求精度高于0.1%,其分辨率多于n位(二进制),转换的速度是几十次/每秒。

二、模数转换工作原理

模数转换工作原理。观察图1,积分器首先以恒定的时间T对等待检测输入模拟电压V;对其展开正向积分,则积分电容C积累的电荷应是:

Q =T (1)

之后,位置2为开关,开关对标准电压―E实施逆向积分,直到积分器输出变回原值。令逆向积分时间为t,得出电容器C释放的电荷为:

Q = t(2)

显然Q = Q ,因此有:

V = Et(3)

t(逆向积分时间)与输入电压V 成正比。在确切地掌控正向积分时间T的情况下,测量t,就会由分式(3)计算得输入模拟电压V 的值。而单片机最优越的功能就是定时、控制和计算。

我们来看一下MCS-51单片机定时/计数器TO(或T1)的结构和功能。图3是T0。工作方式1的框图。置GATEo=1,G/ =0,即方式控制字TMOD=09H,当TR0=1时,定时器T0的启停完全由外部INT0引脚的电平控制; =“1”,T0即从当前值X开始对内部定时信号加一计时; =“0",T0即停止计时,如果T0从OFFFFH加一产生谩出时,漫出标志TF0置“1”,并向CPU申请中断。进中断服务时,硬件自动清零TF0,让我们感到惊奇的是,软件自动查询和清零TF0。

将两者结合,就是运用MCS-51单片机的定时器T0(或T1),用T(恒定时间)对输入的V(模拟电压),展开正向积分,其次,控制一E(标准电压)逆向积分,测出积分器返回原始数值的时间――t(逆向积分时间),然后按照公式(3)计算V ;即实现A/D转换。详细接口电路如图4所示,操作程序为:

(一)首先,置P1。0=O,P1。-1=0,模拟开关CD4052的Io;接通FA,积分电容C被短接 =0,T0暂停计数。此时单片机对T0原始化:TMOD=09H,即门控方式1定时,原始值为X:

X=2 -

T为正向积分时间。

(二)置TRO="1",准备启动

置P1。0="1",CD4052的I ;接通FA,对V 正向积分,同时 ="1",T0

从原始值X开始定时。

(三)定时T时间到,T0溢出,TF0="1",CPU置P1。1="1",并清零TF0,CD4052的I 接通FA,对-E逆向积分,与此同时T0从0000H不间断地加一计时。

(四)积分器输出返回原值,比较器输出“0", ="0",T0停止计时。

这个时候读出TH0和TL0的值,由(3)式便可计算出V 的值。此时,置TR0=0,P1。0=0,P1。1=0,以便为下次A/D作好充分准备。

此电路作N位(二进制)A/D转换过程中,正向积分时间采取T=21 s,依情况来选择E,R1,R2的参数,可以得到满度逆向积分时间t=T,就能完成一次A/D转换,一般情况下,最多用时间为2T,也就是说,每秒钟可以转换102 次。在智能仪表操作过程中,大凡情况下可取N=13,即二进制13位A/D,每秒钟可转换60次以上。转换精度、速度都是可编程的,均可满足要求。

因为执行查询TF0指令(JNBTF0,LOOPI)需2个指令周期,所以测量t(逆向积分时间)的无法补偿的最大绝对误差为+2 s。转换程序还可以运用T0溢出中断的方式来设计,但是中断响应时间却为3~8个指令周期,与其对应的最大绝对误差为+5个指令周期(+5 s)。

三、结语:

实践证明,相对来说,MCS-51单片机的模数转的精度还是比较不错的。在单片机系统的应用中,它既简单,又方便。

参考文献:

[1]徐君毅等.单片微型计算机原理与应用.上海科学技术出版社

[2]孙涵芳等.MCS-51、96系列单片机原理及应用.北京航空航天大学出版社

上一篇:一种基于手指轨迹的密钥生成新方案 下一篇:PowerBuilder结合C++开发医院B超影像工作站