首页 第11章89C51单片机与DA转换器、AD转换器的接口

第11章89C51单片机与DA转换器、AD转换器的接口

举报
开通vip

第11章89C51单片机与DA转换器、AD转换器的接口第11章89C51单片机与D/A转换器、A/D转换器的接口非电物理量(温度、压力、流量、速度等),须经传感器转换成模拟电信号(电压或电流),必须转换成数字量,才能在单片机中处理。A/D转换器(ADC):模拟量→数字量的器件。D/A转换器(DAC):数字量→模拟量的器件。数字量,也常常需要转换为模拟信号。只需合理选用商品化的大规模ADC、DAC芯片,了解引脚及功能以及与单片机的接口设计。11.189C51与DAC的接口11.1.1D/A转换器概述1.概述输入:数字量,输出:模拟量。转换过程:送到DAC的各位二进制数按...

第11章89C51单片机与DA转换器、AD转换器的接口
第11章89C51单片机与D/A转换器、A/D转换器的接口非电物理量(温度、压力、流量、速度等),须经传感器转换成模拟电信号(电压或电流),必须转换成数字量,才能在单片机中处理。A/D转换器(ADC):模拟量→数字量的器件。D/A转换器(DAC):数字量→模拟量的器件。数字量,也常常需要转换为模拟信号。只需合理选用商品化的大规模ADC、DAC芯片,了解引脚及功能以及与单片机的接口设计。11.189C51与DAC的接口11.1.1D/A转换器概述1.概述输入:数字量,输出:模拟量。转换过程:送到DAC的各位二进制数按其权的大小转换为相应的模拟分量,再把各模拟分量叠加,其和就是D/A转换的结果。使用D/A转换器时,要注意区分:*D/A转换器的输出形式;*内部是否带有锁存器。(1)电压与电流输出形式两种输出形式:电压输出形式与电流输出形式。电流输出的D/A转换器,如需模拟电压输出,可在其输出端加一个I-V转换电路。(2)D/A转换器内部是否带有锁存器D/A转换需要一定时间,这段时间内输入端的数字量应稳定,为此应在数字量输入端之前设置锁存器,以提供数据锁存功能。根据芯片内是否带有锁存器,可分为内部无锁存器的和内部有锁存器的两类。*内部无锁存器的D/A转换器可与P1、P2口直接相接(因P1口和P2口的输出有锁存功能)。但与P0口相接,需增加锁存器。*内部带有锁存器的D/A转换器内部不但有锁存器,还包括地址译码电路,有的还有双重或多重的数据缓冲电路,可与89C51的P0口直接相接。2.主要技术指标(1)分辨率输入给DAC的单位数字量变化引起的模拟量输出的变化,通常定义为输出满刻度值与2n之比。显然,二进制位数越多,分辨率越高。例如,若满量程为10V,根据定义则分辨率为10V/2n。设8位D/A转换,即n=8,分辨率为10V/2n=39.1mV,该值占满量程的0.391%,用1LSB表示。同理:10位D/A:1LSB=9.77mV=0.1%满量程12位D/A:1LSB=2.44mV=0.024%满量程根据对DAC分辨率的需要,来选定DAC的位数。(2)建立时间描述DAC转换快慢的参数,表明转换速度。定义:为从输入数字量到输出达到终值误差(1/2)LSB(最低有效位)时所需的时间。电流输出时间较短,电压输出再加上I-V转换时间,因此建立时间要长一些。快速DAC可达1s以下。(3)精度理想情况,精度与分辨率基本一致,位数越多精度越高。但由于电源电压、参考电压、电阻等各种因素存在着误差,精度与分辨率并不完全一致。位数相同,分辨率则相同,但相同位数的不同转换器精度会有所不同。例如,某型号的8位DAC精度为0.19%,另一型号的8位DAC精度为0.05%。11.1.289C51与8位DAC0832的接口1.DAC0832芯片介绍(1)DAC0832的特性美国国家半导体公司产品,具有两个输入数据寄存器的8位DAC,能直接与89C51单片机相连。主要特性如下:*分辨率为8位;*电流输出,稳定时间为1s;*可双缓冲输入、单缓冲输入或直接数字输入;*单一电源供电(+5~+15V);(2)DAC0832的引脚及逻辑结构引脚:图11-1DAC0832的逻辑结构:图11-2引脚功能:DI0~DI7:8位数字信号输入端CS*:片选端。ILE:数据锁存允许控制端,高电平有效。WR1*:输入寄存器写选通控制端。当CS*=0、ILE=1、WR1*=0时,数据信号被锁存在输入寄存器中。XFER*:数据传送控制。WR2*:DAC寄存器写选通控制端。当XFER*=0,WR2*=0时,输入寄存器状态传入DAC寄存器中。IOUT1:电流输出1端,输入数字量全“1”时,IOUT1最大,输入数字量全为“0”时,IOUT1最小。IOUT2:D/A转换器电流输出2端,IOUT2+IOUT1=常数。Rfb:外部反馈信号输入端,内部已有反馈电阻Rfb,根据需要也可外接反馈电阻。Vcc:电源输入端,可在+5V~+15V范围内。DGND:数字信号地。AGND:模拟信号地。“8位输入寄存器”用于存放CPU送来的数字量,使输入数字量得到缓冲和锁存,由LE1*控制;“8位DAC寄存器”存放待转换的数字量,由LE2*控制;“8位D/A转换电路”由T型电阻网络和电子开关组成,T型电阻网络输出和数字量成正比的模拟电流。2.DAC的的单、双极性的电压输出接口电路与DAC的具体应用有关。(1)DAC用作单极性电压输出单极性模拟电压输出,可采用图11-4或图11-8所示接线。输出电压Vout与输入数字量B的关系:Vout=-(B/256)*VRFE式中,B=b7·27+b6·26+……+b1·21+b0·20;B为0时,Vout也为0,输入数字量为255时,Vout为最大值,单极性。(2)DAC用作双极性电压输出双极性电压输出,采用图11-3接线:Vout=(B-128)*(VREF/128)由上式,在选用+VREF时,(1)若输入数字量b7=1,则Vout为正;(2)若输入数字量b7=0,则Vout为负。在选用-VREF时,Vout与+VREF时极性相反。图11-33.89C51与DAC0832的接口电路(1)单缓冲方式DAC0832的两个数据缓冲器有一个处于直通方式,另一个处于受控的锁存方式。在不要求多路输出同步的情况下,可采用单缓冲方式。单缓冲方式的接口如图11-4:图11-4图11-4中,WR2*和XFER*接地,故DAC0832的“8位DAC寄存器”(见图11-2)处于直通方式。“8位输入寄存器”受CS*和WR1*端控制,且由译码器输出端FEH送来(也可由P2口的某一根口线来控制)。因此,89C51执行如下两条指令就可在WR1*和CS*上产生低电平信号,使0832接收89C51送来的数字量。MOVR0,#0FEH;DAC地址FEH→R0MOVX@R0,A;WR*和译码器FEH输出端有效现说明DAC0832单缓冲方式的应用。例11-1DAC0832用作波形发生器。试根据图11-4,分别写出产生锯齿波、三角波和矩形波的程序。①锯齿波的产生ORG2000HSTART:MOVR0,#0FEH;DAC地址FEH→R0MOVA,#00H;数字量→ALOOP:MOVX@R0,A;数字量→D/A转换器INCA;数字量逐次加1SJMPLOOP图11-5输入数字量从0开始,逐次加1,为FFH时,加1则清0,模拟输出又为0,然后又循环,输出锯齿波,如图11-5。每一上升斜边分256个小台阶,每个小台阶暂留时间为执行后三条指令所需要的时间。②三角波的产生ORG2000HSTART:MOVR0,#0FEHMOVA,#00HUP:MOVX@R0,A;三角波上升边INCAJNZUPDOWN:DECA;A=0时再减1又为FFHMOVX@R0,AJNZDOWN;三角波下降边SJMPUP③矩形波的产生ORG2000HSTART:MOVR0,#0FEHLOOP:MOVA,#data1MOVX@R0,A;置矩形波上限电平LCALLDELAY1;调用高电平延时程序MOVA,#data2图11-6MOVX@R0,A;置矩形波下限电平LCALLDELAY2;调用低电平延时程序SJMPLOOP;重复进行下一个周期DELAY1、DELAY2为两个延时程序,决定矩形波高、低电平时的持续时间。频率也可采用延时长短来改变。图11-7(2)双缓冲方式多路同步输出,必须采用双缓冲同步方式。接口电路如图11-8:1#DAC0832因和译码器FDH相连,占有两个端口地址FDH和FFH。2#DAC0832的两个端口地址为FEH和FFH。其中,FDH和FEH分别为1#和2#DAC0832的数字量输入控制端口地址,而FFH为启动D/A转换的端口地址。图11-8中DAC输出的VX和VY信号要同步,控制X-Y绘图仪绘制的曲线光滑,否则绘制的曲线是阶梯状。控制程序如下:图11-8例11-2内部RAM中两个长度为20的数据块,起始地址为分别为addr1和addr2,编写能把addr1和addrr2中数据从1#和2#DAC0832同步输出的程序。addr1和addr2中的数据,为绘制曲线的X、Y坐标点。DAC0832各端口地址:FDH:1#DAC0832数字量输入控制端口FEH:2#DAC0832数字量输入控制端口FFH:1#和2#DAC0832启动D/A转换端口工作寄存器0区的R1指向addr1;1区的R1指向addr2;0区的R2存放数据块长度;0区和1区的R0指向DAC端口地址。程序为:ORG2000Haddr1DATA20H;定义存储单元addr2DATA40H;定义存储单元DTOUT:MOVR1,#addr;0区R1指向addr1MOVR2,#20;数据块长度送0区R2SETBRS0;切换到工作寄存器1区MOVR1,#addr2;1区R1指向addr2CLRRS0;返回0区NEXT:MOVR0,#0FDH;0区R0指向1#DAC0832数;字量控制端口MOVA,@R1;addr1中数据送AMOVX@RO,A;addr1中数据送1#DAC0832INCR1;修改addr1指针0区R1SETBRS0;转1区。MOVR0,#0FEH;1区R0指向2#DAC0832数字量;控制端口MOVA,@R1;addr2中数据送AMOVX@R0,A;addr2中数据送2#DAC0832INCR1;修改addr2指针1区R1INCR0;1区R0指向DAC的启动D/A转换端口MOVX@R0,A;启动DAC进行转换CLRRS0;返回0区DJNZR2,NEXT;若未完,则跳NEXTLJMPDTOUT;若送完,则循环END11.1.389C51与12位电压输出型D/A转换器AD667的接口8位DAC分辨率不够,可采用10位、12位、14位、16位的DAC。本节介绍89C51与12位电压输出型的D/A转换器AD667的接口设计。AD667是分辨率为12位的电压输出型D/A转换器,建立时间≤3s(至0.01%)。输入方式:双缓冲输入;输出方式:电压输出,通过硬件编程可输出+5V,+10V,±2.5V,±5V和±10V;内含高稳定的基准电压源可方便地与4位、8位或16位微处理器接口;双电源工作电压:±12V~±15V。1.引脚介绍标准28脚双列直插式。图11-9为DIP封装引脚图,表11-1为其引脚说明。(1)内部功能结构及应用特性图11-10是AD667内部功能结构框图。AD667的应用特性:①模拟电压输出范围的配置AD667通过片外引脚的不同连接,可获得不同的输出电压量程范围。单极性工作时,可以获得0~5V和0~10V的电压。双极性工作时,可获得±2.5V,±5.5V和±10V的电压。具体量程配置可由引脚1,2,3,9的不同连接实现,如表11-2所列。图11-9图11-10由于AD667内置的量程电阻与其他元器件具有热跟踪性能,所以AD667的增益和偏置漂移非常小。②单极性电压输出图11-11为0~10V单极性电压输出电路原理图。在电路运行之前,为保证转换精度,首先要进行电路调零和增益调节。电路调零数字输入量全为“0”时,调节50k电位器W1,使其模拟电压输出端(VOUT)电压为0.000V。在大多数情况下,并不需要调零,只要把4脚与5脚相连(接地)即可。增益调节数字输入量全为“1”时,调节100电位器W2,使其模拟电压输出为9.9976V,即满量程的10.000V减去1LSB(约为2.44mV)所对应的模拟输出量。图11-11③双极性电压输出图11-12是-5V~+5V双极性电压输出。在电路运行之前,为保证转换精度,首先要进行偏置调节和增益调节。图11-12④内部/外部基准电压源的使用AD667有内置低噪声基准电源,其绝对精度和温度系数都是通过激光修正的,具有长期的稳定性。片内基准电源可提供片内D/A转换器所需的基准电流,典型值为VREFIN端提供的0.5mA,BPOFF(BipolarOffset)端提供的1.0mA。⑤接地与动态电容的接法模拟地AGND与电源地PGND分开,可以减少器件的低频噪声和增强高速性能。把地回路分开的目的是为了尽量减少低电平信号路径中的电流。AGND是输出放大器中的地端,应与系统中的模拟地直接相连。电源地PGND可以与模拟电源的接地点就近连接。最后AGND与PGND在一点上进行连接,一般连接到电源地PGND上。另外,AD667的电源引脚到模拟地引脚间应加上适当的去耦电容。在输出放大器反馈电阻两端加一个20pF的小电容,可以明显改善输出放大器的动态性能。⑥数字输入控制与数据代码AD667的总线接口逻辑由4个独立的可寻址锁存器组成,其中有3个4位的输入数据锁存器(第一级锁存器)和1个12位的DAC锁存器(第二级锁存器)。利用3个4位锁存器可以直接从4位、8位或16位微处理器总线分次或一次加载12位数字量;一旦数字量被装入12位的输入数据锁存器,就可以把12位数据传入第二级的DAC锁存器,这种双缓冲结构可以避免产生错误的模拟输出。4个锁存器由4个地址输入A0~A3和控制,所有的控制都是低电平有效,对应关系如表11-3所列。所有锁存器都是电平触发,当控制信号有效时,锁存器输出跟踪输入数据;当控制信号无效时,数据就被锁存。它允许一个以上的锁存器被同时锁存。建议任何未使用的数据和控制引脚最好与电源地相连,以改善抗噪声干扰特性。AD667使用正逻辑编码。单极性输出时,输入编码采用直接二进制编码,输入000H产生零模拟输出;输入FFFH产生比满量程少1LSB的模拟输出。双极性输出时,输入编码采用偏移二进制编码。输入为000H时,产生负的满量程输出;输入为FFFH时,产生比满量程少1LSB的模拟输出;输入为800H时,模拟输出为0。其中1LSB为最低位对应的模拟电压。双极性输出时输入与输出关系如图11-13所示,输入数字量N与输出模拟电压VOUT的关系为:式中,VR为输出电压量程。图11-13⑦与微处理器的接口数据格式AD667与位微处理器接口的数据格式为左对齐或右对齐的数据格式。左对齐调整数据格式为D11D10D9D8D7D6D5D4D3D2D1D0××××右对齐调整数据格式为××××D11D10D9D8D7D6D5D4D3D2D1D02.AD667与89C51单片机的接口图11-14所示为AD667与89C51单片机接口电路。图11-1489C51把AD667所占的3个端口地址视为外部数据存储器的3个单元,对其进行选通。假定低8位数据存于20H单元,高4位数据存入21H的低4位,实现D/A转换的程序如下:MOVA,20HMOVDPTR,#7FFEHMOVX@DPTR,A;低8位进第一级锁存器MOVA,21HMOVDPTR,#7FFDHMOVX@DPTR,A;高4位进第一级锁存器MOVDPTR,#7FFBHMOVX@DPTR,A;启动第二级锁存器RET11.2.1A/D转换器概述A/D转换器(ADC)的作用就是把模拟量转换成数字量,以便于计算机进行处理。随着超大规模集成电路技术的飞速发展,A/D转换器的新设计思想和制造技术层出不穷。为满足各种不同的检测及控制任务的需要,大量结构不同、性能各异的A/D转换芯片应运而生。1.A/D转换器简介尽管A/D转换器的种类很多,但目前广泛应用在单片机应用系统中的主要有以下几种类型:逐次比较型转换器、双积分型转换器、Σ-Δ式转换器。逐次比较型:精度、速度和价格都适中,是最常用的A/D转换器件。双积分型:精度高、抗干扰性好、价格低廉,但转换速度慢,得到广泛应用。Σ-Δ型:具有积分式与逐次比较式ADC的双重优点。对工业现场的串模干扰具有较强的抑制能力,不亚于双积分ADC,但比双积分ADC的转换速度快,与逐次比较式ADC相比,有较高的信噪比,分辨率高,线性度好不需采样保持电路。因此,Σ-Δ型得到重视。V/F转换型:适于转换速度要求不太高,远距离信号传输。2.A/D转换器的主要技术指标(1)转换时间和转换速率完成一次转换所需要的时间。转换时间的倒数为转换速率。并行式:20-50ns,速率为50-20M次/s(1M=106);逐次比较式:0.4s,速率为2.5M次/s。(2)分辨率用输出二进制位数或BCD码位数表示。例如AD574,二进制12位,即用212个数进行量化,分辨为1LSB,百分数表示1/212=0.24‰。又如双积分式A/D转换器MC14433,分辨率为三位半。若满字位为1999,其分辨率为1/1999=0.05%。量化过程引起的误差为量化误差,是由于有限位数字对模拟量进行量化而引起的误差。量化误差理论上规定为1个单位分辨率,提高分辨率可减少量化误差。(3)转换精度定义为一个实际ADC与一个理想ADC在量化值上的差值。可用绝对误差或相对误差表示。3.A/D转换器的选择按输出代码的有效位数分:8位、10位、12位等。按转换速度分为超高速(≤1ns)、高速(≤1s)中速(≤1ms)、低速(≤1s)等。为适应系统集成需要,将多路转换开关、时钟电路、基准电压源、二/十进制译码器和转换电路集成在一个芯片内,为用户提供方便。(1)A/D转换器位数的确定系统总精度涉及的环节较多:传感器变换精度、信号预处理电路精度和A/D转换器及输出电路、控制机构精度,还包括软件控制算法。A/D转换器的位数至少要比系统总精度要求的最低分辨率高1位,位数应与其他环节所能达到的精度相适应。只要不低于它们就行,太高无意义,且价高。8位以下:低分辨率,9~12位:中分辨率,13位以上:高分辨率。(2)A/D转换器转换速率的确定从启动转换到转换结束,输出稳定的数字量,需要一定的时间,这就是A/D转换器的转换时间。低速:转换时间从几ms到几十ms。中速:逐次比较型的A/D转换器的转换时间可从几s~100s左右。高速:转换时间仅20~100ns。适用于雷达、数字通讯、实时光谱 分析 定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析 、实时瞬态纪录、视频数字转换系统等。如用转换时间为100s的集成A/D转换器,其转换速率为10千次/秒。根据采样定理和实际需要,一个周期的波形需采10个点,最高也只能处理1kHz的信号。把转换时间减小到10s,信号频率可提高到10kHz。(3)工作电压和基准电压选择使用单一+5V工作电压的芯片,与单片机系统共用一个电源就比较方便。基准电压源是提供给A/D转换器在转换时所需要的参考电压,在要求较高精度时,基准电压要单独用高精度稳压电源供给。11.2.289C51与ADC0809(逐次比较型)的接口ADC0809引脚及功能逐次比较式8路模拟输入、8位输出的A/D转换器。引脚如图11-15所示。图11-15共28脚,双列直插式封装。主要引脚功能如下:(1)IN0~IN7:8路模拟信号输入端。(2)D0~D7:8位数字量输出端。(3)C、B、A:控制8路模拟通道的切换,C、B、A=000~111分别对应IN0~IN7通道。(4)OE、START、CLK:控制信号端,OE为输出允许端,START为启动信号输入端,CLK为时钟信号输入端。VR(+)和VR(-):参考电压输入端。2.ADC0809结构及转换原理结构如图11-16。0809完成1次转换需100s左右,可对0~5V信号进行转换。图11-163.89C51与ADC0809的接口单片机如何来控制ADC?首先用指令选择0809的一个模拟输入通道,当执行MOVX@DPTR,A时,单片机的WR*信号有效,产生一个启动信号给0809的START脚,对选中通道转换。转换结束后,0809发出转换结束EOC信号,该信号可供查询,也可向单片机发出中断请求;当执行指令:MOVXA,@DPTR,单片机发出RD*信号,加到OE端高电平把转换完毕的数字量读到A中。查询和中断控制两种工作方式。(1)查询方式0809与89C51单片机的接口如图11-17。图11-17ALE脚的输出频率为1MHz,(时钟频率为6MHz),经D触发器二分频为500kHz时钟信号。0809输出三态锁存,8位数据输出可直接与数据总线相连。引脚C、B、A分别与地址总线A2、A1、A0相连,选通IN0~IN7中的一个。P2.7(A15)作为片选信号,在启动A/D转换时,由WR*和P2.7控制ADC的地址锁存和转换启动,由于ALE和START连在一起,因此0809在锁存通道地址的同时,启动并进行转换。读取转换结果,用RD*信号和P2.7脚经或非后,产生的正脉冲作为OE信号,用以打开三态输出锁存器。对8路模拟信号轮流采样一次,采用软件延时的方式,并依次把结果转储到数据存储区。MAIN:MOVR1,#data;置数据区首地址MOVDPTR,#7FF8H;端口地址送DPTR,P2.7=0,;且指向通道IN0MOVR7,#08H;置转换的通道个数LOOP:MOVX@DPTR,A;启动A/D转换MOVR6,#0AH;软件延时,等待转换结束DELAY:NOPNOPNOPDJNZR6,DELAYMOVXA,@DPTR;读取转换结果MOV@R1,A;存储转换结果INCDPTR;指向下一个通道INCR1;修改数据区指针DJNZR7,LOOP;8个通道全采样完否?未完则继续……(2)中断方式将图11-17中EOC脚经一非门连接到8031的INT1*脚即可。转换结束时,EOC发出一个脉冲向单片机提出中断申请,单片机响应中断请求,在中断服务程序读A/D结果,并启动0809的下一次转换,外中断1采用跳沿触发。程序如下:INIT1:SETBIT1;外部中断1初始化编程SETBEA;CPU开中断SETBEX1;选择外中断为跳沿触发方式MOVDPTR,#7FF8H;端口地址送DPTRMOVA,#00H;MOVX@DPTR,A;启动0809对IN0通道转换…;完成其他的工作中断服务程序:PINT1:MOVDPTR,#7FF8H;A/D结果送内部RAM单元30HMOVXA,@DPTRMOV30H,AMOVA,#00H;启动0809对IN0的转换MOVX@DPTR,A;RETI11.2.3MCS-51与AD574(逐次比较型)的接口8位分辨率的ADC常常不够,采用10位、12位、16位A/D转换器。12位ADCAD574A(AD674A、AD1674A)。1.AD574简介12位逐次比较型。转换时间为25s,转换精度为0.05%,AD574A是AD574的改进产品,AD674A又是AD574A的改进产品。它们的引脚、内部结构和外部应用特性基本相同,但最大转换速度由25s提高到15s。目前带有采样保持器的12位改进型产品AD1674正以其优良的性能价格比逐渐取代AD574A和AD674A。28脚双列直插式封装,引脚如图11-18。图11-18引脚的功能如下:CS*:片选信号端。CE:片启动信号。R/C*:读出/转换控制信号。12/8*:数据输出格式选择。1:12条数据线同时输出转换结果,0:转换结果为两个单字节输出,即只有高8位或低4位有效。A0:字节选择控制线。分为转换期间、读出期间在转换期间:0:进行12位转换(转换时间为25s);1:进行8位转换(转换时间为16s)。在读出期间:结果的高8位结果的低4位+4位尾00:高8位数据有效;1:低4位数据有效,中间4位为“0”,高4位为三态。因此当两次读出12位数据时,12位数据遵循左对齐原则,如下所示:上述五个控制信号组合的真值表如表11-4所示:无操作无操作初始化为12位转换初始化为8位转换允许12位并行输出允许高8位输出允许低4位+4位尾0输出XX01X01XXXX+5V地地XX00111X1000000X11111操作A012/8*R/C*CS*CE表11-4AD574控制真值表STS:转换结束状态引脚。转换完成时为低电平。可作为状态信息被CPU查询,也可用它的下跳沿向CPU发出中断申请,通知A/D转换已完成,可读取转换结果。2.AD574的工作特性工作状态由CE、CS*、R/C*、12/8*、A0五个控制信号决定,当CE=1,CS*=0同时满足,才处于转换状态。AD574处于工作状态时,R/C*=0,启动A/D转换;R/C*=1为数据读出。12/8*和A0端用来控制转换字长和数据格式。A0=0按12位转换方式启动转换;A0=1按8位转换方式启动转换。当AD574处于数据读出(R/C*=1)状态时,A0和12/8*成为数据输出格式控制端。12/8*=1对应12位并行输出;12/8*=0对应8位的双字节输出。其中A0=0时输出高8位。A0=1时输出低4位,并以4个0补足尾随的4位。注意:12/8*端与TTL电平不兼容,故只能直接接+5V或地。另外A0在数据输出期间不能变化。3.AD574的单极性和双极性输入特性图11-18(a)为单极性转换电路,可实现:0~10V或0~20V的转换。图11-18(b)为双极性转换电路,可实现:-5~+5V或-10~+10V的转换。图11-194.89C51与AD574的接口见图11-20,AD574片内有时钟,无须外加。该电路采用双极性输入接法,可对-5~+5V或-10~+10V模拟信号进行转换。也可采用单极性输入接法,具体电路见图11-19(a)。转换结果的高8位从DB11~DB4输出,低4位从DB3~DB0输出,即A0=0时,读取结果的高8位;当A0=1时,读取结果的低4位。若遵循左对齐的原则,DB3~DB0应接单片机的P0.7~P0.4。STS引脚接单片机的P1.0引脚,采用查询方式读取转换结果。图11-20当单片机执行对外部数据存储器写指令,使CE=1,CS*=0,R/C*=0,A0=0时,启动A/D转换。当单片机查询到P1.0引脚为低电平时,转换结束,单片机使CE=1,CS*=0,R/C*=1,A0=0,读取结果高8位;CE=1,CS*=0,R/C*=1,A0=1,读取结果低4位。转换的查询方式的程序如下(高8位转换结果存入R2中,低4位存入R3中,遵循左对齐原则):AD574A:MOVR0,0F8H;端口地址送R0MOVX@R0,A;启动AD574A进行转换SETBP1.0;置P1.0为输入LOOP:NOPJBP1.0,LOOP;查询转换是否结束NCR0;使R/=1,准备读取结果MOVXA,@R0;读取高8位转换结果MOVR2,A;高8位转换结果存入R2中INCR0;使R/=1,A0=1INCR0MOVXA,@R0;读取低4位转换结果MOVR3,A;低4位转换结果存入R3中11.2.489C51与A/D转换器MC14433(双积分型)的接口双积分型转换速度慢,但精度可以做得比较高;对周期变化的干扰信号积分为零,抗干扰性能也较好。常用的有3½位双积分A/D转换器MC14433(精度相当于11位二进制数)和4½位双积分A/D转换器ICL7135(精度相当于14位二进制数)。MC14433A/D转换器简介MC14433是3½位双积分型A/D转换器,优点:精度高、抗干扰性能好等,缺点:转换速度慢,约1-10次/秒。与国内产品5G14433完全相同,可互换。被转换电压量程为199.9mV或1.999V。转换结果以BCD码的形式分四次送出。(1)MC14433的引脚功能说明MC14433A/D转换器引脚如图11-21:图11-21各引脚的功能如下:(1)电源及共地端VDD:主工作电源+5V。VEE:模拟部分的负电源端,接-5V。VAG:模拟地端。VSS:数字地端。VR:基准电压输入端。(2)外接电阻及电容端R1:积分电阻输入端,转换电压VX=2V时,R1=470Ω;VX=200mV时,R1=27kΩ。C1:积分电容输入端,一般取0.1F。R1/C1:R1与C1的公共端。CLKI、CLKO:外接振荡器时钟调节电阻RC,RC一般取470Ω左右。(3)转换启动/结束信号端EOC:转换结束信号输出端,正脉冲有效。DU:启动新的转换,若DU与EOC相连,每当A/D转换结束后,自动启动新的转换。(4)过量程信号输出端OR*:当|VX|<VR,输出低电平。(5)位选通控制端DS4~DS1:分别为个、十、百、千位输出的选通脉冲,DS1对应千位,DS4对应个位。每个选通脉冲宽度为18个时钟周期,两个相应脉冲之间间隔为2个时钟周期。如图11-22所示图11-22(6)BCD码输出端Q0~Q3:BCD码数据输出线。Q3为最高位,Q0为最低位。当DS2、DS3和DS4选通期间,输出三位完整的BCD码数,但在DS1(千位)选通期间,输出端Q0~Q3除了表示个位的0或1外,还表示被转换电压的正负极性(Q2=1为正)、欠量程还是过量程,具体含义如表11-5所示。表11-5DS1选通时Q3~Q0表示的结果千位数为0千位数为1结果为正结果为负输入过量程输入欠量程1××00××0×1×0×0×00××11××1表示结果Q3Q2Q1Q02.MC14433与89C51单片机的接口如图11-23,MC1403(与5G1403相同)为+2.5V精密基准源。DU端与EOC端相连,即选择连续转换方式。EOC:转换结束输出标志。读取A/D转换结果可采用中断方式或查询方式。采用中断方式时,EOC端与8031外部中断输入端INT0*或INT1*相连。采用查询方式EOC端可与任一I/O口线相连。图11-23若用中断方式读结果,选用跳沿触发方式。如转换结果存到8031内部RAM的20H、21H单元中,格式如下:初始化程序开放CPU中断,允许外部中断1中断请求,置外部中断1为跳沿触发方式。每次A/D转换结束,都向CPU请求中断,CPU响应中断,执行中断服务程序,读取A/D转换的结果。程序:图11-24ORG001BHLJMPPINT1;跳外部中断1的中断服务程序ORG0100HINITI:SETBIT1;选择外中断1为跳沿触发方式MOVIE,#84H;CPU开中断,允许外部中断1……PINT1:MOVA,P1;外部中断1服务程序JNBAcc.4,PINT1;等待DS1选通信号的到来JBAcc.0,Per;是否过、欠量程,是则转向Per处理JBAcc.2,PL1;判结果极性,为正,跳PL1SETB07H;结果为负,符号位07H置1AJMPPL2;PL1:CLR07H;结果为正,符号位清0PL2:JBAcc.3,PL3;千位为0,跳PL3SETB04H;千位为1,把04H位置1AJMPPL4;PL3:CLR04H;千位为0,把04H位清0PL4:MOVA,P1;JNBAcc.5,PL4;等待百位的选通信号DS2MOVR0,#20H;指针指向20H单元XCHDA,@R0;百位→20H单元低4位PL5:MOVA,P1;JNBAcc.6,PL5;等待十位数的选通信号DS3的到来SWAPA;读入十位,高低4位交换INCR0;指针指向21H单元MOV@R0,A;十位数的BCD码送入21H的高4位PL6:MOVA,P1JNBAcc.7,PL6;等待个位数选通信号DS4的到来;
本文档为【第11章89C51单片机与DA转换器、AD转换器的接口】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_559883
暂无简介~
格式:ppt
大小:1MB
软件:PowerPoint
页数:0
分类:互联网
上传时间:2013-04-27
浏览量:21