1 / 22

第 8 章 80C51 的测控接口

第 8 章 80C51 的测控接口. 8.1 D/A 转换器及其与单片机接口 8.2 A/D 转换器及其与单片机接口. 本章学习目标. MCS-51 单片机与 8 位 D/A 转换器的接口技术 MCS-51 单片机与 8 位 A/D 转换器的接口技术. 8.1 D/A 转换器的应用. 8.1.1 D/A 转换器原理. ----D/A 转换即是将数字量转换成相应的模拟量,常用于控制系统中。如单片机输出不同的数字量经 D/A 转换后加给直流电机,即可控制电机的转速。. ---- D/A 电路一般是作成集成电路芯片,转换出来的 模拟量 是电压量 。

pekelo
Download Presentation

第 8 章 80C51 的测控接口

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章 80C51的测控接口 8.1 D/A转换器及其与单片机接口 8.2 A/D转换器及其与单片机接口

  2. 本章学习目标 • MCS-51单片机与8位D/A转换器的接口技术 • MCS-51单片机与8位A/D转换器的接口技术

  3. 8.1 D/A转换器的应用 8.1.1 D/A转换器原理 ----D/A转换即是将数字量转换成相应的模拟量,常用于控制系统中。如单片机输出不同的数字量经D/A转换后加给直流电机,即可控制电机的转速。 ----D/A电路一般是作成集成电路芯片,转换出来的模拟量是电压量。 ----D/A有8位\10位\12位\16位,位数越多分辨率就越高;但其它误差(如温度漂移、线性不良等)影响仍会使精度变差

  4. 8.1.2 DAC0832 芯片结构 0832----8位D/A IOUT1 电流输出1 Vcc ILE WR2 XFER DI4 DI5 DI6 DI7 IOUT2 IOUT1 CS WR1 AGND DI3 DI2 DI1 DI0 VREF RFR DGND IOUT2 电流输出2 CS 选片 输入写 WR1 DAC 0832 WR2 DAC写 ILE 数据锁存 XFER 数据传送 DI0~DI7 数据线 DAC0832引脚图

  5. 高电平:数据进入 负跳变:锁存 与WR1控制作用类似 ILE与CS有效,WR1低时数据进入

  6. 8.1.3、DAC0832与80C51单片机的接口 1、单缓冲工作方式 适于一路输出,或几路输出不要求同步的系统。 ----将两级寄存器的控制信号并接在一起,相当于控制一级寄存器(线选译码地址7FFFH)。

  7. 采用单缓冲方式输出锯齿波、矩形波、三角波、梯形波等的D/A转换程序采用单缓冲方式输出锯齿波、矩形波、三角波、梯形波等的D/A转换程序 锯齿波 ORG 2000H START:MOV DPTR,#7FFFH ;选中0832 MOV A,#00H ;D/A数据初值 LP: MOVX @DPTR, A ;转换 INC A ;修改D/A数据 SJMP LP ;循环,输出连续模拟量 A=0FFH A=00

  8. A=0FFH A=0FFH A=00 A=00 三角波 ORG 2000H START:MOV DPTR,#7FFFH ;选中0832 MOV A,#00H ;D/A数据初值 UP: MOVX @DPTR, A ;转换 INC A ;修改D/A数据(上升) JNZ UP ;未上升到最大值,继续 DOWN:DEC A ;否则,修改D/A数据(下降) MOVX @DPTR, A ;转换 JNZ DOWN ;未下降到最小值,继续 SJMP UP ;一个周期结束,继续

  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转换输出

  12. 3、直通工作方式 P186 • DAC0832的片选CS、写信号WR1、WR2及传送控制信号XFER全部接地,允许锁存ILE接+5V。 • 直通方式,数字量一旦输入,就直接进入DAC寄存器,进行D/A转换。

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

  14. 8.2 A/D转换器及其与单片机接口 8.2.1 A/D转换原理 ----A/D转换即是将模拟量信号转换成数字量信号,常用于数据采集系统,外界的模拟信号经A/D转换后,读入单片机内部以便进行处理。 ----常见A/D转换电路有双积分式和逐次逼近式。

  15. 8位比较完,输出结果 VIN与80H对应的VN比较 最高位先置1,其余全0 VIN大,本位D7置1,下位置1 VIN小,本位D7置0,下位置1 如此类推。。。。 一、逐次逼近式的转换原理 比较器 D/A转换器 VIN N位数 字量输出 输 出 缓 冲 器 模拟量输入 VN N位寄存器 时钟 时序与控制 逻辑电路 启动 OE EOC 逐次逼近A/D转换器原理图

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

  17. 8.2.2 ADC0809芯片与单片机的接口 一、ADC0809的引脚及内部结构 0809引脚功能 0809----8位A/D IN7~IN0 模拟量输入 IN3 IN4 IN5 IN6 IN7 START EOC D3 OE CLK VCC VR(+) GND D1 IN2 IN1 IN0 A B C ALE D7 D6 D5 D4 D0 VR(-) D2 VR 参考电源 CLK 时钟 输出允许 OE 0809 EOC 转换结束 ALE 地址锁存 START 启动转换 D0~D7 数字量输出 ADC0809引脚图

  18. START CLK IN0 · · IN7 8路 模拟量 开关 EOC D0 · · D7 8位A/D 转换器 三态 输出 锁存器 A B C 地址 锁存与 译码 ALE VR(+) VR(-) OE ADC0809的结构框图

  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 ;中断返回

More Related