C51单片机与DA转换器AD转换器的接口.ppt

上传人:tia****nde 文档编号:8953572 上传时间:2020-04-02 格式:PPT 页数:85 大小:1.49MB
返回 下载 相关 举报
C51单片机与DA转换器AD转换器的接口.ppt_第1页
第1页 / 共85页
C51单片机与DA转换器AD转换器的接口.ppt_第2页
第2页 / 共85页
C51单片机与DA转换器AD转换器的接口.ppt_第3页
第3页 / 共85页
点击查看更多>>
资源描述
第11章89C51单片机与D A转换器 A D转换器的接口 非电物理量 温度 压力 流量 速度等 须经传感器转换成模拟电信号 电压或电流 必须转换成数字量 才能在单片机中处理 A D转换器 ADC 模拟量 数字量的器件 D A转换器 DAC 数字量 模拟量的器件 数字量 也常常需要转换为模拟信号 只需合理选用商品化的大规模ADC DAC芯片 了解引脚及功能以及与单片机的接口设计 11 189C51与DAC的接口 11 1 1D A转换器概述 1 概述 输入 数字量 输出 模拟量 转换过程 送到DAC的各位二进制数按其权的大小转换为相应的模拟分量 再把各模拟分量叠加 其和就是D A转换的结果 使用D A转换器时 要注意区分 D A转换器的输出形式 内部是否带有锁存器 1 D A转换器的两种输出形式 两种输出形式 电压输出形式与电流输出形式 电流输出的D A转换器 如需模拟电压输出 可在其输出端加一个I V转换电路 2 D A转换器内部是否带有锁存器 由于D A转换需要一定的时间 在这段时间内D A转换器输入端的数字量应保持稳定 为此应当在D A转换器数字量输入端的设置锁存器 目前的D A转换器内部大多带有锁存器 有的还具有双重或多重数据缓冲电路 2 主要技术指标 1 分辨率 输入给DAC的单位数字量变化引起的模拟量输出的变化 通常定义为输出满刻度值与2n之比 显然 二进制位数越多 分辨率越高 例如 若满量程为10V 根据定义则分辨率为10V 2n 设8位D A转换 即n 8 分辨率为10V 2n 39 1mV 该值占满量程的0 391 用1LSB表示 同理 10位D A 1LSB 9 77mV 0 1 满量程12位D A 1LSB 2 44mV 0 024 满量程 根据对DAC分辨率的需要 来选定DAC的位数 2 建立时间 描述DAC转换快慢的参数 表明转换速度 定义 为从输入数字量到输出达到终值误差 1 2 LSB 最低有效位 时所需的时间 电流输出时间较短 电压输出再加上I V转换时间 因此建立时间要长一些 快速DAC可达1 s以下 3 精度 理想情况 精度与分辨率基本一致 位数越多精度越高 但由于电源电压 参考电压 电阻等各种因素存在着误差 精度与分辨率并不完全一致 位数相同 分辨率则相同 但相同位数的不同转换器精度会有所不同 例如 某型号的8位DAC精度为0 19 另一型号的8位DAC精度为0 05 11 1 2AT89C51与8位DAC0832的接口 1 DAC0832芯片介绍 1 DAC0832的特性 美国国家半导体公司产品 具有两个输入数据寄存器的8位DAC 能直接与89C51单片机相连 主要特性如下 分辨率为8位 电流输出 稳定时间为1 s 可双缓冲输入 单缓冲输入或直接数字输入 单一电源供电 5 15V 2 DAC0832的引脚及逻辑结构 引脚 图11 1 DAC0832的逻辑结构 图11 2 引脚功能 DI0 DI7 8位数字信号输入端 CS 片选端 ILE 数据锁存允许控制端 高电平有效 WR1 输入寄存器写选通控制端 当CS 0 ILE 1 WR1 0时 数据信号被锁存在输入寄存器中 XFER 数据传送控制 WR2 DAC寄存器写选通控制端 当XFER 0 WR2 0时 输入寄存器状态传入DAC寄存器中 IOUT1 电流输出1端 输入数字量全 1 时 IOUT1最大 输入数字量全为 0 时 IOUT1最小 IOUT2 D A转换器电流输出2端 IOUT2 IOUT1 常数 Rfb 外部反馈信号输入端 内部已有反馈电阻Rfb 根据需要也可外接反馈电阻 Vcc 电源输入端 可在 5V 15V范围内 DGND 数字信号地 AGND 模拟信号地 8位输入寄存器 用于存放CPU送来的数字量 使输入数字量得到缓冲和锁存 由LE1 控制 8位DAC寄存器 存放待转换的数字量 由LE2 控制 8位D A转换电路 由T型电阻网络和电子开关组成 T型电阻网络输出和数字量成正比的模拟电流 因此 DAC0832通常需要外接I V转换的运算放大器电路 才能得到模拟输出电压 2 AT89C51与DAC0832的接口电路设计设计AT89C51单片机与DAC0832的接口电路时 常用单缓冲方式或双缓冲方式的单极性输出 1 单缓冲方式DAC0832的两个数据缓冲器有一个处于直通方式 另一个处于受控的锁存方式 在不要求多路输出同步的情况下 可采用单缓冲方式 单缓冲方式的接口如图11 3 图11 3 图11 3中 WR2 和XFER 接地 故DAC0832的 8位DAC寄存器 见图11 2 处于直通方式 8位输入寄存器 受CS 和WR1 端控制 且由译码器输出端FEH送来 也可由P2口的某一根口线来控制 因此 89C51执行如下两条指令就可在WR1 和CS 上产生低电平信号 使0832接收89C51送来的数字量 MOVR0 0FEH DAC地址FEH R0 MOVX R0 A WR 和译码器FEH输出端有效 现说明DAC0832单缓冲方式的应用 例11 1DAC0832用作波形发生器 试根据图11 3 分别写出产生锯齿波 三角波和矩形波的程序 锯齿波的产生 ORG2000H START MOVR0 0FEH DAC地址FEH R0 MOVA 00H 数字量 A LOOP MOVX R0 A 数字量 D A转换器 INCA 数字量逐次加1 SJMPLOOP 图11 4 输入数字量从0开始 逐次加1 为FFH时 加1则清0 模拟输出又为0 然后又循环 输出锯齿波 如图11 4 每一上升斜边分256个小台阶 每个小台阶暂留时间为执行后三条指令所需要的时间 三角波的产生 ORG2000H START MOVR0 0FEH MOVA 00H UP MOVX R0 A 三角波上升边 INCA JNZUP DOWN DECA A 0时再减1又为FFH MOVX R0 A JNZDOWN 三角波下降边 SJMPUP 矩形波的产生 ORG2000H START MOVR0 0FEH LOOP MOVA data1 MOVX R0 A 置矩形波上限电平 LCALLDELAY1 调用高电平延时程序 MOVA data2 图11 5 MOVX R0 A 置矩形波下限电平 LCALLDELAY2 调用低电平延时程序 SJMPLOOP 重复进行下一个周期 DELAY1 DELAY2为两个延时程序 决定矩形波高 低电平时的持续时间 频率也可采用延时长短来改变 图11 6 2 双缓冲方式 多路同步输出 必须采用双缓冲同步方式 接口电路如图11 7 1 DAC0832因和译码器FDH相连 占有两个端口地址FDH和FFH 2 DAC0832的两个端口地址为FEH和FFH 其中 FDH和FEH分别为1 和2 DAC0832的数字量输入控制端口地址 而FFH为启动D A转换的端口地址 图11 7中DAC输出的VX和VY信号要同步 控制X Y绘图仪绘制的曲线光滑 否则绘制的曲线是阶梯状 控制程序如下 图11 7 例11 2设AT89C51单片机内部RAM中有两个长度为20的数据块 其起始地址为分别为addr1和addr2 请根据图11 7所示 编写能把addr1和addrr2中数据从1 和2 DAC0832同步输出的程序 程序中addr1和addr2中的数据 即为绘图仪所绘制曲线的x y坐标点 DAC0832各端口地址 FDH 1 DAC0832数字量输入控制端口FEH 2 DAC0832数字量输入控制端口FFH 1 和2 DAC0832启动D A转换端口 工作寄存器0区的R1指向addr1 1区的R1指向addr2 0区的R2存放数据块长度 0区和1区的R0指向DAC端口地址 程序为 ORG2000H addr1DATA20H 定义存储单元addr2DATA40H 定义存储单元 DTOUT MOVR1 addr 0区R1指向addr1 MOVR2 20 数据块长度送0区R2 SETBRS0 切换到工作寄存器1区 MOVR1 addr2 1区R1指向addr2 CLRRS0 返回0区 NEXT MOVR0 0FDH 0区R0指向1 DAC0832数 字量控制端口 MOVA R1 addr1中数据送A MOVX RO A addr1中数据送1 DAC0832 INCR1 修改addr1指针0区R1 SETBRS0 转1区 MOVR0 0FEH 1区R0指向2 DAC0832数字量 控制端口 MOVA R1 addr2中数据送A MOVX R0 A addr2中数据送2 DAC0832 INCR1 修改addr2指针1区R1 INCR0 1区R0指向DAC的启动D A转换端口 MOVX R0 A 启动DAC进行转换 CLRRS0 返回0区 DJNZR2 NEXT 若未完 则跳NEXT LJMPDTOUT 若送完 则循环 END 3 DAC0832的单 双极性的电压输出有些应用场合需要DAC0832为单极性模拟电压输出 而有些场合则要求DAC0832双极性模拟电压输出 下面简单介绍 1 DAC用作单极性电压输出 在需要单极性模拟电压环境下 可以按照图11 3所示接线 由于DAC0832是8位的D A转换器 由基尔霍夫定律列出方程组 故可得输出电压vo与输入数字量B的关系为式中 B 27b7 26b6 21b1 20b0 VREF 256为一常数 显然 vo和输入数字量B成正比 B为0时 vo也为0 输入数字量为255时 vo为最大值 输出电压为单极性 2 DAC用作双极性电压输出 在需双极性电压输出的场合下 可以按照图11 8所示接线 图中 DAC0832的数字量由单片机送来 A1和A2均为运算放大器 vo通过2R电阻反馈到运算放大器A2输入端 其他如图11 8所示 G点为虚拟地 可由基尔霍夫定律列出方程组 并解得由上式可知 在选用 VREF时 若输入数字量最高位b7为 1 则输出模拟电压vo为正 若输入数字量最高位为 0 则输出模拟电压vo为负 在选用 VREF时 vo输出值正好和选用 VREF时极性相反 图11 8 11 1 389C51与12位电压输出型D A转换器AD667的接口设计8位DAC分辨率不够 可采用10位 12位 14位 16位的DAC 本节介绍89C51与12位D A转换器AD667的接口设计 AD667是分辨率为12位的电压输出型D A转换器 建立时间 3 s 至0 01 输入方式 双缓冲输入 输出方式 电压输出 通过硬件编程可输出 5V 10V 2 5V 5V和 10V 内含高稳定的基准电压源可方便地与4位 8位或16位微处理器接口 双电源工作电压 12V 15V 1 引脚介绍标准28脚双列直插式 图11 9为引脚图 表11 1为其引脚说明 1 内部功能结构及应用特性图11 10是AD667内部功能结构框图 应用特性 模拟电压输出范围的配置AD667通过片外引脚的不同连接 可获得不同的输出电压量程范围 单极性工作时 可以获得0 5V和0 10V的电压 双极性工作时 可获得 2 5V 5 5V和 10V的电压 具体量程配置可由引脚1 2 3 9的不同连接实现 如表11 2所列 图11 9 图11 10 由于AD667内置的量程电阻与其他元器件具有热跟踪性能 所以AD667的增益和偏置漂移非常小 单极性电压输出图11 11为0 10V单极性电压输出电路原理图 在电路运行之前 为保证转换精度 首先要进行电路调零和增益调节 电路调零数字输入量全为 0 时 调节50k 电位器W1 使其模拟电压输出端 VOUT 电压为0 000V 在大多数情况下 并不需要调零 只要把4脚与5脚相连 接地 即可 增益调节数字输入量全为 1 时 调节100 电位器W2 使其模拟电压输出为9 9976V 即满量程的10 000V减去1LSB 约为2 44mV 所对应的模拟输出量 图11 11 双极性电压输出图11 12是 5V 5V双极性电压输出 在电路运行之前 为保证转换精度 首先要进行偏置调节和增益调节 图11 12 内部 外部基准电压源的使用AD667有内置低噪声基准电源 其绝对精度和温度系数都是通过激光修正的 具有长期的稳定性 片内基准电源可提供片内D A转换器所需的基准电流 典型值为VREFIN端提供的0 5mA BPOFF BipolarOffset 端提供的1 0mA 接地与动态电容的接法模拟地AGND与电源地PGND分开 可以减少器件的低频噪声和增强高速性能 把地回路分开的目的是为了尽量减少低电平信号路径中的电流 AGND是输出放大器中的地端 应与系统中的模拟地直接相连 电源地PGND可以与模拟电源的接地点就近连接 最后AGND与PGND在一点上进行连接 一般连接到电源地PGND上 另外 AD667的电源引脚到模拟地引脚间应加上适当的去耦电容 在输出放大器反馈电阻两端加一个20pF的小电容 可以明显改善输出放大器的动态性能 数字输入控制与数据代码AD667的总线接口逻辑由4个独立的可寻址锁存器组成 其中有3个4位的输入数据锁存器 第一级锁存器 和1个12位的DAC锁存器 第二级锁存器 利用3个4位锁存器可以直接从4位 8位或16位微处理器总线分次或一次加载12位数字量 一旦数字量被装入12位的输入数据锁存器 就可以把12位 数据传入第二级的DAC锁存器 这种双缓冲结构可以避免产生错误的模拟输出 4个锁存器由4个地址输入A0 A3和控制 所有的控制都是低电平有效 对应关系如表11 3所列 所有锁存器都是电平触发 当控制信号有效时 锁存器输出跟踪输入数据 当控制信号无效时 数据就被锁存 它允许一个以上的锁存器被同时锁存 建议任何未使用的数据和控制引脚最好与电源地相连 以改善抗噪声干扰特性 AD667使用正逻辑编码 单极性输出时 输入编码采用直接二进制编码 输入000H产生零模拟输出 输入FFFH产生比满量程少1LSB的模拟输出 双极性输出时 输入编码采用偏移二进制编码 输入为000H时 产生负的满量程输出 输入为FFFH时 产生比满量程少1LSB的模拟输出 输入为800H时 模拟输出为0 其中1LSB为最低位对应的模拟电压 双极性输出时输入与输出关系如图11 13所示 输入数字量N与输出模拟电压VOUT的关系为 式中 VR为输出电压量程 图11 13 与微处理器的接口数据格式AD667与位微处理器接口的数据格式为左对齐或右对齐的数据格式 2 AD667与89C51单片机的接口图11 14所示为AD667与89C51单片机接口电路 图11 14 AT89C51把AD667所占的3个端口地址视为外部数据存储器的3个单元 对其进行选通 假定低8位数据存于20H单元 高4位数据存入21H的低4位 实现D A转换的程序如下 MOVA 20HMOVDPTR 7FFEHMOVX DPTR A 低8位进第一级锁存器MOVA 21HMOVDPTR 7FFDHMOVX DPTR A 高4位进第一级锁存器MOVDPTR 7FFBHMOVX DPTR A 启动第二级锁存器RET 11 2AT89C51单片机与ADC的接口11 2 1A D转换器概述A D转换器 ADC 的作用就是把模拟量转换成数字量 以便于计算机进行处理 随着超大规模集成电路技术的飞速发展 A D转换器的新设计思想和制造技术层出不穷 为满足各种不同的检测及控制任务的需要 大量结构不同 性能各异的A D转换芯片应运而生 1 A D转换器简介尽管A D转换器的种类很多 但目前广泛应用在单片机应用系统中的主要有以下几种类型 逐次比较型转换器 双积分型转换器 式转换器 逐次比较型 精度 速度和价格都适中 是最常用的A D转换器件 双积分型 精度高 抗干扰性好 价格低廉 但转换速度慢 得到广泛应用 型 具有积分式与逐次比较式ADC的双重优点 对工业现场的串模干扰具有较强的抑制能力 不亚于双积分ADC 但比双积分ADC的转换速度快 与逐次比较式ADC相比 有较高的信噪比 分辨率高 线性度好不需采样保持电路 因此 型得到重视 V F转换型 适于转换速度要求不太高 远距离信号传输 2 A D转换器的主要技术指标 1 转换时间和转换速率完成一次转换所需要的时间 转换时间的倒数为转换速率 2 分辨率用输出二进制位数或BCD码位数表示 例如AD574 二进制12位 即用212个数进行量化 分辨为1LSB 百分数表示1 212 0 24 又如双积分式A D转换器MC14433 分辨率为三位半 若满字位为1999 其分辨率为1 1999 0 05 量化过程引起的误差为量化误差 是由于有限位数字对模拟量进行量化而引起的误差 量化误差理论上规定为1个单位分辨率 提高分辨率可减少量化误差 3 转换精度 定义为一个实际ADC与一个理想ADC在量化值上的差值 可用绝对误差或相对误差表示 11 2 289C51与ADC0809 逐次比较型 的接口 ADC0809引脚及功能逐次比较式8路模拟输入 8位输出的A D转换器 引脚如图11 15所示 图11 15 共28脚 双列直插式封装 主要引脚功能如下 1 IN0 IN7 8路模拟信号输入端 2 D0 D7 8位数字量输出端 3 C B A 控制8路模拟通道的切换 C B A 000 111分别对应IN0 IN7通道 4 OE START CLK 控制信号端 OE为输出允许端 START为启动信号输入端 CLK为时钟信号输入端 VR 和VR 参考电压输入端 2 ADC0809结构及转换原理 结构如图11 16 0809完成1次转换需100 s左右 可对0 5V信号进行转换 图11 16 3 AT89C51与ADC0809的接口 单片机如何来控制ADC 首先用指令选择0809的一个模拟输入通道 当执行MOVX DPTR A时 单片机的WR 信号有效 产生一个启动信号给0809的START脚 对选中通道转换 转换结束后 0809发出转换结束EOC信号 该信号可供查询 也可向单片机发出中断请求 当执行指令 MOVXA DPTR 单片机发出RD 信号 加到OE端高电平把转换完毕的数字量读到A中 查询和中断控制两种工作方式 1 查询方式 0809与89C51单片机的接口如图11 17 图11 17 ALE脚的输出频率为1MHz 时钟频率为6MHz 经D触发器二分频为500kHz时钟信号 0809输出三态锁存 8位数据输出可直接与数据总线相连 引脚C B A分别与地址总线A2 A1 A0相连 选通IN0 IN7中的一个 P2 7 A15 作为片选信号 在启动A D转换时 由WR 和P2 7控制ADC的地址锁存和转换启动 由于ALE和START连在一起 因此0809在锁存通道地址的同时 启动并进行转换 读取转换结果 用RD 信号和P2 7脚经或非后 产生的正脉冲作为OE信号 用以打开三态输出锁存器 对8路模拟信号轮流采样一次 采用软件延时的方式 并依次把结果转储到数据存储区 MAIN MOVR1 data 置数据区首地址 MOVDPTR 7FF8H 端口地址送DPTR P2 7 0 且指向通道IN0 MOVR7 08H 置转换的通道个数 LOOP MOVX DPTR A 启动A D转换 MOVR6 0AH 软件延时 等待转换结束 DELAY NOP NOP NOP DJNZR6 DELAY MOVXA DPTR 读取转换结果 MOV R1 A 存储转换结果 INCDPTR 指向下一个通道 INCR1 修改数据区指针 DJNZR7 LOOP 8个通道全采样完否 未完则继续 2 中断方式 将图11 17中EOC脚经一非门连接到8031的INT1 脚即可 转换结束时 EOC发出一个脉冲向单片机提出中断申请 单片机响应中断请求 在中断服务程序读A D结果 并启动0809的下一次转换 外中断1采用跳沿触发 程序如下 INIT1 SETBIT1 外部中断1初始化编程 SETBEA CPU开中断 SETBEX1 选择外中断为跳沿触发方式 MOVDPTR 7FF8H 端口地址送DPTR MOVA 00H MOVX DPTR A 启动0809对IN0通道转换 完成其他的工作 中断服务程序 PINT1 MOVDPTR 7FF8H A D结果送内部RAM单元30H MOVXA DPTR MOV30H A MOVA 00H 启动0809对IN0的转换 MOVX DPTR A RETI 11 2 3MCS 51与AD1674 逐次比较型 的接口 在某些单片机应用系统中 8位ADC常常不够 必须选择分辨率大于8位的芯片 如10位 12位 16位A D转换器 由于10位 16位接口与12位类似 因此仅以常用的12位A D转换器AD1674为例介绍 1 AD1674简介12位逐次比较型 转换时间为25 s 转换精度为0 05 AD574A是AD574的改进产品 AD674A又是AD574A的改进产品 它们的引脚 内部结构和外部应用特性基本相同 但最大转换速度由25 s提高到15 s 目前带有采样保持器的12位改进型产品AD1674正以其优良的性能价格比逐渐取代AD574A和AD674A 28脚双列直插式封装 引脚如图11 18 图11 18 引脚的功能如下 CS 片选信号端 CE 片启动信号 R C 读出 转换控制信号 12 8 数据输出格式选择 1 12条数据线同时输出转换结果 0 转换结果为两个单字节输出 即只有高8位或低4位有效 A0 字节选择控制线 分为转换期间 读出期间 在转换期间 0 进行12位转换 转换时间为25 s 1 进行8位转换 转换时间为16 s 在读出期间 0 高8位数据有效 1 低4位数据有效 中间4位为 0 高4位为三态 因此当两次读出12位数据时 12位数据遵循左对齐原则 如下所示 上述五个控制信号组合的真值表如表11 4所示 表11 4AD574控制真值表 STS 转换结束状态引脚 转换完成时为低电平 可作为状态信息被CPU查询 也可用它的下跳沿向CPU发出中断申请 通知A D转换已完成 可读取转换结果 2 AD1674的工作特性 工作状态由CE CS R C 12 8 A0五个控制信号决定 当CE 1 CS 0同时满足 才处于转换状态 AD1674处于工作状态时 R C 0 启动A D转换 R C 1为数据读出 12 8 和A0端用来控制转换字长和数据格式 A0 0按12位转换方式启动转换 A0 1按8位转换方式启动转换 当AD1674处于数据读出 R C 1 状态时 A0和12 8 成为数 据输出格式控制端 12 8 1对应12位并行输出 12 8 0对应8位的双字节输出 其中A0 0时输出高8位 A0 1时输出低4位 并以4个0补足尾随的4位 注意 12 8 端与TTL电平不兼容 故只能直接接 5V或地 另外A0在数据输出期间不能变化 3 AD1674的单极性和双极性输入特性 图11 19 a 为单极性转换电路 可实现 0 10V或0 20V的转换 图11 19 b 为双极性转换电路 可实现 5 5V或 10 10V的转换 图11 19 4 AT89C51单片机与AD1674的接口 图11 20所示AD1674与AT89C51单片机的接口电路 由于AD1674片内含有高精度的基准电压源和时钟电路 从而使AD1674在不需要任何外加电路和时钟信号的情况下完成A D转换 使用非常方便 该电路采用双极性输入接法 可对 5 5V或 10 10V模拟信号进行转换 也可采用单极性输入接法 具体电路见图11 19 a 转换结果的高8位从DB11 DB4输出 低4位从DB3 DB0输出 即A0 0时 读取结果的高8位 当A0 1时 读取结果的低4位 若遵循左对齐的原则 DB3 DB0应接单片机的P0 7 P0 4 STS引脚接单片机的P1 0引脚 采用查询方式读取转换结果 图11 20 当单片机执行对外部数据存储器写指令 使CE 1 CS 0 R C 0 A0 0时 启动A D转换 当单片机查询到P1 0引脚为低电平时 转换结束 单片机使CE 1 CS 0 R C 1 A0 0 读取结果高8位 CE 1 CS 0 R C 1 A0 1 读取结果低4位 转换的查询方式的程序如下 高8位转换结果存入R2中 低4位存入R3中 遵循左对齐原则 AD1674 MOVR0 0F8H 端口地址送R0MOVX R0 A 启动AD574A进行转换SETBP1 0 置P1 0为输入LOOP NOPJBP1 0 LOOP 查询转换是否结束NCR0 使R 1 准备读取结果MOVXA R0 读取高8位转换结果MOVR2 A 高8位转换结果存入R2中INCR0 使R 1 A0 1INCR0MOVXA R0 读取低4位转换结果MOVR3 A 低4位转换结果存入R3中 11 2 4AT89C51与A D转换器MC14433 双积分型 的接口双积分型转换速度慢 但精度可以做得比较高 对周期变化的干扰信号积分为零 抗干扰性能也较好 常用的有3 位双积分A D转换器MC14433 精度相当于11位二进制数 和4 位双积分A D转换器ICL7135 精度相当于14位二进制数 MC14433A D转换器简介MC14433是3 位双积分型A D转换器 优点 精度高 抗干扰性能好等 缺点 转换速度慢 约1 10次 秒 与国内产品5G14433完全相同 可互换 被转换电压量程为199 9mV或1 999V 转换结果以BCD码的形式分四次送出 1 MC14433的引脚功能说明MC14433A D转换器引脚如图11 21 图11 21 各引脚的功能如下 1 电源及共地端 VDD 主工作电源 5V VEE 模拟部分的负电源端 接 5V VAG 模拟地端 VSS 数字地端 VR 基准电压输入端 2 外接电阻及电容端 R1 积分电阻输入端 转换电压VX 2V时 R1 470 VX 200mV时 R1 27k C1 积分电容输入端 一般取0 1 F R1 C1 R1与C1的公共端 CLKI CLKO 外接振荡器时钟调节电阻RC RC一般取470 左右 3 转换启动 结束信号端 EOC 转换结束信号输出端 正脉冲有效 DU 启动新的转换 若DU与EOC相连 每当A D转换结束后 自动启动新的转换 4 过量程信号输出端 OR 当 VX VR 输出低电平 5 位选通控制端 DS4 DS1 分别为个 十 百 千位输出的选通脉冲 DS1对应千位 DS4对应个位 每个选通脉冲宽度为18个时钟周期 两个相应脉冲之间间隔为2个时钟周期 如图11 22所示 图11 22 6 BCD码输出端 Q0 Q3 BCD码数据输出线 Q3为最高位 Q0为最低位 当DS2 DS3和DS4选通期间 输出三位完整的BCD码数 但在DS1 千位 选通期间 输出端Q0 Q3除了表示个位的0或1外 还表示被转换电压的正负极性 Q2 1为正 欠量程还是过量程 具体含义如表11 5所示 表11 5DS1选通时Q3 Q0表示的结果 由表11 5可知 1 Q3表示最高位千位 1 2位 Q3 0对应 1 反之对应 0 2 Q2表示极性 Q2 1为正极性 Q2 0为负极性 3 Q0 1表示过量程或欠量程 当Q3 0时 表示过量程 当Q3 1时 表示欠量程 2 MC14433与AT89C51单片机的接口 如图11 23 MC1403 与5G1403相同 为 2 5V精密基准源 DU端与EOC端相连 即选择连续转换方式 EOC 转换结束输出标志 读取A D转换结果可采用中断方式或查询方式 采用中断方式时 EOC端与AT89C51外部中断输入端INT0 或INT1 相连 采用查询方式EOC端可与任一I O口线相连 图11 23 若用中断方式读结果 选用跳沿触发方式 如转换结果存到8031内部RAM的20H 21H单元中 格式如下 初始化程序开放CPU中断 允许外部中断1中断请求 置外部中断1为跳沿触发方式 每次A D转换结束 都向CPU请求中断 CPU响应中断 执行中断服务程序 读取A D转换的结果 程序 图11 24 ORG001BH LJMPPINT1 跳外部中断1的中断服务程序 ORG0100H INITI SETBIT1 选择外中断1为跳沿触发方式 MOVIE 84H CPU开中断 允许外部中断1 PINT1 MOVA P1 外部中断1服务程序 JNBAcc 4 PINT1 等待DS1选通信号的到来 JBAcc 0 Per 是否过 欠量程 是则转向Per处理 JBAcc 2 PL1 判结果极性 为正 跳PL1 SETB07H 结果为负 符号位07H置1 AJMPPL2 PL1 CLR07H 结果为正 符号位清0 PL2 JBAcc 3 PL3 千位为0 跳PL3 SETB04H 千位为1 把04H位置1 AJMPPL4 PL3 CLR04H 千位为0 把04H位清0 PL4 MOVA P1 JNBAcc 5 PL4 等待百位的选通信号DS2 MOVR0 20H 指针指向20H单元 XCHDA R0 百位 20H单元低4位 PL5 MOVA P1 JNBAcc 6 PL5 等待十位数的选通信号DS3的到来 SWAPA 读入十位 高低4位交换 INCR0 指针指向21H单元 MOV R0 A 十位数的BCD码送入21H的高4位 PL6 MOVA P1 JNBAcc 7 PL6 等待个位数选通信号DS4的到来
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!