《单片机与数模及模数转换接口课件.ppt》由会员分享,可在线阅读,更多相关《单片机与数模及模数转换接口课件.ppt(56页珍藏版)》请在三一办公上搜索。
1、第9章 单片机与数/模及模/数转换接口,9.1 MCS-51单片机与D/A转换器的接口和应用,9.2 MCS-51单片机与A/D转换器的接口和应用,本章要求,1.了解掌握单片机与D/A转换器的接口和应用,2.了解掌握D/A转换器的原理与DAC0832,3.了解掌握单片机与A/D转换器的接口和应用,4.了解掌握A/D转换器的原理与ADC0809,9.1 MCS-51单片机与D/A 转换器的接口和应用,一.D/A 转换器概述,概述,1.电压与电流输出形式,2.带与不带锁存器的D/A转换器,9.1 MCS-51单片机与D/A 转换器的接口和应用,一.D/A 转换器概述,D/A转换器的主要技术指标,1
2、.分辨率,分辨率指最小输出电压(对应的输入数字量最低有效位为1)与最大输出电压(对应的数字输入量所有位全为1)之比。,例如,对于10位D/A转换器,其分辨率为1/1024,2.转换精度 D/A的转换精度主要取决于D/A转换器的二进制位数。例如,8位的D/A相对误差是1/256,16位的D/A相对误差为1/65 536。显然,二进制位数越多精度越高。3.建立时间 D/A转换器是指从数字输入端发生变化开始,到输出模拟信号电压(或模拟信号电流)达到满刻度值(1/2)LSB时所需要的时间。,2.带数据锁存器的D/A转换器的接口方法 1)DAC0832特性与结构 DAC0832具有两个输入数据寄存器的8
3、位DAC,分辨率为8位,电流稳定时间1 s,可采用单缓冲、双缓冲或直接数字输入工作方式,转换结果为电流型,它能直接与51系列单片机接口。DAC0809是单一电源供电(5 V15 V),低功耗。图8-18是DAC0832的内部逻辑结构图。,图8-18 DAC0832的内部结构图,2)DAC0832引脚功能介绍图8-19是DAC0832的引脚图。各引脚功能如下:(1)DI0DI7:数据输入线。(2)ILE:数据锁存允许端,高电平有效。(3):输入寄存器选择信号端,低电平有效。(4):输入寄存器的写选通信号端,低电平有效。(5):DAC寄存器的写选通信号端,低电平有效。(6):数据转换控制信号线,低
4、电平有效。,图8-19 DAC0832的引脚图,(7)VREF:基准电源输入端。(8)Rfb:反馈信号输入端(反馈电阻在芯片内部)。(9)IOUT1、IOUT2:电流输出端。(10)VCC:电源输入端。(11)AGND:模拟信号地。(12)DGND:数字信号地。,3)DAC0832与AT89C51的接口 从图8-19可知,只有当和ILE同时有效时,才能够通过 将数据写入输入寄存器。(1)单缓冲工作方式:在应用系统中,当只有一路模拟量输出或虽有多路模拟量但不需要做同步输出时,就可以采用单缓冲工作方式。,图8-20 DAC0832单缓冲方式下的连接方法,在图8-20中,D/A转换器的基准电压VRE
5、F取自MC1403的分压输出,LM324的功能是把电流型输出转换成单极性的电压型输出,由于、并接到地址锁存器的A0,所以0832的口地址为FFFEH。按照图8-23,产生梯形波的程序如下:,START:MOV DPTR,#0FFFEH;选中0832STEP:MOV R6,#20H;置阶跃值 MOV R4,#05H;置阶跃次数 MOV A,#00H;送初值LOOP:MOVX DPTR,A;启动D/A转换 ACALL DELAY;调延时程序 ADD A,R6;加阶跃值 DJNZ R4,LOOP;重复数到否 AJMP STEP,(2)双缓冲工作方式:双缓冲工作方式用于需要同时输出几路模拟信号的场合。
6、此种方式下,每一路模拟量都需要一片DAC0832,从而构成多个0832同步输出系统,图8-21是两路模拟信号同步输出的电路连接方法。,图8-21 两路模拟信号同步输出系统,下面是按照图8-21使两路模拟电压同时输出的程序清单:MOV DPTR,#0FFFEHMOV A,#XdataMOVX DPTR,A;Xdata写入第一片0832的输入寄存器MOV DPTR,#0FFFDHMOV A,#Ydata,MOVX DPTR,A;Ydata写入第二片0832的输入寄存器MOV DPTR,#0FBHMOV DPTR,A;两片0832的输入寄存器的数据同时送到各自的DAC寄存器,9.1 MCS-51单片
7、机与D/A 转换器的接口和应用,二.典型D/A 转换器芯片DAC0832,9.1 MCS-51单片机与D/A 转换器的接口和应用,三.单缓冲方式的接口与应用,8.3 A/D转换器及接口技术,8.3.1 A/D转换器概述 在大规模集成电路高速发展的今天,由于计算机控制技术在工程领域内的广泛应用,A/D转换器在应用系统中占据着重要的地位。为了满足各种不同的检测及控制任务的需要,大量结构不同,性能各异的A/D转换电路应运而生。尽管A/D转换器的种类繁多,但目前广泛使用的还是逐次比较式和双积分式。,8.3.2 A/D转换器的主要技术指标 A/D转换器的主要技术指标如下:(1)分辨率:指对输入模拟量变化
8、的灵敏度。习惯上用输出二进制的位数或BCD码位数表示。,(2)转换精度:指与数字输出量所对应的模拟输入量的实际值与理论值之间的差值。精度有绝对精度和相对精度两种表示方法。(3)转换速率:指能够重复进行数据转换的速度,即每秒转换的次数,而完成一次A/D转换所需的时间(包括稳定时间),为转换速率的倒数。,8.3.3 AT89C51单片机与ADC0809接口应用 1.ADC0809内部结构及特性 ADC0809是8位逐次比较式A/D转换器,其内部包括8位A/D转换器,8路模拟开关、三态输出锁存器以及地址译码器等。它可分别对8路05 V模拟量输入信号进行转换。输出量有三态锁存缓冲,可直接连到单片机的数
9、据总线上。图8-10是ADC0809的内部结构图。,图8-10 ADC0809内部结构图,2.ADC0809引脚功能 图8-11是ADC0809的引脚图,引脚功能如下:(1)IN0IN7:8路模拟量输的入端。(2)2-12-8:8位数字量输出端口,2-1为最高有效位,2-8为最低有效位。(3)START:启动控制输入端,加正脉冲,立即启动A/D转换。,图8-11 ADC0809引脚图,(4)ALE:地址锁存控制端。(5)EOC:转换结束信号输出端。(6)OE:输出允许控制端。(7)CLK:时钟信号输入端。(8)REF()、REF():参考电压输入端,一般REF()接VCC,REF()接GND。
10、(9)ADDA、ADDB、ADDC:8位模拟开关的3位地址选通输入端,用来选择对应的输入通道,其对应关系如表8-2所示。(10)VCC和GND:电源端和接地端。,表8-2 8路模拟开关功能表,3AT89C51与ADC0809接口 ADC0809与AT89C51的连接有三种方式:查询方式、中断方式和定时方式。应用时采用什么方式,应该根据具体情况来选择。图8-12为单片机AT89C51与ADC0809的硬件电路图。该连接图既可作为中断方式,又可作为查询方式,通过软件编程,这两种方式都能够实现。,图8-12 AT89C51与ADC0809的接口图,例8.3 用查询方式分别对8路模拟信号轮流采样一次,
11、并依次把结果转存到以30H为首址的数据存储区,程序如下:MAIN:MOV R1,#30H;置数据区首址 MOV DPTR,#0FFF8H;指向IN0 MOV R7,#08H;置通道数 LOOP:MOVX DPTR,;启动A/D转换MOV R6,#05H;软件延时DLAY:NOP DJNZ R6,DLAY,WAIT:JNB P3.2,WAIT;查询EOC是否为高,高则转换结束 MOVX A,DPTR;读取转换结果 MOV R1,A;存取数据 INC DPTR;指向下一个通道 INC R1;指向下一个存储单元 DJNZ R7,LOOP;巡回检测八个通道 RET,例8.4 利用中断方式分别对8路模拟
12、信号轮流采集一次,转换结果依次存放在首址为30H的片内数据区,程序如下:ORG 0000H AJMP MAIN ORG 0003H AJMP PINT1MIAN:MOV R1,#30H;置数据区首址 MOV DPTR,#0FEF8H;指向IN0MOVR7,#08H,SETB IT0 SETB EX0;开中断 SETB EALOOP:MOVX DPTR,A;启动A/D转换 PINT1:MOVX A,DPTR;读取数据 MOV R1,A;存取数据,INC R1;更新存储单元 INC DPTR;更新通道 DJNZ R7,DONE CLR EXO;关中断 CLR EA RETI;中断返回DONE:MO
13、VX DPTR,ARETI,8.3.4 AT89C51与MC14433接口应用 1.MC14433的结构及特性 MC14433是3 位双积分A/D转换器,它具有抗干扰性能好、转换精度高、自动校零、自动极性输出、自动量程控制信号输出、动态高位扫描BCD码输出、单基准电压、过量欠量程输出标志等特点,但其转换速度慢,在不要求高速转换的场合被广泛地应用。,2MC14433引脚介绍 MC14433的引脚如图8-13所示。各引脚功能如下:(1)VAG:被测电压VX和基准电压VR的接地端(模拟地)。(2)VR:外接基准电压(2 V或200 mV)。(3)VX:被测电压输入端。(4)R1,R1/C1,C1:外
14、接积分电阻和外接积分电容端。(5)CO1,CO2:外接失调补偿电容,典型值为0.1 F。,(6)DU:更新输出的A/D转换数据结果的输入端,当DU与EOC相连时,每次的A/D转换结果都被更新。(7)CLK1,CLK0:时钟信号输入、输出端。(8)VDD、VEE:分别为正电源端(接5 V)和模拟负电源端(接5 V)。(9)VSS:数字地或系统地。(10)EOC:转换周期结束标志,每当一个A/D转换周期结束,输出一个宽度为时钟周期二分之一的正脉冲。,(11)(11)OR:过量程标志,平时为高电平,当|VX|VR时,为低电平。(12)DS1DS4:多路选通脉冲输出端,DS1对应千位,DS4对应个位,
15、每个选通脉冲宽度为18个时钟周期,两个相邻脉冲之间间隔2个时钟周期,其脉冲时序图见图8-14。,图8-14 MC14433选通脉冲时序图,(13)Q0Q3:BCD码数据输出端,其中Q0为最低位,Q3为最高位。在DS2、DS3和DS4选通期间,分别输出三位完整的BCD码,即09这10个数码中的任何一个。但在DS1选通期间,Q0Q3输出除了表示千位的0或1外,还表示了正负极性及欠过量程,其含义见表8-3。,表8-3 DS1选通时Q0Q3表示的输出结果,3AT89C51与MC14433的接口 由于MC14433的A/D转换结果是动态分时输出BCD码。Q0Q3和DS1DS4都不是总线式的,因此,单片机
16、只能通过并行口或扩展并行口与其相连。图8-15为AT89C51与MC14433的硬件接口图。,图8-15 AT89C51与MC14433接口图,图8-15中,MC14433用集成精密2.5 V电压基准源经电位器分压作为A/D转换的基准电压。EOC与DU相连,用来选择连续转换方式,每次转换结果都送至输出寄存器,并且由EOC作为查询或中断方式读取转换结果的输入信号。用MC14433设计的A/D转换电路中,在程序设计时,因为要对符号位进行位处理,所以要将数据保存在能够进行位处理的单元。下面的程序是在中断程序中用查询方式读取MC14433的BCD码扫描输出值,并将读取的数据存在能进行位寻址的2EH、2
17、FH单元,数据存放格式如图8-16所示。,图8-16 数据存放格式,程序如下:MAIN:SETB IT1;INT1为边沿触发方式 MOV IE,#10000100B;CPU开中断,允许INT1中断中断服务程序:PINT1:MOV A,P1 JNB ACC.4,PINT1;等待DS1信号 JB ACC.0,PER;过欠量程转PER,JB ACC.2,PL1;结果为正转PL1 SETB 77H;负数,符号位置1 AJMP PL2PL1:CLR 77H;正数,符号位清0PL2:JB ACC.3,PL3;ACC.3=0时,千位数为1 SETB 74H;千位数置1 AJMP PL4,PL3:CLR 74
18、H;千位数清零PL4:MOV A,P1 JNB ACC.5,PL4;等待百位BCD码的选通信号 MOV R0,#2EH XCHD A,R0;百位数送入2EH低4位PL5:MOV A,P1 JNB ACC.6,PL5;等待十位数选通信号DS3,SWAP A;高低4位交换 INC R0;指向2FH单元 MOV R0,A;十位数送入2FHPL6:MOV A,P1 JNB ACC.7,PL6;等待个位数选通信号DS4XCHD A,R0;个位数送入2FH低4位RETI PER:SETB 10H;置过欠量程标志RETI,9.1 MCS-51单片机与D/A 转换器的接口和应用,四.双缓冲方式的接口与应用,9.2 MCS-51单片机与A/D 转换器的接口和应用,一.典型A/D 转换器芯片ADC0809,9.2 MCS-51单片机与A/D 转换器的接口和应用,二.MCS-51单片机与ADC 0809接口,9.2 MCS-51单片机与A/D 转换器的接口和应用,三.MCS-51单片机与ADC 0809接口应用,作业练习题,P253:一.1、4、630,二.1、2、4、6、914,