1 / 60

本章内容:

本章内容:. 8.1 D/A 转换器及其与单片机接口. 第 8 章 80C51 的测控接口. 8.2 A/D 转换器及其与单片机接口. 8.3 开关量接口. I3 = I /2 5. I0 = I /2 8. I2 = I /2 6. I 7 = I /2 1. I5 = I /2 3. I6 = I /2 2. I4 = I /2 4. I1 = I /2 7. I. I7. I6. I5. I4. I3. I2. I1. I0. R. R. R. R. Vref. R. R. R. R. I5. I3. I1.

cleta
Télécharger la présentation

本章内容:

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 本章内容: 8.1 D/A转换器及其与单片机接口 第8章 80C51的测控接口 8.2 A/D转换器及其与单片机接口 8.3 开关量接口

  2. I3=I/25 I0=I/28 I2=I/26 I7=I/21 I5=I/23 I6=I/22 I4=I/24 I1=I/27 I I7 I6 I5 I4 I3 I2 I1 I0 R R R R Vref R R R R I5 I3 I1 I6 I4 I2 I0 I7 2R 2R 2R 2R 2R 2R 2R 2R R Rfb 0 0 0 0 1 0 1 0 1 0 1 0 1 1 1 1 I01 I01=I7+I6+‥+I0 =(I/28)(27+‥+ 20) D7~D0=1111 1111时 Vo=-(Vref/28)(27+‥+ 20) 当Rfb=R时 --- I02 + Vo D5 D3 D1 D7 D6 D4 D2 D0 8.1 D/A转换器及其与单片机接口 I=Vref/R 8.1.1 D/A转换器的原理及主要技术指标 一、D/A转换器的基本原理及分类 T型电阻网络:

  3. 分辨率:输入数字量最低有效位发生变化时,所对应输出模拟量的变化量。分辨率:输入数字量最低有效位发生变化时,所对应输出模拟量的变化量。 二、D/A转换器的主要性能指标 例:5V满量程,8位DAC时,分辨率:5V/256=19.5mV; 12位DAC时,分辨率:5V/4096=1.22mV。 可见,位数越多分辨率就越高。 表示为:位数或FS/2n • 线性度:实际转换特性曲线与理想直线特性之间的最大偏差。常以相对于满量程的百分数表示。 例:±1%是指实际输出值与理论值之差在满刻度的±1%以内。

  4. 绝对精度(精度):整个刻度内,任一输入对应的模拟量输出值与理论值间的最大误差。绝对精度(精度):整个刻度内,任一输入对应的模拟量输出值与理论值间的最大误差。 • 增益误差(输入数码全1时,输出值与理想值之差) • 零点误差(数码输入全0时,DAC的非零输出值) • 非线性误差和噪声等 绝对精度(即最大误差)应小于1个LSB。 • 相对精度:最大误差相对于满刻度的百分比

  5. 建立时间:输入的数字量满刻度变化时,输出信号达到满刻度值的±1/2LSB所需的时间。建立时间:输入的数字量满刻度变化时,输出信号达到满刻度值的±1/2LSB所需的时间。 • 电流输出型建立时间短 • 电压输出型建立时间决定于运放的响应时间。 精度和分辨率的不同: 位数提高时,分辨率会提高;但其它误差(如温度漂移、线性不良等)影响仍会使精度变差。

  6. 电流形式输出,主要特性: 8.1.2 DAC0832芯片及其与单片机接口 • 分辨率:8位 • 电流建立时间:1μS • 数据输入:双缓冲、单缓冲或直通方式 • 输出电流线性度:满量程下调节 • 逻辑电平:TTL电平兼容 • 单一电源:+5V~+15V • 低功耗:20mW

  7. 高电平:数据进入 负跳变:锁存 与WR1控制作用类似 ILE与CS有效,WR1低时数据进入 一、DAC0832内部结构及引脚

  8. 二、DAC0832与80C51单片机的接口 1、单缓冲工作方式 适于一路输出,或几路输出不要求同步的系统。

  9. 双极性输出:(偏移码:补码符号位取反) 可推出:VOUT=(D-27)x VREF / 27 分辨率比单极性时降低1/2(最高位作为符号位,只有7位数值位)。 当D= 127,偏移码为1111 1111, VOUT= VREF-1LSB 当D=-127,偏移码为0000 0001, VOUT=-(VREF-1LSB)

  10. 2、双缓冲工作方式 多路D/A转换输出,且要求同步输出时。

  11. 完成两路D/A同步输出的程序: MOVDPTR,#0DFFFH ;指向0832(1)输入锁存器 MOV A,#data1 MOVX @DPTR,A ;data1送入0832(1)输入锁存器 MOV DPTR,#0BFFFH ;指向DAC0832(2)输入锁存器 MOV A,#data2 MOVX @DPTR,A ;data2送入0832(2)输入锁存器 MOV DPTR,#7FFFH ;同时启动0832 (1)、0832(2) MOVX @DPTR,A ;完成D/A转换输出 3、直通工作方式 直通方式,数字量一旦输入,就直接进入DAC寄存器,进行D/A转换。

  12. 8位比较完,输出结果 最高位先置1,其余全0 VIN与80H对应的VN比较 VIN大,本位D7置1,下位置1 VIN小,本位D7置0,下位置1 如此类推。。。。 8.2 A/D转换器及其与单片机接口 8.2.1 A/D转换器的原理及主要技术指标 一、逐次逼近式ADC的转换原理

  13. 然后对标准电压进行反向积分 • VIN大,积分时间长; • VIN小,积分时间短; 对VIN进行固定时间T积分 • VIN大,积分输出电压高; • VIN小,积分输出电压低; 二、双积分式ADC的转换原理 脉冲计数值与VIN对应

  14. 分辨率:使输出数字量变化一个相邻数码所需输入模拟电压的变化量分辨率:使输出数字量变化一个相邻数码所需输入模拟电压的变化量 三、A/D转换器的主要技术指标 如:10V满刻度的12位ADC能分辨输入电压变化最小值是10V×1/ 212=2.4mV。 表示为:位数或FS/2n • 量化:用数字量近似表示模拟量的过程 • 量化误差:用有限位数进行量化引起的误差

  15. 图示:理想特性(直线)与阶梯状特性间的最大偏差--量化误差:图示:理想特性(直线)与阶梯状特性间的最大偏差--量化误差: -1LSB 向左平移后,±1/2LSB

  16. 偏移误差:指输入为零时,输出信号不为零的值(又称零值误差)。偏移误差:指输入为零时,输出信号不为零的值(又称零值误差)。 • 满刻度误差:满刻度数码对应的实际输入电压与理想电压之差(又称增益误差)。 • 线性度:指转换器实际的转换特性与理想直线的最大偏差(又称为非线性度)。 • 绝对精度:任何数码所对应的实际模拟量输入与理论模拟输入之差的最大值。包括了所有的误差。 • 转换速率:每秒转换的次数。

  17. 8.2.2 ADC0809芯片及其与单片机的接口 主要性能 • 分辨率:8位 • 精度:小于±1LSB • 单+5V供电,模拟输入电压范围为0~+5V • 8路输入模拟开关 • 可锁存三态输出,输出与TTL电平兼容 • 功耗:15mW • 不必进行零点和满度调整 • 转换时间:时钟640KHz时,约为100μS。(时钟频率范围:10~1280KHz)

  18. 启动转换 时钟 转换结束时为1 8路模拟量输入 一、ADC0809的内部结构及引脚功能 通道地址输入 地址锁存允许 8位数字量输出 输出控制

  19. 二、ADC0809与单片机的接口 1、查询方式 查询,为0时完成;中断,下降沿完成

  20. 例:对8路模拟信号轮流采样一次,并依次把转换结果存储到片内RAM以DATA为起始地址的连续单元中。例:对8路模拟信号轮流采样一次,并依次把转换结果存储到片内RAM以DATA为起始地址的连续单元中。 MAIN:MOV R1,#DATA ;置数据区首地址 MOV DPTR,#7FF8H ;指向0通道 MOV R7,#08H   ;置通道数 LOOP:MOVX @DPTR,A   ;启动A/D转换 HER:JB P3.3,HER;查询A/D转换结束 MOVX A,@DPTR   ;读取A/D转换结果 MOV @R1,A    ;存储数据 INC DPTR     ;指向下一个通道 INC R1      ;修改数据区指针 DJNZ R7,LOOP   ;8个通道转换完否? ……

  21. 2、中断方式 读取IN0通道的模拟量转换结果,送至片内RAM以DATA为首地址的连续单元中。 ORG 0013H    ;中断服务程序入口 AJMP PINT1 ORG 2000H MAIN:MOV R1, #DATA ;置数据区首地址 SETB IT1    ;为边沿触发方式 SETB EA      ;开中断 SETB EX1     ;允许中断 MOV DPTR,#7FF8H ;指向IN0通道 MOVX @DPTR,A   ;启动A/D转换 LOOP:NOP         ;等待中断 AJMP LOOP

  22. ORG 2100H  ;中断服务程序入口 PINT1:PUSH PSW    ;保护现场 PUSH ACC PUSH DPL PUSH DPH MOV DPTR, #7FF8H MOVX A,@DPTR  ;读取转换后数据 MOV @R1,A   ;数据存入以RAM INC R1     ;修改数据区指针 MOVX @DPTR,A  ;再次启动A/D转换 POP DPH     ;恢复现场 POP DPL POP ACC POP PSW RETI ;中断返回

  23. 8.2.3 ADC574芯片及其与单片机的接口 主要性能 • 逐次逼近式,可工作于12位,也可工作于8位。数据有两种读出方式:12位一次读出;8位、4位两次读出。 • 可控三态输出缓冲器,逻辑电平为TTL电平 • 非线性误差:AD574AJ为±1LSB • 转换时间:最大25μS(属中档速度) • 输入模拟信号:单极性时,范围为0V~+10V和0V~+20V,从不同引脚输入;双极性时,范围为0V~±5V和0V~±10V,从不同引脚输入。

  24. 输出码制:单极性输入时,输出数字量为原码,双极性输入时,输出为偏移二进制码。输出码制:单极性输入时,输出数字量为原码,双极性输入时,输出为偏移二进制码。 • 具有+10.000V的高精度内部基准电压源, • 电源:+5V、VCC(+12V~+15V)、VEE(-12V~-15V)。 • 低功耗:典型功耗为390mW。 一、AD574A引脚功能 • DB11~DB0:12位数据总线 • 12/8:模式选择。高电平,12位输出;低电平,分2次输出。

  25. A0:转换宽度选择。为0,12位转换,25 μS ;为1,仅8位转换,16 μS 还作为高8位与低4位选择:为0,高8位有效;为1,低4位有效,采用左对其方式(中间4位为“0”,高4位高阻) 。 低4位+中间4位0 • CS:片选 • R/C:读/转换 • CE:芯片允许 • STS:状态信号,1表示在转换,0表示完成

  26. REFOUT:+10伏基准电压输出 • REFIN:基准电压输入 • BIP OFF:双极性补偿。 • 10VIN:10伏输入端 • 20VIN:20伏输入端 • DG:数字地 • AG:模拟地 • VLOG:+5伏电源 • VCC:+12~+15伏电源 • VEE: -12~-15伏电源

  27. 二、AD574A的单极性和双极性输入 双极性输入 单极性输入

  28. 单极性。 • 从10VIN输入,VFS =10V, 1LSB=10/4096=24(mV); • 从20VIN输入,VFS =20V, 1LSB=20/4096=49(mV)。 双极性。 • VIN在-5V~+5V之间,应从10VIN引脚输入; • VIN在-10V~+10V间,应从20VIN引脚输入。 从AD574A读到的数字量D是偏移二进制码。当信号从10 VIN输入,则VFS=10V,若读得D=FFFH,即1111 1111 1111B=4095,可求得VIN=4.9976 V。

  29. 三、AD574A与单片机的接口 低4位信息利用高4位高阻状态

  30. 转换结果的读取有三种方式 • STS空着,单片机就只能在启动AD574A转换后延时25μS以上再读取转换结果,即延时方式; • STS接80C31的端口线上,单片机就可以采用查询方式。当查得STS为低电平时,表示转换结束; • STS接80C31的INTx 端,则可以采用中断方式读取转换结果。

  31. AD574A的转换程序段: AD574A:MOV DPTR,#0FFF8H ;送端口地址 MOVX ﹫DPTR,A ;启动AD574A SETB P1.0 ;置P1.0为输入 LOOP:JB P1.0,LOOP ;检测P1.0口 INC DPTR ;使R/C为1 MOVX A,﹫DPTR ;读取高8位数据 MOV 41H,A ;高8位内容存入41H单元 INC DPTR ;使R/C、A0均为1 INC DPTR ; MOVX A,﹫DPTR ;读取低4位 MOV 40H ,A ;将低4位内容存入40H单元 ... ... 该程序也可按中断方式设计

  32. 8.2.4 MC14433芯片及其与单片机的接口 3位半双积分A/D转换器: • 具有抗干扰性能好 • 转换精度高(相当于11位二进制数) • 自动校零 • 自动极性输出 • 自动量程控制信号输出 • 动态字位扫描BCD码输出 • 单基准电压,外接元件少,价格低廉等特点。 • 转换速度约1~10次/秒。 在不要求高速转换的场合,如温度控制系统中,被广泛采用

  33. 一、MC14433的内部结构及引脚功能

  34. 转换电压量程:199.9mV或1.999V。 • 基准电压:+200mV或+2V两种。 • 字位动态扫描BCD码输出:千、百、十、个位BCD码轮流地在Q0~Q3端输出,同时在DS1~DS4端出现同步字位选通信号。 外接器件:时钟振荡器外接电阻RC、外接失调补偿电容C0和外接积分阻容元件R1、C1。

  35. 引脚功能如下: • VAG:被测电压VX和基准电压VR的接地端 • VR:外接输入基准电压(+2V或+200mV) • VX:被测电压输入端。 • R1、R1/C1、C1 • 量程为2V时,C1=0.1µF,R1=470kΩ • 量程为200mV时,C1=0.1µF,R1=27kΩ。 • C01、C02:外接失调补偿电容C0端 C0的典型值为0.1µF。

  36. DU:更新转换结果控制端。常与EOC连接 • CLK1和CLK0:时钟振荡器外接电阻端 RC值为300kΩ,时钟频率为147 kHz(每秒约转换9次) • VEE:负电源端,接-5V • VDD:正电源端,接+5V • VSS:数字地。通常将VSS接VAG • EOC:转换周期结束标志。转换结束时输出一个宽度为时钟周期二分之一的正脉冲

  37. OR:过量程标志。过量程时输出低电平。 • DS1~DS4:多路选通脉冲输出端。DS1对应千位,DS4对应个位。 DS1有效时--千位 DS2有效时--百位 DS3有效时--十位 DS4有效时--个位

  38. Q3--0、1 Q0为0 Q3--欠、过 Q0为1 Q2--正、负 • Q0~Q3:BCD码数据输出线。在DS1选通期间,除了表示千位的0、1外,还表示转换值的正、负和欠、过量程,见下表:

  39. 二、MC14433与80C51单片机的接口

  40. 电路及器件连接 • 片内提供时钟发生器,只需外接一个电阻;也可采用外部输入时钟或外接晶体振荡电路。 • 工作电源为±5V,正电源接VDD,模拟部分负电源端接VEE,模拟地VAG与数字地VSS相连为公共接地端。 • 为了提高抗干扰能力,正、负电源分别经去耦电容与VSS端相连。 • 基准电压须外接。可由MC1403通过分压提供+2V或+200mV的基准电压。

  41. DU端与EOC端相连,以选择连续转换方式,每次转换结果都送至输出寄存器。 DU端与EOC端相连,以选择连续转换方式,每次转换结果都送至输出寄存器。 • 转换结果是动态分时输出的BCD码。因此,单片机只能通过并行I/O接口或扩展I/O接口与其相连。 • 读取A/D转换结果可以采用中断方式或查询方式 • 中断方式时,EOC端与80C51外中断端相连 • 查询方式时,EOC端可接入80C51任一个I/O口或扩展I/O口。

  42. 例: 当80C51开放CPU中断,允许外部中断1中断申请,并置外部中断为边沿触发方式,在执行后面程序后,每次A/D转换结束时,都将把A/D转换结果数据送入片内RAM中的2EH、2FH单元。

  43. 初始化程序: INI1:SETB IT1 ;选择为边沿触发方式 MOV IE,#10000100B ;CPU开中断,外中断允许 ... ... 中断服务程序: PINT1:MOV A,P1 JNB ACC.4,PINT1 ;等待DS1选通信号 JB ACC.0,PEr ;是否过、欠量程,是则转Per JB ACC.2,PL1 ;结果是正或负,0为负 SETB 77H ;负数符号置1 AJMP PL2 PL1:CLR 77H ;正数,符号位置0 PL2:JB ACC.3,PL3 ;千位数为0或1

  44. SETB 74H ;千位数置1 AJMP PL4 PL3:CLR 74H ;千位数置0 PL4:MOV A,P1 JNB ACC.5, PL4 ;等待百位BCD 码选通信号DS2 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 ;十位数送入2FH高4位 PL6:MOV A,P1 JNB ACC.7,PL6 ;等待个位数选通信号DS4 XCHD A,@R0 ;个位数送入2FH低4位 RETI ;中断返回 PEr:SETB 10H ;置过、欠量程标志 RETI ;中断返回

  45. 8.3 开关量接口 8.3.1 开关量输入接口 一、扳键开关与单片机的接口

  46. 读扳键开关状态程序段: CLR P1.0 ;准备选通和读入开关状态 MOVX A,@R0 ;(R0)可为随机值 RRC A JNC KS1 ;如P0.0为低电平,转KS1 LJMP KF1 ;P0.0为高电平,执行KF1程序 KS1:RRC A JNC KS2 ;如P0.1为低电平,转KS2 LJMP KF2 ;P0.1为高电平,执行KF2程序 ……‌ KS7:RRC A JNC ELSE ;如P0.7为低电平,转ELSE LJMP KF8 ;P0.7为高电平,执行KF8程序 ELSE:……‌

  47. 二、拨盘开关与单片机的接口

  48. 接口程序如下: BCD:CLR P1.0 ;准备选通和读入2位BCD码 MOVX A,@R0 ;自P0口读2位BCD码 ANL A,#0FH ;取个位数 MOV 20H,A ;存入片内RAM 的20H单元 MOVX A,@R0 ;重读2位BCD码 ANL A,#0F0H ;取十位数 SWAP A ;调整到低半字节 MOV 21H,A ;存入片内RAM的21H单元 RET

  49. 8.3.2 开关量输出接口 一、输出接口的隔离 光耦合器:把发光二极管和光敏三极管封装在一个管壳内。

More Related