专注电子技术学习与研究
当前位置:单片机教程网 >> 常用芯片 >> 浏览文章

ad574a中文资料,引脚图,程序

作者:佚名   来源:本站原创   点击数:  更新时间:2008年05月24日   【字体:

     AD574A是一种单片高速12位逐次比较型A/D转换器,这里介绍ad574a中文资料,他内置双极性电路构成的混合集成转换显片,具有外接元件少,功耗低,精度高等特点,并且具有自动校零和自动极性转换功能,只需外接少量的阻容件即可构成一个完整的A/D转换器,其主要功能特性如下: 分辨率:12位 非线性误差:小于±1/2LBS或±1LBS 转换速率:25us 模拟电压输入范围:0—10V和0—20V,0—±5V和0—±10V两档四种 电源电压:±15V和5V 数据输出格式:12位/8位 芯片工作模式:全速工作模式和单一工作模式。

ad574a中文资料:
CS:片选信号,低电平有效。
CE:芯片允许信号,高电平有效。只有CS和CE同时有效,AD574A才能工 作。
 R/C读出或转换控制信号,用于控制ADC574A是转换还是读出。当为低电 平时,启动A/D转换;当为高电平时,将转换结果读出。
 12/8:数据输出方式控制信号。当为高电平时,输出数据为12位;当为 低电平时,数据是作为两个8位字输出。
  A0转换位数控制信号。当为高电平是,进行8位转换,为低电平进行12位转换。
 
 
 
AD574A管脚功能参数说明
 AD574A管脚功能说明:

    [1]. Pin1(+V)——+5V电源输入端。

    [2]. Pin2( )——数据\
模式选择端,通过此引脚可选择数据纵线是12位或8位输出。

    [3]. Pin3( )——片选端。

    [4]. Pin4(A0)——字节地址短周期控制端。与 端用来控制启动转换的方式和数据输出格式。须注意的是, 端TTL电平不能直接+5V或0V连接。

    [5]. Pin5( )——读转换数据控制端。

                                                      ad574a引脚图
 
    [6]. Pin6(CE)——使能端。
    现在我们来讨论AD574A的CE和A0对其工作状态的控制过程。在CE=1、 =0同时满足时,AD574A才会正常工作,在AD574处于工作状态时,当 =0时A/D转换,当 =1是进行数据读出。 和A0端用来控制启动转换的方式和数据输出格式。A0-0时,启动的是按完整12位数据方式进行的。当A0=1时,按8位A/D转换方式进行。当 =1,也即当AD574A处于数据状态时,A0和 控制数据输出状态的格式。当 =1时,数据以12位并行输出,当 =0时,数据以8位分两次输出。而当A0=0时,输出转换数据的高8位,A0=1时输出A/D转换数据的低4位,这四位占一个字节的高半字节,低半字节补零。其控制逻辑真值表见表1。
 
    [7]. Pin7(V+)——正电源输入端,输入+15V电源。

    [8]. Pin8(REF OUT)——10V基准电源电压输出端。

    [9]. Pin9(AGND)——模拟地端。

    [10]. Pin10(REF IN)——基准电源电压输入端。

    [11]. Pin(V-)——负电源输入端,输入-15V电源。

    [12]. Pin1(V+)——正电源输入端,输入+15V电源。

    [13]. Pin13(10V IN)——10V量程模拟电压输入端。

    [14]. Pin14(20V IN)——20V量程模拟电压输入端。
 
 
    [15]. Pin15(DGND)——数字地端。

    [16]. Pin16—Pin27(DB0—DB11)——12条数据总线。通过这12条数据总线向外输出A/D转换数据。
      
    [17]. Pin28(STS)——工作状态指示信号端,STS=1时,表示转换器正处于转换状态,当STS=0时,声明A/D转换结束,通过此信号可以判别A/D转换器的工作状态,作为单片机的中断或查询信号之用。
 
 
 
ad574a程序:
sbit ad_status = P3^3;
uchar xdata ad_convert _at_ 0x6000;    //开始转换
uchar xdata ad_read_hi _at_ 0x6002;    //读取高字节
uchar xdata ad_read_lo _at_ 0x6003;    //读取低字节
uint ad_1674 (void)
{
    union adc
    {
         uint adcc;
        uchar ad[2];
    };
    union adc add;
   
    ad_convert=0xff;
    while(ad_status);
    add.ad[0]=ad_read_hi;
    add.ad[1] =ad_read_lo;
    add.adcc=add.adcc>>4;
    return add.adcc;
}ORG 0000H
AJMP MAIN ;主程序
ORG 0013H
LJMP XAD ;中断1 A/D采样子程序
;*********************************************
;* 初始化 ad574a程序 *
;*********************************************
ORG 0030H
MAIN: MOV SP,#60H ;设置堆栈
;SETB EA
clr ie1
SETB IT1
 
START: LCALL MNLCJ
;*****************************************
;* A/D采样子程序 初始化 *
;*****************************************
AD1: PUSH DPH
PUSH DPL
PUSH ACC
MOV DPTR,#0C000H;打开 0 通道
MOV A,#08H
MOVX @DPTR,A
MOV DPTR,#9000H ;启动A/D转换
MOVX @DPTR,A
SETB EX1
 
POP ACC
POP DPL
POP DPH
RET
;*****************************
;* A/D 574的中断子程序 *
;*****************************
XAD: PUSH DPH
PUSH DPL
PUSH ACC
MOV DPTR,#9002H;读入高8位结果放入50H
MOVX A,@DPTR
MOV 50H,A
INC DPTR
MOVX A,@DPTR ;读入低4 位结果放入51H
MOV 51H,A
CLR EX1
POP ACC
POP DPL
POP DPH
RETI
;*********************************************
;模拟量采集 *
;*********************************************
MNLCJ: MOV R0,#40H
LCALL AD1 ;第一端口模拟量采集
ajmp $
; MOV A,50H
; MOV @R0,A
;INC R0
;MOV A,51H
;MOV @R0,A
 
 
END
NOP
NOP
LJMP main

 

关闭窗口

相关文章