案例7 AD_DA转换

上传人:灯火****19 文档编号:125646557 上传时间:2020-03-18 格式:PPT 页数:40 大小:1.41MB
返回 下载 相关 举报
案例7 AD_DA转换_第1页
第1页 / 共40页
案例7 AD_DA转换_第2页
第2页 / 共40页
案例7 AD_DA转换_第3页
第3页 / 共40页
案例7 AD_DA转换_第4页
第4页 / 共40页
案例7 AD_DA转换_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《案例7 AD_DA转换》由会员分享,可在线阅读,更多相关《案例7 AD_DA转换(40页珍藏版)》请在金锄头文库上搜索。

1、8051扩充资源及其编程 常熟理工学院物电院 2014 12 扩充资源 8255 8155 8253 D A转换 A D转换 知识点 了解8255 8155 8253 ADC0809 DAC0832等常 用器件的结构与功能 会设计相应的硬件电路 掌握外部RAM概念 会根据硬件电路确定外部RAM 地址 能正确对外RAM进行读写操作 掌握用查询或中断方式对扩充资源编程 A D转换 模拟数字转换 DAS 数据采集系统 Data Acquisition System 是指将温度 压力 流量 位移等模拟量进行取样 量化 转换成数字量后 供后级处理器进行存储 处理 显示或 打印的装置 ADC0809 8位

2、A D转换器 28PIN IN0 IN7 8个模拟通道输入端 ADDC ADDB ADDA 通道地址 线 000 111对应了8个通道 ALE 地址锁存允许信号 START 启动转换信号 EOC 转换结束信号 OE 输出允许信号 允许读 CLK 外部时钟脉冲输入端 典 型值640K VREF VREF 参考电压 输入端 Vcc 5V电源 GND 地 ADC0809结构 模拟通道 8 数据线 D7 D0 地址线 C B A 控制线 电压比较器 逐 步逼近式 输出锁存器 转换公式 Vin D 2 8 1 Vref A D转换精度 若Vref 5V 则 8 位A D 转换精度 1 255 5V 19

3、 6mV 10位A D 转换精度 1 1023 5V 4 89mV 12位A D 转换精度 1 4095 5V 1 22mV A D指标 Vref 位数 转换速率 串行 并行 通道数 ADC0809转换 对ADC0809来说 当Vref 5V时 3V模拟量对应的 数字量是多少 对ADC0809来说 当Vref 5V时 若转换到的数字 量为0 x7A 则对应的模拟量是多少 设计转换电路时 地址线 C B A 和数据线 D7 D0 应如何与8051连接 ADC0809时序图 ADC0809与8051连接图 各通道地 址不连续 ADC0809与8051连接图 各通道地 址连续 ADC0809与805

4、1连接图 外部RAM读写操作语句 读 写RAM操作 include absacc h XBYTE 0 x0000 0 写操作 ADC0809写操作 START ALE 向地址为0 x0000 A15 0 A2A1A0 000 的外 部RAM写 WR 0 字节数据0 D7 D0 0 0 a XBYTE 0 x0000 读操作 ADC0809读操作 OE 从地址为0 x0000 A15 0 A2A1A0 000 的外 部RAM读 RD 0 字节数据 D7 D0 到变量 a 宏定义 define AIN0 XBYTE 0 x0000 AIN0 0 写操作 a AIN0 读操作 ADC0809编程 A

5、DC0809编程 查询方式 include reg51 h include absacc h define AIN0 XBYTE 0 x0000 sbit EOC P3 3 void main void unsigned char i 0 while 1 AIN0 0 启动转换 i i i i while EOC 0 等待AD转换结束 a AIN0 读AD转换结果 为什么要两条i i指令 ADC0809通用采集函数 查询方式 对某通道A D转换的通用函数 unsigned char adc0809 unsigned char channel unsigned char xdata ad adr

6、 unsigned char i a ad adr ad adr ad adr channel ad adr 0 i i i i while EOC 0 a ad adr return a ADC0809编程 中断方式 ADC0809编程 中断方式 include absacc h define AIN0 XBYTE 0 x0000 sbit EOC P3 3 unsigned char a void INT1 ISR void interrupt 0 a AIN0 读AD转换结果 void main void unsigned char i 0 IT0 1 EX0 1 EA 1 while

7、1 if AIN0 0 启动转换 i i i i 例 AD滤波 去噪 采样多次 去最高 去最低 求平均 unsigned char adc0809 unsigned char channel unsigned char aver unsigned char x int n D A转换 常熟理工学院物电院 2014 12 DAC0832引脚 DAC0832结构 DAC0832组成 8位输入寄存器 8位DAC寄存器 8位D A转换器 DAC0832结构 DAC0832有两级锁存器 第一级 输入寄存器 第二级 DAC寄存器 DAC0832工作方式 单缓冲方式 双缓冲方式 见下 因此 DAC0832可

8、工作在双缓冲方式下 这样在输出模拟 信号的同时可以采集下一个数字量 这样可以有效地提高 转换速度 另外 有了两级锁存器 可以在多个D A转换器同时工作 时 利用第二级锁存信号实现多路D A的同时输出 DAC0832引脚功能 DI7 DI0 8位数据输入端 ILE 输入寄存器的数据允许锁存信号 CS 输入寄存器选择信号 WR1 输入寄存器的数据写信号 XFER 数据向DAC寄存器传送信号 传送后 即启动转换 WR2 DAC寄存器写信号 并启动转换 Iout1 Iout2 电流输出端 Vref参考电压输入端 Rfb 反馈信号输入端 Vcc 芯片供电电压 AGND 模拟电路地 DGND 数字地 DA

9、C0832输出 DAC0832的输出是电流型的 采用I V转换电路 电流信号转电压信号 输出电压值为 D 255 Vref 8位D A转换 参考电压可正 亦可负 DAC0832典型应用 利用虚短和虚断得 实现I V转换 输出为负的 如何输出正的 Vref 5V DAC0832典型应用 电压并联负反馈 利用虚短和虚断得 输出与输入反相 DAC0832电路设计 如图引脚如何连接 DAC0832电路设计 741实现I V转换 Vref 5V AGND DGND共地 DAC0832的外RAM地址确定 DAC0832时序图 8051外RAM写时序图 写语句 DAC0832 i 外部RAM写操作 defi

10、ne DAC0832 XBYTE 0 x0000 DAC0832 i 功能 写外RAM操作 向地址为0 x7FFF的外部RAM输出数据i DAC0832的单缓冲接口 输入寄存器 DAC寄存器共用一个地址 ILE接 5V 始终保持有效 WR1 和WR2 相连 接8051的WR 即数据同时写入两个寄存器 Xfer 传送允许信号 与CS 片选 相连 即选中DAC0832后 写入 数据立即启动转换 根据连线确定0832的地址为 0000H 读程序 说明功能 include absacc h include reg51 h define DAC0832 XBYTE 0 x0000 void stair

11、void unsigned int i for i 0 i 255 i DAC0832 i void main void while 1 stair 锯齿波电压输出 编写程序实现各信号输出 void wave rect void void wave stair void void wave sin void 正弦波输出 for i 0 i 2 PI i DAC0832 i 程序中有何问题 正弦波输出程序 void wave sin void 正弦波输出 float alfa for alfa 0 alfa PI alfa 0 1 DAC0832 unsigned char 127 127 si

12、n alfa for alfa 0 alfa PI alfa 0 1 DAC0832 unsigned char 127 127 sin alfa DAC0832双缓冲方式电路框架 输入寄存器的 控制信号 CS 和DAC寄存 器的控制信号 Xfer 分开 控制 这种方 式适用于几个 模拟量需同时 输出的系统 每一路模拟量 输出需一个 DAC0832 构 成多个0832同 步输出系统 DAC0832双缓冲接口电路 两片0832的输入寄 存器各占一个单元 地址 两个DAC寄存器占用 同一单元地址 操作 先向两个0832的输 入寄存器写入待转 换数据 后向两个DAC寄存器 同时传送启动命令 传送的同时实现两 路D A转换 DAC0832寄存器外部RAM地址配置 DAC0832的双缓冲程序 define INPUTR1 XBYTE 0 x8800 define INPUTR2 XBYTE 0 xA000 define DACR XBYTE 0 x2800 void dac2b unsigned char data1 unsigned char data2 INPUTR1 data1 送数据到 一片0832 INPUTR2 data2 送数据到另一片0832 DACR 0 启动两路D A同时转换 void main void dac2b 0 x34 0 x23

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

当前位置:首页 > 法律文献 > 综合/其它

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