高精度ADVF32与51系列单片机接口介绍

发布者:shengju最新更新时间:2018-03-05 来源: eefocus关键字:ADVF32  51系列  单片机 手机看文章 扫描二维码
随时随地手机看文章

  由于当前12位以上的A/D转换器价格昂贵,人们正在寻找新的途径来取代它,而V/F变换器便是一种较好的选择。由于V/F变换器具有高精度、高线性度的特点,如美国模拟器件公司的ADVFC32(国产型号为5GVFC32),在满度频率为10 kHz时的非线性误差仅为0.005 %FSR,而AD650可达0.002%FSR,而且外电路简单。因此用V/F变换器可以制成精度高,价格低廉的高性能A/D转换器,其分辨率可达16位以上。在速度要求不太高的场合是很适用的,如用于称重、压力等各种传感器信号的高精度数据测量系统中。可以预见,以V/F变换器制成的高精度A/D转换电路在不久的将来将成为微计算机的一种具有竞争性的接口电路。
  
  用V/F变换器作A/D转换时,通常由一些硬件电路如振荡器、二分频器、计数器和门电路等组成,而由计数器计得的计数值,即A/D转换结果,再通过接口电路送入微计算机进行处理,较为复杂和不便;或者采用F/BCD变换电路,将V/F变换器输出的频率信号变为BCD码,再通过接口电路送入微计算机,也较为复杂,而且还要对BCD码进行变换。这些方法成本都较高。
  
  现介绍一种以单片机直接与V/F变换器接口进行A/D转换的方法,无需额外的硬件电路,完全利用单片机内部的硬件资源,简单方便,成本最低,大大地提高了V/F变换器作为A/D转换电路的可行性。
  
  当前,单片机特别是INTEL公司的51系列单片机已在智能仪器仪表和过程控制等方面得到广泛应用,已取代280,因此A/D转换电路与单片机的接口方法也是人们所关注的。本文主要介绍V/F变换器ADVFC32作高分辨率A/D转换时与51系列单片机(如8031等)接口的硬件和软件。

  一、硬件接口电路
  
  ADVFC32与51系列单片机的硬件接口电路如图1所示。图中是输入电压信号为正时的情况。在输入信号为负时,只要把电阻R1、R3接地,从第14脚直接输入即可。AD650的电路与ADVFC32的外电路相似。关于这两种芯片的引脚排列及内部结构等请参考有关手册。

ADVFC32与51系列单片机的硬件接口电路
  
  由图1可见,接口电路非常简单,只要把V/F变换器输出的频率信号直接送到单片机8031的定时器1的计数输入端T即可。其设计思想为:从传感器来的mV级电压信号经运算放大器放大到0~10 V的电压后,加到ADVFC32的输入端,从频率输出端,OUT输出的频率信号加到单片机8031定时器1的计数输入端Tl上。在单片机内部由定时器作计数器时,由定时器1对输入脉冲计数。定时器O的定时时间由要求的A/D转换分辨率设定。因为定时器O在工作方式1时为16位定时器,所以最长的定时时间为:


  
  式中:foc为单片机晶体振荡器的振荡频率,如foc=12 MHz,则


  
  如要求的定时时间超过这一数值,定时器产生溢出中断,可用单片机内部RAM的存储单元作软件计数,则可延长定时时间。
  
  8031的定时器1作计数器使用时,可计数的外部脉冲最高频率为单片机晶体振荡器振荡频率的1/24,即

  等于ADVFC32的最高允许工作频率,故单片机8031的内部定时器TO和Tl满足对定时和计数的要求。
  
  另外,单片机的定时器在作计数器使用时,要求外部输入脉冲的宽度至少为一个机器周期的时间。8031的一个机器周期等于12个振荡周期,即V/F变换器输出信号的脉冲宽度应


  
  而ADVFC32的输出脉冲宽度为(0. 1~0. 15/ FMax)μs,其中fmax为满度时输出频率。如fmax=100 kHz,则输出脉冲宽度为:


  
  满足对脉冲宽度的要求。如fmax再提高,则脉冲宽度变小,需将脉冲展宽,如接一个555定时器等,然后再接到单片机上。
  
  一次A/D转换所须计数的脉冲数和定时器的定时时间是由所要求的分辨率决定的。
  
  设分辨率为12位,则脉冲数=212 =4 096个。ADVFC32的最高工作频率fmax有三种:
  
  10 kHz、100 kHz和500 kHz。现取fmax=100 kHz,则其脉冲周期


  
  类似地,对于其他分辨率,由计算得出:
  
  ●分辨率为13位,脉冲数=8 192,定时时间=81. 92 ms;
  
  ●分辨率为14位,脉冲数=16 384,定时时间=163. 84 ms;
  
  ●分辨率为15位,脉冲数=32 768,定时时间=327. 68 ms;
  
  ●分辨率为16位,脉冲数=65 536,定时时间=655. 36 ms;
  
  ●分辨率为16.6位,脉冲数=100 000,定时时间=1s。
  
  所以在fmax=100 kHz时,如定时时间为1s,则其A/D转换的分辨率超过16位。但实际上对分辨率的选取应按实际的需要而定,过高的分辨率将使A/D转换的速度下降。
  
  为便于计算,现以最大脉冲数=20 000为例进行设计,则定时时间=200 ms,根据式2X-20 000,可求出分辨率为


  
  即分辨率大于14位,满足一般对高分辨率的要求。定时时间为200 ms,可转换4~5次每秒,相当于双积分式A/D转换器的转换时间,亦不算太长。
  
  定时器O的初值计算如下:
  
  设定时器0工作在方式1,为16位定时器。
  
  ①机器周期=12Toc=12×l/fc=12×1/(12×106)=1 μs
  
  ②16位定时器的最长定时时间为216×机器周期-65 536×1μS= 65. 536 ms
  
  现取整数值,设定时器0的定时时间=50 ms,则定时器O溢出4次即为200 ms,在定时器0溢出中断程序中,由软件计数4次即可。
  
  ③定时器O在定时时是对机器周期进行计数,定时50 ms的机器周期数=50 ms/1μs=5 000。
  
  ④定时器0可计的最大机器周期数= 216=65  536,故定时器O的初值=65 536 - 50 000=15 536-3CBOH
  
  设定时器1也工作在方式1,为计数器状态,是16位计数器,最多可计216= 65 536个脉冲,而外部输入的最大脉冲数=20 000<65 536,无溢出,故定时器1不必开中断。

二、A/D转换软件
  
  根据上述分析,得出A/D转换的流程图如下图所示。在程序中,定时器1的低8位TL1和高8位TH1的值即为A/D转换的结果,为二进制数,分别进入单片机8031的内部RAM单元31H和32H中暂存;然后即可对此结果进行数据处理,如标度变换等;或输出显示。本程序为一次A/D转换的程序,如需多次A/D转换,只须稍加修改,使其重复运行,并将转换结果存入不同的RAM单元,然后再加以处理即可。在程序中以内部RAM的30H单元作为定时器0溢出次数的计数缓冲器,定时器O每溢出一次,30H的内容溢出中断服务程序便加1.当30H的内容为4时,转换结束。

A/D转换的流程图
  
  此外,在中断服务程序中要给定时器O重置初值,并且修正在重置初值前定时器已运行的.7个机器周期。因为在中断服务程序中没用到累加器及其他寄存器,所以不必进行保护现场和恢复现场等操作。
  
  A/D转换的程序如下:
  
  A/D转换主程序

A/D转换的程序

用单片机实现编码器VD5026的工作时序


关键字:ADVF32  51系列  单片机 引用地址:高精度ADVF32与51系列单片机接口介绍

上一篇:用C程序语言点亮流水灯
下一篇:用单片机实现编码器VD5026的工作时序

推荐阅读最新更新时间:2024-03-16 15:56

51单片机 软件模拟IIC
/*========================================================================== 名称:IIC协议 内容:函数是采用软件延时的方法产生SCL脉冲,固对高晶振频率要作一定的修改 (本例是1us机器周期,即晶振频率要小于12MHZ) ============================================================================*/ #include reg52.h #include iic.h bit ack; /*==============================
[单片机]
什么是单片机_51单片机学前预备知识
  一、单片机的概念:   二、单片机的用途:   工业自动化:数据采集,测控技术;   智能仪器仪表:数字示波器、数字信号源、数字万用表、感应电流表等;   消费类电子产品:洗衣机、电冰箱、空调机、手机等;   凡是与控制或简单计算有关的电子设备都可以用单片机来实现,再根据具体实际情况选择不同性能的单片机,如:atmel,stc,pic,avr,凌阳,80C51,arm等。   三、怎么学单片机:   实践第一;补充必要的理论知识,即缺什么补什么;做工程项目积累经验。(可在网络上搜索些题目,也可自己有什么想法大胆的去试验。)。   四、为什么选择51单片机作为单片机学习的入门:   学51单片机成本低,而且51单片机技术最成
[单片机]
51单片机——LED点阵屏
51单片机——LED点阵屏 LED点阵屏 LED点阵屏原理 74HC595串转并芯片 源代码 效果展示 效果展示 例程一:静态笑脸 例程二:笑脸- 平脸- 哭脸 LED点阵屏 c51的LED点阵屏其实就是一个8*8像素的屏幕,一共有64个发光二极管。如下图 LED点阵屏原理 其实这个原理和数码管是一样的,都是利用人的视觉暂留,不停扫描LED点阵,依次点亮每一盏灯,只不过数码管扩引脚采用的是38译码器,点阵屏采用的是74HC595串转并芯片。参考 数码管 原理图如下: 他的DPa~DPh其实就是上图的D0-D7 74HC595串转并芯片 跳线帽OE:OutputEnable
[单片机]
<font color='red'>51</font><font color='red'>单片机</font>——LED点阵屏
89C52单片机串行通信编程两则
1.当89C52串行口按工作方式1进行串行数据通信时,假定波特率为1 200b/s,以中断方式传送数据,请编写全双工通信程序。 #include at89x52.h unsigned char data txbuf; unsigned char data rebuf; void main() { unsigned char temp; SCON=0x50; TMOD=0x20; TH1=0xE8; TL1=0xE8; TR1=1; ES=1; EA=1; } void comre() { rebuf=SBUF; } void comtx() { SBUF=txbuf;
[单片机]
单片机按键介绍
独立按键 常用的按键电路有两种形式,独立式按键和矩阵式按键,独立式按键比较简单,它们各自与独立的输入线相连接,如图 8-6 所示。 图 8-6 独立式按键原理图 4 条输入线接到单片机的 IO 口上,当按键 K1 按下时,+5V 通过电阻 R1 然后再通过按键 K1 最终进入 GND 形成一条通路,那么这条线路的全部电压都加到了 R1 这个电阻上,KeyIn1 这个引脚就是个低电平。当松开按键后,线路断开,就不会有电流通过,那么 KeyIn1和+5V 就应该是等电位,是一个高电平。我们就可以通过 KeyIn1 这个 IO 口的高低电平来判断是否有按键按下。 这个电路中按键的原理我们清楚了,但是实际上在我们的单片机 IO 口内部
[单片机]
<font color='red'>单片机</font>按键介绍
基于C8051F020单片机与RTL8019AS的音频峰值采集终端设计
广播信号经节目制作播出、信号传送、发射等环节,最终在听众用户端收听,其中各个环节的系统工作状态都会对最终的播出质量产生影响。为全面监测广播信号播出过程中多个环节的信号质量,同时对高周信号和低周信号(音频基带信号)的音频峰值进行监测,就要求音频峰值监测终端对广播信号播出端、发射端以及解调后的音频信号进行监测。一般电台的制作播出端、发射端、监测控制端不在同一地点。以上海为例:制作播出在虹桥路广播大厦;发射端在东方明珠电视塔;监测中心在北京路外滩。最好的监测方法就是各地点分别采集,再通过内部的局域网将采集的数据传送到监测中心集中分析处理。 1原理框图 C8051F020是美国Silicon Laboratories公司生产的8051
[单片机]
基于C80<font color='red'>51</font>F020<font color='red'>单片机</font>与RTL8019AS的音频峰值采集终端设计
AVR单片机外部RAM访问
最近的一个项目中,体会了一下AVR单片机的外部RAM扩展,发文记录于此。 本文以ATMEGA64单片机为测试平台,外扩74HC573(资料上讲用AHC系列,但是我用HC系列在16M晶振下配置成最快速度访问并没有发现什么不妥,当然这是个不严谨的设计)以及62256芯片。 我采用的是GCC编译器,并且在项目中采用C++来编写程序,根据理论上来讲,只要外部存储器使能了并且配置完成,那么变量的地址分配完全可以交给编译器来做,但是前提是存储器使能及配置代码要在上电复位后最先得到执行,而采用C或者C++来编写程序,上电复位之后最先得到执行的代码是由编译器自动增加的启动代码以及构造函数代码。我不清楚如何让存储器使能及配置代码在上电复位后最先得到
[单片机]
基于51单片机的温控风扇
设计要求: 1.本设计基于STC89C51/52(与AT89S51/52、AT89C51/52通用,可任选)单片机 • 2.采用DS18B20温度传感器测温(0-99.9°C),三极管驱动数码管显示温度和风扇的档位。 • 3.共3个按键:设置、加、减。按一下设置可以设置上限,再按下设置下限,均可以按键加减调整。 • 4.利用PWM调速,当温度低于下限时,风扇不转动,当温度处于上、下限之间时1档转动(50%的转速),当温度超过上限时,全速转动。 使用说明: 一共3个按键:设置、加、减 按下设置键的时候才可以加减。 按一下设置键,是设置温度的上限,再按下设置键,是设置温度的下限,再按下设置键是退出并保存。 部分程序: #include
[单片机]
基于<font color='red'>51</font><font color='red'>单片机</font>的温控风扇
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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