《MCS-51单片机的模拟量输入输出.ppt》由会员分享,可在线阅读,更多相关《MCS-51单片机的模拟量输入输出.ppt(47页珍藏版)》请在三一办公上搜索。
1、1,第11讲 MCS-51的模拟量输入输出,电气工程系赵志衡E-,2,课程主要内容,ADC及DAC的基本原理及性能指标A/D转换的实现(ADC0809)D/A转换的实现(DAC0832),3,非电物理量(温度、压力、流量、速度等),须经传感器转换成模拟电信号(电压或电流),再转换成数字量,才能在单片机中处理。,A/D转换器(ADC):模拟量数字量的器件,D/A转换器(DAC):数字量模拟量的器件。,数字量,也常常需要转换为模拟信号。,只需合理选用商品化的大规模ADC、DAC芯片,了解引脚及功能以及与单片机的接口设计。,概述,4,ADC的基本原理及性能指标,模拟量转换成数字量,便于计算机进行处理
2、。,随着超大规模集成电路制造技术的飞速发展,大量结构不同、性能各异的A/D转换芯片应运而生。,5,1.A/D转换器的分类,根据转换原理可将A/D转换器分成两大类(1)直接型A/D转换器(2)间接型A/D转换器。,6,常见的A/D转换器工作原理,逐次逼近式A/D转换器将输入模拟信号与推测信号比较,调节推测信号逼近输入信号,直至两者相等双积分式A/D转换器采用输入模拟信号与标准电压反向积分的方法,完成模拟信号的转换V/F变换式A/D转换器 将输入模拟信号转化为线性对应的频率信号,通过测量频率实现模拟信号的转化,7,应用特点,逐次比较型:精度、速度和价格都适中,是最常用的A/D转换器件。双积分型:精
3、度高、抗干扰性好、价格低廉,但转换速度慢,得到广泛应用。V/F转换型:适于转换速度要求不太高,远距离信号传输。,8,2.A/D转换器的主要技术指标,转换时间和转换速率,完成一次转换所需要的时间。转换时间的倒数为转换速率。,逐次比较式:0.4s,速率为2.5M次/s。,(2)分辨率,用输出二进制位数或BCD码位数表示。例如AD574,二进制12位,即用212个数进行量化,分辨率为1LSB,百分数表示1/212=0.24。,又如双积分式A/D转换器MC14433,分辨率为三位半。若满字位为1999,其分辨率为1/1999=0.05%。,9,量化过程引起的误差为量化误差,是由于有限位数字对模拟量进行
4、量化而引起的误差。量化误差理论上规定为1个单位分辨率,提高分辨率可减少量化误差。,(3)转换精度,定义为一个实际ADC与一个理想ADC在量化值上的差。可用绝对误差或相对误差表示。,绝对精度 在转换器中,任何数码所对应的实际模拟电压与其理想电压值之差的最大值称为绝对精度相对精度 绝对精度的百分数表示,10,3.A/D转换器的选择,按输出代码的有效位数分:8位、10位、12位等。,按转换速度分为超高速(1ns)、高速(1s)中速(1ms)、低速(1s)等。,A/D转换器的发展趋势:为适应系统集成需要,将多路转换开关、时钟电路、基准电压源、二/十进制译码器和转换电路集成在一个芯片内,为用户提供方便。
5、,11,(1)A/D转换器位数的确定,系统总精度涉及的环节较多:传感器变换精度、信号预处理电路精度和A/D转换器及输出电路、控制机构精度,还包括软件控制算法。A/D转换器的位数至少要比系统总精度要求的最低分辨率高1位,位数应与其他环节所能达到的精度相适应。只要不低于它们就行,太高无意义,且价高。8位以下:低分辨率,912位:中分辨率,13位以上:高分辨率。,12,(2)A/D转换器转换速率的确定,从启动转换到转换结束,输出稳定的数字量,需要一定的时间,这就是A/D转换器的转换时间。,低速:转换时间从几ms到几十ms。,中速:逐次比较型的A/D转换器的转换时间可从几s 100s左右。,高速:转换
6、时间仅20100ns。适用于雷达、数字通讯、实时光谱分析、实时瞬态纪录、视频数字转换 系统等。,13,(3)是否加采样保持器,直流和变化非常缓慢的信号可不用采样保持器。其他情况都要加采样保持器。,14,(4)工作电压和基准电压,选择使用单一+5V工作电压的芯片,与单片机系统共用一个电源比较方便。基准电压源是提供给A/D转换器在转换时所需要的参考电压,在要求较高精度时,基准电压要单独用高精度稳压电源供给。,15,ADC0809接口电路设计及软件编程,ADC0809芯片结构ADC0809功能及管脚ADC0809与8031接口电路设计1及软件编程ADC0809与8031接口电路设计2及软件编程,16
7、,ADC0809功能特点为:,分辨率为8位 ADC0809最大不可调误差1LSB 模拟输入电压范围为05V,单电源供电 锁存控制的8路模拟开关 转换速度取决于芯片的时钟频率,其范围101280kHz,当频率为500kHz时,转换速度为128us,17,逐次逼近式8路模拟输入、8位输出的A/D转换器。,ADC0809,18,共28脚,双列直插式封装。主要引脚功能如下:,(1)IN0IN7:8路模拟信号输入端。,(2)D0D7:8位数字量输出端。,(3)C、B、A:控制8路模拟通道的切换,C、B、A=000111分别对应IN0IN7通道,ALE是其锁存信号。,(4)OE、START、CLK:控制信
8、号端,OE为输出允许端,START为启动信号输入端,CLK为时钟信号输入端。,VR(+)和VR(-):参考电压输入端。,19,ADC0809结构框图,20,ADC0809功能及管脚,ADC0809芯片管脚介绍START:为启动转换控制口,输入正脉冲将启动转换。ALE:为地址锁存控制口,输入正脉冲将锁存3位地址。EOC:为转换结束信号输出口,转换时为低电平,结束为高电平输出。OE:为转换结果输出允许控制口,上升沿控制结果输出到数据线上。REF(+)REF(-):为参考电压输入端,一般接VCC和GND。CLK:为转换时钟输入端。IN0IN7:8路模拟量输入端2-12-8:数字量输出,ADC0809
9、管脚图,21,ADC0809操作时序,ADC0809操作时序图,22,ADC0809编程要点,选通模拟量输入通道发出启动信号用查询或中断方法等待转换结束初学建议采用延时方法等待转换结束读取转换结果,23,ADC0809与8031接口电路设计1,AD接口设计转换时钟的提供,转换完成判断,8031外接晶振6MHz模拟通道的选择,ADC0809与8031接口电路1原理图,24,例1:ADC0809接口电路编程,要求:设计程序实现对8路模拟信号的采样,并把数据存储在RAM区30H37H中。,;-;ADC0809的07模拟通道对应地址7FF8H7FFFH;-ORG0000HMAIN:MOVR1,#30H
10、;置数据存储区首地址MOVDPTR,#7FF8H;指向ADC0809的0通道MOVR7,#08H;置通道数LOOP:MOVXDPTR,A;启动转换LCALLDELAY_130us;等待130usMOVXA,DPTR;读取转换结果MOVR1,A;保存转换结果INCDPTR;指向下一个转换通道INCR1;指向下一个存储空间DJNZR7,LOOP;判断8个通道采样是否完成?,25,例2:ADC0809与8031接口,AD接口设计转换时钟的提供,转换完成判断模拟通道的选择,ADC0809与8031接口电路2原理图,26,例2编程,要求 编程实现对第0路模拟信号的采样并实时在数码上显示采样值,待显示的采
11、样值存放在RAM区30H,31H中。,;-;主程序代码,完成中断设置、启动AD转换的功能;-ORG0000H;系统复位程序入口地址AJMPMAIN;转向主程序ORG0013H;外部硬件中断1程序入口地址AJMPINT1P;转向中断处理子程序MAIN:SETBIT1;设INT1为边沿触发方式SETBEX1;允许INT1中断SETBEA;开中断MOVR0,#30H;指向显示缓冲区首地址MOVA,#00H;指向模拟通道0MOVDPTR,#8000H;指向ADC0809MOVXDPTR,A;启动通道0转换WAIT:AJMPWAIT;等待转换完成中断,27,例2编程,;-;中断处理程序代码,读取采样值,
12、并显示在数码管上;-INT1P:MOVXA,DPTR;读取采样值MOVR1,A;暂存采样值于R1ANLA,#0FH;取采样值低4位MOVR0,A;保存采样值低4位于30HINCR0;保存地址指向31HMOVA,R1SWAPA;A的高4位与低4位交换ANLA,#0FH;取采样值高4位MOVR0,A;保存采样值高4位于31HLCALLSHOW;调用显示子程序MOVA,#00H;指向模拟通道0MOVDPTR,#8000H;指向ADC0809MOVXDPTR,A;启动通道0转换RETI;中断返回,28,DA转换的实现,DA转换的基础知识DAC0832芯片结构DAC0832功能及管脚DAC0832与80
13、31双缓冲接口电路设计及软件编程DAC0832与8031单缓冲接口电路设计及软件编程,29,DAC的基本原理及性能指标,1.概述 输入:数字量,输出:模拟量。转换过程:送到DAC的各位二进制数按其权的大小转换为相应的模拟分量,再把各模拟分量叠加,其和就是D/A转换的结果。,使用D/A转换器时,要注意区分:,*D/A转换器的输出形式;,*内部是否带有锁存器。,(1)输出形式,两种输出形式:电压输出形式与电流输出形式。电流输出的D/A转换器,如需模拟电压输出,可在其输出端加一个I-V转换电路。,30,(2)D/A转换器内部是否带有锁存器,D/A转换需要一定时间,这段时间内输入端的数字量应稳定,为此
14、应在数字量输入端之前设置锁存器,以提供数据锁存功能。根据芯片内是否带有锁存器,可分为内部无锁存器的和内部有锁存器的两类。,*内部无锁存器的D/A转换器,可与P1、P2口直接相接(因P1口和P2口的输出有锁存功能)。但与P0口相接,需增加锁存器。,*内部带有锁存器的D/A转换器,可与MCS-51的P0口直接相接。目前有的D/A转换器内部不但有锁存器,还包括地址译码电路,有的还有双重或多重的数据缓冲电路。,31,2.主要技术指标,(1)分辨率 输入给DAC的单位数字量变化引起的模拟量输出的变化,通常定义为输出满刻度时的模拟量值与2n之比。显然,二进制位数越多,分辨率越高。,例如,若满量程为10V,
15、根据定义则分辨率为10V/2n。设8位D/A转换,即n=8,分辨率为10V/2n=39.1mV,该值占满量程的0.391%,用1LSB表示。,同理:10位 D/A:1 LSB=9.77mV=0.1%满量程 12位 D/A:1 LSB=2.44mV=0.024%满量程,根据对DAC分辨率的需要,来选定DAC的位数。,32,(2)建立时间描述DAC转换快慢的参数,表明转换速度。定义:为从输入数字量到输出达到终值误差(1/2)LSB(最低有效位)时所需的时间。电流输出时间较短,电压输出的,还要加上I-V转换的时间,因此建立时间要长一些。快速DAC可达1s以下。,(3)精度 理想情况,精度与分辨率基本
16、一致,位数越多精度越高。但由于电源电压、参考电压、电阻等各种因素存在着误差,精度与分辨率并不完全一致。,位数相同,分辨率则相同,但相同位数的不同转换器精度会有所不同。,33,MCS-51与DAC0832的接口,1.DAC0832芯片介绍,(1)DAC0832的特性 美国国家半导体公司产品,具有两个输入数据寄存器的8位DAC,能直接与MCS-51单片机相连。主要特性如下:,电流输出,稳定时间为1s;分辨率为8位;可双缓冲输入、单缓冲输入或直接数字输入;单一电源供电(+5+15V);,34,(2)DAC0832的引脚及逻辑结构,35,DAC0832的逻辑结构:,36,DI0DI7:8位数字信号输入
17、端CS*:片选端ILE:数据锁存允许控制端,高电平有效。WR1*:输入寄存器写选通控制端。当CS*=0、ILE=1、WR1*=0时,数据信号被锁存在输入寄存器中XFER*:数据传送控制WR2*:DAC寄存器写选通控制端。当XFER*=0,WR2*=0时,输入寄存器的数据锁存入DAC寄存器中。IOUT1:电流输出1端,输入数字量全“1”时,IOUT1最大,输入数字量全为“0”时,IOUT1最小。,引脚功能:,37,IOUT2:D/A转换器电流输出2端,IOUT2+IOUT1=常数。Rfb:外部反馈信号输入端,内部已有反馈电阻Rfb,根据需要也可外接反馈电阻。VREF:基准电源输入Vcc:电源输入
18、端,可在+5V+15V范围内。DGND:数字信号地。AGND:模拟信号地。,“8位输入寄存器”用于存放CPU送来的数字量,使输入数字量得到缓冲和锁存,由LE1*控制;“8位DAC寄存器”存放待转换的数字量,由LE2*控制;“8位D/A转换电路”由T型电阻网络和电子开关组成,T型电阻网络输出和数字量成正比的模拟电流。,38,2.DAC的应用,采取何种形式接口与DAC的具体应用有关。(1)单极性电压输出 单极性模拟电压输出,具体接线见后面的例3例5。输出电压Vout与输入数字量B的关系:Vout=(B/256)*VRFE 式中,B=b727+b626+b121+b020;,B为0时,Vout也为0
19、,输入数字量为255时,Vout为最大值,单极性。,39,Vout=(B128)*(VREF/128)在选用+VREF时,(1)若输入数字量b71,则Vout为正;(2)若输入数字量b70,则Vout为负。在选用-VREF时,Vout与+VREF时极性相反。,(2)双极性电压输出,40,DAC0832编程举例,单缓冲接口电路:得到一个三角波及锯齿波电压y(t)。双缓冲接口电路:实现两路同时输出,一般作为二维图形中平面坐标(x,y)的输出。,41,例3:DAC0832与8031单缓冲接口硬件设计,0832地址8000H,DAC0832单缓冲方式应用原理图,42,例3:DAC0832单缓冲接口软件
20、编程,要求:设计程序在模拟量输出端产生一个锯齿波电压y(t)START:MOVDPTR,#8000H;指向0832地址 MOVA,#00H;设波形输出初值LOOP:MOVXDPTR,A;输出模拟量 LCALL DELAY_100us;延迟100微秒 INCA;变化数值准备下次输出 AJMPLOOP;循环输出,43,例4 三角波的产生,ORG 2000H START:MOV DPTR,#8000H MOV A,#00H UP:MOVX DPTR,A;三角波上升边 INC A JNZ UP DOWN:DEC A;A=0时再减1又为FFH MOVX DPTR,A JNZ DOWN;三角波下降边 SJ
21、MP UP END,44,例5:DAC0832与8031双缓冲接口硬件设计,0832(1)输入寄存器地址DFFFH0832(2)输入寄存器地址BFFFH两片0832 DAC寄存器选通地址7FFFH 参考电压为-5V,DA输出05V,DAC0832两路模拟同步输出电路原理图,45,例5:DAC0832双缓冲接口软件编程,;-;编程实现两路模拟量的同步输出,;#X,#Y为输出数值;-MOVDPTR,#0DFFFH;指向0832(1)输入寄存器地址MOVA,#X;准备数值MOVXDPTR,A;写0832(1)输入寄存器MOVDPTR,#0BFFFH;指向0832(2)输入寄存器地址MOVA,#Y;准备数值MOVXDPTR,A;写0832(2)输入寄存器MOVDPTR,#7FFFH;指向选通地址MOVXDPTR,A;输入寄存器内容送到DAC寄存器,46,MCS51模拟量输入输出电路其他常用的芯片,AD转换器件 AD574、MC14433DA转换器件 DAC1208、DAC1230,47,END,
链接地址:https://www.31ppt.com/p-6512349.html