收藏 分享(赏)

MCS-51单片机的模拟量输入输出.ppt

上传人:kpmy5893 文档编号:12314785 上传时间:2021-12-10 格式:PPT 页数:47 大小:627KB
下载 相关 举报
MCS-51单片机的模拟量输入输出.ppt_第1页
第1页 / 共47页
MCS-51单片机的模拟量输入输出.ppt_第2页
第2页 / 共47页
MCS-51单片机的模拟量输入输出.ppt_第3页
第3页 / 共47页
MCS-51单片机的模拟量输入输出.ppt_第4页
第4页 / 共47页
MCS-51单片机的模拟量输入输出.ppt_第5页
第5页 / 共47页
点击查看更多>>
资源描述

1、1 第11讲MCS 51的模拟量输入输出 电气工程系赵志衡E mail zhzhhe 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 4 s 速率为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 高速 1 s 中速 1ms 低速 1s 等 A D转换器的发展趋势 为适应系统集成需要 将多路转换开关 时钟电路 基准电压源 二 十进制译码器和转换电路集成在一个芯片内 为用户提供方便 11 1 A D转换器位数的确

5、定 系统总精度涉及的环节较多 传感器变换精度 信号预处理电路精度和A D转换器及输出电路 控制机构精度 还包括软件控制算法 A D转换器的位数至少要比系统总精度要求的最低分辨率高1位 位数应与其他环节所能达到的精度相适应 只要不低于它们就行 太高无意义 且价高 8位以下 低分辨率 9 12位 中分辨率 13位以上 高分辨率 12 2 A D转换器转换速率的确定 从启动转换到转换结束 输出稳定的数字量 需要一定的时间 这就是A D转换器的转换时间 低速 转换时间从几ms到几十ms 中速 逐次比较型的A D转换器的转换时间可从几 s 100 s左右 高速 转换时间仅20 100ns 适用于雷达 数

6、字通讯 实时光谱分析 实时瞬态纪录 视频数字转换系统等 13 3 是否加采样保持器 直流和变化非常缓慢的信号可不用采样保持器 其他情况都要加采样保持器 14 4 工作电压和基准电压 选择使用单一 5V工作电压的芯片 与单片机系统共用一个电源比较方便 基准电压源是提供给A D转换器在转换时所需要的参考电压 在要求较高精度时 基准电压要单独用高精度稳压电源供给 15 ADC0809接口电路设计及软件编程 ADC0809芯片结构ADC0809功能及管脚ADC0809与8031接口电路设计1及软件编程ADC0809与8031接口电路设计2及软件编程 16 ADC0809功能特点为 分辨率为8位ADC0

7、809最大不可调误差1LSB模拟输入电压范围为0 5V 单电源供电锁存控制的8路模拟开关转换速度取决于芯片的时钟频率 其范围10 1280kHz 当频率为500kHz时 转换速度为128us 17 逐次逼近式8路模拟输入 8位输出的A D转换器 ADC0809 18 共28脚 双列直插式封装 主要引脚功能如下 1 IN0 IN7 8路模拟信号输入端 2 D0 D7 8位数字量输出端 3 C B A 控制8路模拟通道的切换 C B A 000 111分别对应IN0 IN7通道 ALE是其锁存信号 4 OE START CLK 控制信号端 OE为输出允许端 START为启动信号输入端 CLK为时钟

8、信号输入端 VR 和VR 参考电压输入端 19 ADC0809结构框图 20 ADC0809功能及管脚 ADC0809芯片管脚介绍START 为启动转换控制口 输入正脉冲将启动转换 ALE 为地址锁存控制口 输入正脉冲将锁存3位地址 EOC 为转换结束信号输出口 转换时为低电平 结束为高电平输出 OE 为转换结果输出允许控制口 上升沿控制结果输出到数据线上 REF REF 为参考电压输入端 一般接VCC和GND CLK 为转换时钟输入端 IN0 IN7 8路模拟量输入端2 1 2 8 数字量输出 ADC0809管脚图 21 ADC0809操作时序 ADC0809操作时序图 22 ADC0809

9、编程要点 选通模拟量输入通道发出启动信号用查询或中断方法等待转换结束初学建议采用延时方法等待转换结束读取转换结果 23 ADC0809与8031接口电路设计1 AD接口设计转换时钟的提供 转换完成判断 8031外接晶振6MHz模拟通道的选择 ADC0809与8031接口电路1原理图 24 例1 ADC0809接口电路编程 要求 设计程序实现对8路模拟信号的采样 并把数据存储在RAM区30H 37H中 ADC0809的0 7模拟通道对应地址7FF8H 7FFFH ORG0000HMAIN MOVR1 30H 置数据存储区首地址MOVDPTR 7FF8H 指向ADC0809的0通道MOVR7 08

10、H 置通道数LOOP MOVX DPTR A 启动转换LCALLDELAY 130us 等待130usMOVXA DPTR 读取转换结果MOV R1 A 保存转换结果INCDPTR 指向下一个转换通道INCR1 指向下一个存储空间DJNZR7 LOOP 判断8个通道采样是否完成 25 例2 ADC0809与8031接口 AD接口设计转换时钟的提供 转换完成判断模拟通道的选择 ADC0809与8031接口电路2原理图 26 例2编程 要求编程实现对第0路模拟信号的采样并实时在数码上显示采样值 待显示的采样值存放在RAM区30H 31H中 主程序代码 完成中断设置 启动AD转换的功能 ORG000

11、0H 系统复位程序入口地址AJMPMAIN 转向主程序ORG0013H 外部硬件中断1程序入口地址AJMPINT1P 转向中断处理子程序MAIN SETBIT1 设INT1为边沿触发方式SETBEX1 允许INT1中断SETBEA 开中断MOVR0 30H 指向显示缓冲区首地址MOVA 00H 指向模拟通道0MOVDPTR 8000H 指向ADC0809MOVX DPTR A 启动通道0转换WAIT AJMPWAIT 等待转换完成中断 27 例2编程 中断处理程序代码 读取采样值 并显示在数码管上 INT1P MOVXA DPTR 读取采样值MOVR1 A 暂存采样值于R1ANLA 0FH 取

12、采样值低4位MOV R0 A 保存采样值低4位于30HINCR0 保存地址指向31HMOVA R1SWAPA A的高4位与低4位交换ANLA 0FH 取采样值高4位MOV R0 A 保存采样值高4位于31HLCALLSHOW 调用显示子程序MOVA 00H 指向模拟通道0MOVDPTR 8000H 指向ADC0809MOVX DPTR A 启动通道0转换RETI 中断返回 28 DA转换的实现 DA转换的基础知识DAC0832芯片结构DAC0832功能及管脚DAC0832与8031双缓冲接口电路设计及软件编程DAC0832与8031单缓冲接口电路设计及软件编程 29 DAC的基本原理及性能指标

13、 1 概述输入 数字量 输出 模拟量 转换过程 送到DAC的各位二进制数按其权的大小转换为相应的模拟分量 再把各模拟分量叠加 其和就是D A转换的结果 使用D A转换器时 要注意区分 D A转换器的输出形式 内部是否带有锁存器 1 输出形式 两种输出形式 电压输出形式与电流输出形式 电流输出的D A转换器 如需模拟电压输出 可在其输出端加一个I V转换电路 30 2 D A转换器内部是否带有锁存器 D A转换需要一定时间 这段时间内输入端的数字量应稳定 为此应在数字量输入端之前设置锁存器 以提供数据锁存功能 根据芯片内是否带有锁存器 可分为内部无锁存器的和内部有锁存器的两类 内部无锁存器的D

14、A转换器 可与P1 P2口直接相接 因P1口和P2口的输出有锁存功能 但与P0口相接 需增加锁存器 内部带有锁存器的D A转换器 可与MCS 51的P0口直接相接 目前有的D A转换器内部不但有锁存器 还包括地址译码电路 有的还有双重或多重的数据缓冲电路 31 2 主要技术指标 1 分辨率输入给DAC的单位数字量变化引起的模拟量输出的变化 通常定义为输出满刻度时的模拟量值与2n之比 显然 二进制位数越多 分辨率越高 例如 若满量程为10V 根据定义则分辨率为10V 2n 设8位D A转换 即n 8 分辨率为10V 2n 39 1mV 该值占满量程的0 391 用1LSB表示 同理 10位D A

15、 1LSB 9 77mV 0 1 满量程12位D A 1LSB 2 44mV 0 024 满量程 根据对DAC分辨率的需要 来选定DAC的位数 32 2 建立时间描述DAC转换快慢的参数 表明转换速度 定义 为从输入数字量到输出达到终值误差 1 2 LSB 最低有效位 时所需的时间 电流输出时间较短 电压输出的 还要加上I V转换的时间 因此建立时间要长一些 快速DAC可达1 s以下 3 精度理想情况 精度与分辨率基本一致 位数越多精度越高 但由于电源电压 参考电压 电阻等各种因素存在着误差 精度与分辨率并不完全一致 位数相同 分辨率则相同 但相同位数的不同转换器精度会有所不同 33 MCS

16、51与DAC0832的接口 1 DAC0832芯片介绍 1 DAC0832的特性美国国家半导体公司产品 具有两个输入数据寄存器的8位DAC 能直接与MCS 51单片机相连 主要特性如下 电流输出 稳定时间为1 s 分辨率为8位 可双缓冲输入 单缓冲输入或直接数字输入 单一电源供电 5 15V 34 2 DAC0832的引脚及逻辑结构 35 DAC0832的逻辑结构 36 DI0 DI7 8位数字信号输入端CS 片选端ILE 数据锁存允许控制端 高电平有效 WR1 输入寄存器写选通控制端 当CS 0 ILE 1 WR1 0时 数据信号被锁存在输入寄存器中XFER 数据传送控制WR2 DAC寄存器

17、写选通控制端 当XFER 0 WR2 0时 输入寄存器的数据锁存入DAC寄存器中 IOUT1 电流输出1端 输入数字量全 1 时 IOUT1最大 输入数字量全为 0 时 IOUT1最小 引脚功能 37 IOUT2 D A转换器电流输出2端 IOUT2 IOUT1 常数 Rfb 外部反馈信号输入端 内部已有反馈电阻Rfb 根据需要也可外接反馈电阻 VREF 基准电源输入Vcc 电源输入端 可在 5V 15V范围内 DGND 数字信号地 AGND 模拟信号地 8位输入寄存器 用于存放CPU送来的数字量 使输入数字量得到缓冲和锁存 由LE1 控制 8位DAC寄存器 存放待转换的数字量 由LE2 控制

18、 8位D A转换电路 由T型电阻网络和电子开关组成 T型电阻网络输出和数字量成正比的模拟电流 38 2 DAC的应用 采取何种形式接口与DAC的具体应用有关 1 单极性电压输出单极性模拟电压输出 具体接线见后面的例3 例5 输出电压Vout与输入数字量B的关系 Vout B 256 VRFE式中 B b7 27 b6 26 b1 21 b0 20 B为0时 Vout也为0 输入数字量为255时 Vout为最大值 单极性 39 Vout B 128 VREF 128 在选用 VREF时 1 若输入数字量b7 1 则Vout为正 2 若输入数字量b7 0 则Vout为负 在选用 VREF时 Vou

19、t与 VREF时极性相反 2 双极性电压输出 40 DAC0832编程举例 单缓冲接口电路 得到一个三角波及锯齿波电压y t 双缓冲接口电路 实现两路同时输出 一般作为二维图形中平面坐标 x y 的输出 41 例3 DAC0832与8031单缓冲接口硬件设计 0832地址8000H DAC0832单缓冲方式应用原理图 42 例3 DAC0832单缓冲接口软件编程 要求 设计程序在模拟量输出端产生一个锯齿波电压y t START MOVDPTR 8000H 指向0832地址MOVA 00H 设波形输出初值LOOP MOVX DPTR A 输出模拟量LCALLDELAY 100us 延迟100微秒

20、INCA 变化数值准备下次输出AJMPLOOP 循环输出 43 例4三角波的产生 ORG2000HSTART MOVDPTR 8000HMOVA 00HUP MOVX DPTR A 三角波上升边INCAJNZUPDOWN DECA A 0时再减1又为FFHMOVX DPTR AJNZDOWN 三角波下降边SJMPUPEND 44 例5 DAC0832与8031双缓冲接口硬件设计 0832 1 输入寄存器地址DFFFH0832 2 输入寄存器地址BFFFH两片0832DAC寄存器选通地址7FFFH参考电压为 5V DA输出0 5V DAC0832两路模拟同步输出电路原理图 45 例5 DAC0832双缓冲接口软件编程 编程实现两路模拟量的同步输出 X Y为输出数值 MOVDPTR 0DFFFH 指向0832 1 输入寄存器地址MOVA X 准备数值MOVX DPTR A 写0832 1 输入寄存器MOVDPTR 0BFFFH 指向0832 2 输入寄存器地址MOVA Y 准备数值MOVX DPTR A 写0832 2 输入寄存器MOVDPTR 7FFFH 指向选通地址MOVX DPTR A 输入寄存器内容送到DAC寄存器 46 MCS51模拟量输入输出电路其他常用的芯片 AD转换器件AD574 MC14433DA转换器件DAC1208 DAC1230 47 END

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 实用文档 > 解决方案

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报