51单片机(AD及DA转换器)

上传人:飞****9 文档编号:131861776 上传时间:2020-05-10 格式:PPT 页数:26 大小:517.52KB
返回 下载 相关 举报
51单片机(AD及DA转换器)_第1页
第1页 / 共26页
51单片机(AD及DA转换器)_第2页
第2页 / 共26页
51单片机(AD及DA转换器)_第3页
第3页 / 共26页
51单片机(AD及DA转换器)_第4页
第4页 / 共26页
51单片机(AD及DA转换器)_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《51单片机(AD及DA转换器)》由会员分享,可在线阅读,更多相关《51单片机(AD及DA转换器)(26页珍藏版)》请在金锄头文库上搜索。

1、数模及模数转换器接口 数模变换DAC和模数变换ADC接口器件原理DAC0832原理及应用 波形发生器 ADC0804原理及应用 电压测量 要求 理解掌握常用数模变换DAC和模数变换ADC器件 DAC0832 ADC0804 的应用方法及和单片微机的接口与应用编程实例 概述 在微机过程控制和数据采集等系统中 经常要对过程参数进行测量和控制 连续变化的物理量 如 温度 压力 流量速度 位移等等 物理过程 微机 传感器 A D D A 执行机构 物理过程 v i Data Data 过程控制示意图 模拟量 D A转换接口扩展 8位CMOS数模转换芯片DAC0832 CSVCC WR1ILE AGND

2、WR2 D3XFER D2D4 D1D5 D0D6 VrefD7 RfbIout2 DGNDIout1 DAC0832 20PINDIP封装 8位D A 分辨率 Vref 256 CMOS低功耗器件 5 15V单电源供电 电流输出型器件 需外接运放 具有双缓冲控制输出 采用T型电阻解码网络结构 参考电压源 10 10V 一单片机与D A转换器的接口 DAC0832引脚定义 CSVCC WR1ILE AGNDWR2 D3XFER D2D4 D1D5 D0D6 VrefD7 RfbIout2 DGNDIout1 DAC0832 20PINDIP封装 D0 D7 8位数字量输入端 CS 片选端 低有

3、效ILE 数据锁存允许 高有效 WR1 写控制信号1 低有效 WR2 写控制信号2 低有效 XFER 数据传送控制信号Iout1 电流输出端1Iout2 电流输出端2Rfb 内置反馈电阻端Vref 参考电压源 10 10VDGND 数字量地AGND 模拟量地Vcc 5 15V单电源供电端 DAC0832内部结构框图 D0 D7 8位数字量输入端 CS 片选端 低有效ILE 数据锁存允许 高有效 WR1 写控制信号1 低有效 WR2 写控制信号2 低有效 XFER 数据传送控制信号Iout1 电流输出端1Iout2 电流输出端2Rfb 内置反馈电阻端Vref 参考电压源 10 10VDGND 数

4、字量地AGND 模拟量地Vcc 5 15V单电源供电端 1 1 1 1 0 0 0 0 1 1 LE2 ILE CE WR1 WR2 XFER D7D0 LE1 输入寄存器 寄存器 DAC 转换器 D A Vref Iout2 Iout1 Rfb LE 1 Q跟随DLE 0 Q锁存D DAC0832与单片机的连接 89C51单片机 DAC0832 P0 0 P0 7 P2 0 8位 DI0 DI7 EA WR XFER CS 5V 6MHz 30Px2 WR1 WR2 5V Vcc Vref ILE uA741 12V 12V GND AGND DGND Iout1 Iout2 Rfb 接示波

5、器 输出于数字量DATA相对应模拟量 MOVDPTR 0FEFFH MOVA DATAMOVX DPTR A 单极性输出D A关系 数字量与模拟量的转换关系 DAC0832常见的几种用法 为寄存命令 当 1时 寄存器的输出随输入变化 0时 数据锁存在寄存器中 而不随输入数据的变化而变化 当ILE 1 0 0时 1 允许数据输入 而当 1时 0则数据被锁存 当和均为低电平时 1 此时允许D A转换 否则 0 将数据锁存于DAC寄存器中 DAC0832常见的几种用法 a DAC寄存器直通方式 b 输入寄存器直通方式 c 两个寄存器同时选通及锁存方式 DAC0832常见的几种用法 1 1 1 1 0

6、 0 0 0 1 1 LE2 ILE CE WR1 WR2 XFER D7D0 LE1 输入寄存器 寄存器 DAC 转换器 D A Vref Iout2 Iout1 Rfb LE 1 Q跟随DLE 0 Q锁存D 直通方式 输入寄存器和DAC寄存器共用一个地址 同时选通输出 1 或非门 非与门 输入任一为 1 输出皆为 0 输入全为 0 输出才为 1 输入全为 0 输出才为 1 输入任一为 1 输出皆为 0 双缓冲器方式 输入寄存器和DAC寄存器分配有各自的地址 可分别选通用同时输出多路模拟信号 例9 6 在图9 30的输出端Vout产生 1 25V的电压输出 解Vout D 256 Vref

7、而Vref 5V 且XFER CS和WR信号常有效 因此使D 64即可输出要求的电压 例9 7 在图9 31的输出端Vout产生 2 5V的电压输出 设Vref为5V 解Vout D 256 Vref 使D 128可输出要求的电压 且需要进行一次对DAC0832的写操作 写地址选择为7000H DAC0832的编程应用举例 例1产生矩形波 例2产生锯齿波 LL MOVA 00H 低电平MOVDPTR 0FEFFHMOVX DPTR A 送转换LCALLDMS1 低宽度MOVA 0FFH 高电平MOVX DPTR A 送转换LCALLDMS2 高宽度SJMPLL MOVA 00H 起始值MOVD

8、PTR 0FEFFHMM MOVX DPTR A 送转换INCANOPNOPNOP 决定坡度SJMPMM DAC0832编程应用举例 例3产生三角波 MOVA 00HMOVDPTR 0FEFFHSS1 MOVX DPTR A 送转换NOPNOPNOPSS2 INCA 等速上升JNZSS1SS3 DECAMOVX DPTR ANOPNOPNOP 等速下降JNZSS3SJMPSS2 同样的编程思路 若要产生如下的梯形波也很容易 三角波 梯形波 例4正弦波电压输出 正弦波电压输出为双极性电压 最简单的办法是将一个周期内电压变化的幅值 5V 5V 按8位D A分辨率分为256个数值列成表格 然后依次将

9、这些数字量送入D A转换输出 只要循环不断地送数 在输出端就能获得正弦波输出 SIN MOVR7 00HDAS0 MOVA R7 MOVDPTR TABH 设指针 MOVCA A DPTR 取数据 MOVDPTR 8000H MOVX DPTR A 送D A转换 INCR7 修改偏移量 AJMPDAS0 TAB DB80H 83H 86H 89H 8DH 90HDB93H 96H 99H 9CH 9FH 0A2HDB0A5H 0A8H 0ABH 0AEH DB6FH 72H 76H 79H 7CH 80H A D转换接口扩展 IN3IN2 IN4IN1 IN5IN0 IN6ADDA IN7AD

10、DB STARTADDC EOCALE D3D7 OED6 CLKD5 VCCD4 Vref D0 GNDVref D1D2 ADC0809 8位CMOS模数转换芯片ADC0809 8位A D 量化间隔 Vin 256 1 CMOS低功耗器件 8通道多路开关输入切换电路 单电源 5 Vref 5VVin范围 单极性0 5V 逐次逼近结构 每次转换时间 100 S60个时钟周期 fmax 640KHz 推荐CLK 500KHz 转换结果读取方式 延时读数 查询EOC 1 EOC申请中断 ADC0809结构框图 8通道多路开关 IN0 IN7 地址译码锁存 ADDA ADDB ADDC ALE 控

11、制逻辑与时序 D A转换器 SAR Vin 比较器 输出锁存器 START CLK EOC D0D7 Vref Vref OE Vst IN3IN2 IN4IN1 IN5IN0 IN6ADDA IN7ADDB STARTADDC EOCALE D3D7 OED6 CLKD5 VCCD4 Vref D0 GNDVref D1D2 ADC0809 IN0 IN7 8通道模拟量输入端D0 D7 8位数字量输出端ADDC ADDB ADDA 接地址锁存器的低三位地址ALE 地址锁存允许控制信号START 清0内寄存器 启动转换OE 允许读A D结果 高有效CLK 时钟输入端 应 640KHzEOC 转

12、换结束时为高Vcc 5VVref 参考电压 5VVref 0V ADC0809引脚定义 ADC0809与单片机的连接 89C51单片机 ADC0809 锁存器74LS373 P0 0 P0 7 ALE P2 0 8D Q0 ALE CLK ADDA D0 D7 G EA OE START RD WR OE Q1 Q2 ADDB ADDC 5V INT1 EOC 1 1 12MHz 30Px2 6 口地址可以为 0FE00 0FE07H也可为 0FEF0 0FEF7H A D转换程序 MOVDPTR 0FE00H 置IN0通道地址MOVA 00 累加器里任意赋一个值MOVX DPTR A 启动A

13、 D转换LCALLDELAY 等待转换结束MOVXA DPTR 取转换结果 2 最后执行MOVA DPTR产生RD信号使OE端有效 打开输出锁存器三态门 8位数据就读入CPU中 启动ADC0809的工作过程 1 先送通道号地址到A B C 由ALE信号锁存通道号地址 然后让START有效启动A D转换 即执行一条MOVX DPTR A指令产生WR信号 使ALE START有效 锁存通道号并启动A D转换 A D转换完毕 EOC端发出一正脉冲 表示转换结束 锁存器74LS373 P0 0 P0 7 ALE P2 0 8D Q0 ALE CLK ADDA D0 D7 G EA OE START R

14、D WR OE Q1 Q2 ADDB ADDC 5V INT1 EOC 1 1 12MHz 30Px2 6 ORG0000HAJMPMAINORG0013H 外部中断1的中断矢量AJMPINTMAIN MOVR0 0A0H 存结果的缓冲区 A0H A7HMOVR2 08H 待采集的通道数为8SETBIT1 选择下降沿触发中断SETBEA 开中断SETBEX1MOVDPTR 0FEF0H 通道0的地址MOVX DPTR A 启动转换 注意 A HERE SJMPHERE 等待中断 ADC0809八路巡回中断式数据采集 ORG0000HAJMPMAINORG0013HAJMPINTMAIN MOV

15、R0 0A0HMOVR2 08HSETBIT1SETBEASETBEX1MOVDPTR 0FEF0HMOVX DPTR AHERE SJMPHERE ADC0809八路巡回中断式数据采集 INT MOVXA DPTR 读数据MOV R0 A 数据放进缓存单元INCR0 指向下一缓存INCDPTR 指向下一通道DJNZR2 RTN 8次未完就继续采集 已完就关中断 停采集CLREACLREX1RETIRTN MOVX DPTR A 启动采集RETI 思考题 请编写89C51单片机通过DAC0832产生锯齿波信号 三角波 梯形波的程序 可以为任意频率 当ADC0809对8路模拟信号进行A D转换时 请编写用查询方式工作的采样程序 8路采样值存放在50H 57H单元

展开阅读全文
相关资源
相关搜索

当前位置:首页 > IT计算机/网络 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号