在线情况
楼主
  • 头像
  • 级别
  • 门派
  • 职务总版主
  • 声望+9
  • 财富5
  • 积分3065
  • 经验390674
  • 文章6744
  • 注册2006-03-07
AD574构成高精度数字电压表
                    AD574构成高精度数字电压表
                        作者: 深圳中源单片机

  AD574A是美国模拟数字公司(Analog)推出的单片高速12位逐次比较型A/D转换器,内置双极性电路构成的混合集成转换显片,具有外接元件少,功耗低,精度高等特点,并且具有自动校零和自动极性转换功能,只需外接少量的阻容件即可构成一个完整的A/D转换器,其主要功能特性如下:
                 [imga]../../upload/2006/04/04/221849.gif[/imga]

      性能:
      分辨率:          12
      位非线性误差:    小于±1/2LBS或±1LBS
      转换速率:        25us
      模拟电压输入范围:0—10V和0—20V,0—±5V和0—±10V两档四种
      电源电压:        ±15V和5V
      数据输出格式:    12位/8位
      芯片工作模式:    全速工作模式和单一工作模式

  我们利用AD574与ATMEL公司的低价高性能单片机AT89C2051(8051单片机)组成一个高精度的数字电压表,电原理图如图1,AD574是12位逐次比较型 A/D转换器,共有12根数据线,AT89C2051的P1与AD574的高8位数据线直接相接,AD574的低4位数据线与单片机的高半4位P1.4 ——P1.7直接相接,数据的读取是依靠单片机的控制线进行分时选通进行。P3.5接AD574的字节短周期控制线(A0),P3.4接读转换数据控制脚(),P3.7直接与工作状态指示端(STS)相连,这样的结构决定只能是8位输出形式,故数据模式选择端直接接地即可。AT89C2051只有15根I/O口线,上述用了11根,只余下4根口线,我们将输出的数据通过单片机的串行口输出,外接一片74LS164(串入并出)译码器进行扩展,同时显示的数据为4位,剩下的2根口线仍不能满足要求,还需要一片74LS138三——八译码器对显示 LED进行地址选通。
这里我们采用10V量程的输入模式,故AD574的Pin13为被测电压的输入端,因为只使用了一片AD574转换芯片,所以CS端直接接地即可。转换器使用±12V电源电压供电,工作电压为+5V。
74LS164 为串入并出译码器,AT89C2051通过串行口输出的BCD串行码经74LS164译码输出为七段BCD码,直接与LED的a——g相连,同时四位 LED的数据线都一一对应连接在一起。LED数码管选用共阳型,74LS138输出的地址码经一个三极管2SA1015(PNP)接LED的公共端,四位 LED的显示是通过地址线进行分时选通的,这就是我们常用的动态扫描显示方式。

值得一提的是,动态扫描显示方式中,动态扫描的频率有一定的要求,频率太低,LED将出现闪烁现象。如频率太高,由于每个LED点亮的时间太短, LED的亮度太低,肉眼无法看清,所以一般均取10ms左右为宜,这就要求在编写程序时,选通某一位LED使其点亮并保持一定的时间,程序上常采用的是调用延时子程序。在C51指令中,延时子程序是相当简单的,并且延时时间也很容易更改。

AD574A的应用电路图:          
      [imga]../../upload/2006/04/04/222046.gif[/imga]

      [imga]../../upload/2006/04/04/222119.gif[/imga]
[COLOR=#0000ff]欢迎发贴分享设计心得、开源DIY...[/COLOR]
在线情况
2
  • 头像
  • 级别
    • 积分1
    • 经验27
    • 文章1
    • 注册2007-02-26
    版主先生您好:
    不知道您方不方便把程式寄給我參考,謝謝您
    fontal.mail@msa.hinet.net
    微控网感谢您的参与
    Powered by LeadBBS 9.2 .
    Page created in 0.1562 seconds with 7 queries.