常用ADDA芯片使用并行ADC串行ADC串行PCF

上传人:ap****ve 文档编号:119883468 上传时间:2020-01-28 格式:PPT 页数:29 大小:505.50KB
返回 下载 相关 举报
常用ADDA芯片使用并行ADC串行ADC串行PCF_第1页
第1页 / 共29页
常用ADDA芯片使用并行ADC串行ADC串行PCF_第2页
第2页 / 共29页
常用ADDA芯片使用并行ADC串行ADC串行PCF_第3页
第3页 / 共29页
常用ADDA芯片使用并行ADC串行ADC串行PCF_第4页
第4页 / 共29页
常用ADDA芯片使用并行ADC串行ADC串行PCF_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《常用ADDA芯片使用并行ADC串行ADC串行PCF》由会员分享,可在线阅读,更多相关《常用ADDA芯片使用并行ADC串行ADC串行PCF(29页珍藏版)》请在金锄头文库上搜索。

1、 9 3 A D转换接口电路 一 A D转换的基本概念 A D转换的功能是把模拟量电压转换为N位数字 量 设D为N位二进制数字量 UA为电压模拟量 UREF为参考电压 无论A D或D A 其转换关系为 UA D UREF 2N 其中 D D0 20 D1 21 DN 1 2N 1 1 A D转换器的主要性能指标 转换精度 转换精度通常用分辨率和量化误差来描述 分辨率 分辨率 UREF 2N 表示输出数字量变化一个相邻数码所需输入模拟电压的 变化量 N为A D转换的位数 N越大 分辨率越高 习惯上分 辨率常以A D转换位数N表示 量化误差 量化误差是指零点和满度校准后 在整个转 换范围内的最大误

2、差 转换时间 指A D转换器完成一次A D转换所需时间 转换 时间越短 适应输入信号快速变化能力越强 2 A D转换器分类 A D转换器分类 按转换原理形式可分为逐次逼近式 双积分式和V F变换式 按信号传输形式可分为并行A D和串行A D 二 并行A D ADC0809及其接口电路 1 引脚功能和典型连接电路 IN0 IN7 8路模拟信号输入端 C B A 8路模拟信号转换选择端 与低8位地址中A0 A2连接 由A0 A2地址000 111选择IN0 IN7八路 A D通道 CLK 外部时钟输入端 时钟频率高 A D转换速度快 允许范围为10 1280KHz 通常由80C51 ALE端直接或

3、分频后与0809 CLK端相连接 D0 D7 数字量输出端 OE A D转换结果输出允许控制端 OE 1 允许将A D转换结果从D0 D7端输出 通常由80C51的端与0809片 选端 例如P2 0 通过或非门与0809 OE端相连接 ALE 地址锁存允许信号输入端 0809 ALE信号有效时将当前转换的通道地址锁存 START 启动A D转换信号输入端 当START端输入一个正脉冲时 立即启动0809进行A D转换 START端与 ALE端连在一起 由80C51WR与0809片选端 例如P2 0 通过或非门相连 EOC A D转换结束信号输出端 高电平有效 UREF UREF 正负基准电压输

4、入端 Vcc 正电源电压 5V GND 接地端 2 ADC 0809应用实例 中断方式 例9 12 按图9 20 用中断方式对8路模拟信号依次A D转换 一次 并把结果存入以30H为首址的内RAM中 试编制程序 解 ORG 0000H 复位地址 LJMP STAT 转初始化程序 ORG 0013H 中断服务子程序入口地址 LJMP PINT1 中断 转中断服务子程序 ORG 0100H 初始化程序首地址 STAT MOV R1 30H 置数据区首址 MOV R7 8 置通道数 SETB IT1 置边沿触发方式 SETB EX1 开中 SETB EA CPU开中 MOV DPTR 0FEF8H

5、置0809通道0地址 MOVX DPTR A 启动0通道A D LJMP MAIN 转主程序 并等待A D中断 ORG 0200H 中断服务子程序首地址 PINT1 PUSH Acc 保护现场 PUSH PSW MOVX A DPTR 读A D值 MOV R1 A 存A D值 INC DPTR 修正通道地址 INC R1 修正数据区地址 MOVX DPTR A 启动下一通道A D DJNZ R7 GORETI 判8路采集完否 未完继续 CLR EX1 8路采集已完 关中 GORETI POP PSW 恢复现场 POP Acc RETI 中断返回 查询方式 工作在查询方式时 0809 EOC端可

6、不必通过反相器与或相连 直接与80C51 P1口或P3口中任一端线相连 例9 13 图9 20中 用P1 0直接与0809 EOC端相连 试用查 询方式编制程序 对8路模拟信号依次A D转换一次 并把结果 存入以40H为首址的内RAM中 解 MAIN MOV R1 40H 置数据区首址 MOV R7 8 置通道数 SETB P1 0 置P1 0输入态 MOV DPTR 0FEF8H 置0809通道0地址 LOOP MOVX DPTR A 启动A D JNB P1 0 查询A D转换结束否 未完继续查询等待 MOVX A DPTR A D已结束 读A D值 MOV R1 A 存A D值 INC

7、DPTR 修改通道地址 INC R1 修改数据区地址 DJNZ R7 LOOP 判8路采集完否 未完继续 RET 8路采集完毕 返回 延时等待方式 工作在延时等待方式时 0809 EOC端可不必与80C51相连 是根 据时钟频率计算出A D转换时间 略微延长后直接读A D转换值 例9 14 图9 20中 0809 EOC端开路 fosc 6MHz 试用延 时等待方式编制程序 对8路模拟信号依次A D转换一次 并把 结果存入以50H为首址的内RAM中 解 编程如下 MAIN MOV R1 50H 置数据区首址 MOV R7 8 置通道数 MOV DPTR 0FEF8H 置0809通道0地址 LO

8、OP MOVX DPTR A 启动A D MOV R6 17 DJNZ R6 延时68 S 2机周 17 34机周 2 S 34 68 S MOVX A DPTR 读A D值 MOV R1 A 存A D值 INC DPTR 修正通道地址 INC R1 修正数据区地址 DJNZ R7 LOOP 判8路采集完否 未完继续 RET 8路采集完毕 返回 三 串行A D ADC0832及其接口电路 ADC 0832是8位串行A D转换器 转换速度较高 250KHz时转换时间32 s 单电源供电 功耗低 15mw 1 引脚功能 VDD VSS 电源接地端 VDD同时兼任UREF CS 片选端 低电平有效

9、DI 数据信号输入端 DO 数据信号输出端 CLK 时钟信号输入端 要求低于600KHz CH0 CH1 模拟信号输入端 双通道 2 典型应用电路 P1 0片选CS TXD发送时钟信号输入ADC0832 CLK RXD与DI DO端连接在一起 编码 通道选择 CH0 CH1 00 01 10 11 表9 3 3 串行A D转换工作时序 工作时序分为二个阶段 起始和通道配置 由CPU发送 从ADC0832 DI端输入 A D转换数据串行输出 由ADC 0832从DO端输出 CPU接收 4 软件编程 例9 15 按图9 21 b 电路 试编制程序 将CH0 CH1通 道输入的模拟信号A D转换 分

10、别存入30H31H中 解 AD0832 MOV SCON 00H 置串口方式0 禁止接收 CLR ES 串口禁中 MOV R0 30H 置A D数据存储区首址 CLR P1 0 片选0832 MOV A 06H 置CH0通道配置 ADC0 MOV SBUF A 启动A D ADC1 JNB TI ADC1 串行发送启动及通道配置信号 CLR TI 清发送中断标志 SETB REN 允许 启动 串行接收 ADC2 JNB RI ADC2 接收第一字节 CLR RI 清接收中断标志 同时启动接收第二字节 MOV A SBUF 读第一字节数据 MOV B A 暂存 说明 接收第一字节的8位数据为 注

11、意先接收低位D4 清串行接收中断标志后 启动串行接收第二字节 其数据为 组合后的8位数据为 高低4位互换后的8位数据为 ADC3 JNB RI ADC3 接收第二字节 CLR RI 清接收中断标志 MOV A SBUF 读第二字节数据 ANL A 0FH 第二字节屏蔽高4位 ANL B 0FOH 第一字节屏蔽低4位 ORL A B 组合 SWAP A 高低4位互换 组成正确的A D数据 MOV R0 A 存A D数据 INC R0 指向下一存储单元 MOV A 0EH 置CH1通道配置 CJNE R0 32H ADC0 判两通道A D完毕否 未完继续 CLR REN 两通道A D完毕 禁止接收

12、 SETB P1 0 清0832片选 RET D3D2D1D0D1D2D3D4 D7D6D5D4 D3D2D1D0D7D6D5D4 D7D6D5D4D3D2D1D0 四 I2C串行A D典型应用电路 I2C串行A D芯片PCF8591 同时具有A D D A转换功能 1 PCF8591引脚功能 SDA SCL I2C总线数据线 时钟线 A2 A1 A0 引脚地址输入端 AIN0 AIN3 模拟信号输入端 OSC 外部时钟输入端 内部时钟输出端 EXT 内外部时钟选择端 EXT 0时选择内部时钟 VDD VSS 电源 接地端 AGND 模拟信号地 UREF 基准电压输入端 AOUT D A转换模

13、拟量输出端 该芯片既可用于A D转换 模拟信号从AIN0 AIN3输入 又可用于D A转换 D A转换模拟量从AOUT输出 器 件地址为1001 若A2A1A0接地 D A转换写寻址字节 SLAW 90H A D转换读寻址字节SLAR 91H 2 硬件电路设计 3 片内可编程功能 控制命令字 PCF8591内部有一个控制寄存器 用来存放控制命令 其 格式如下 COMD7D6D5D4D3D2D1D0 D1 D0 A D通道编号 00 通道0 01 通道1 10 通道2 11 通道3 D2 自动增量选择 D2 1时 A D转换将按通道0 3依次自动转换 D3 D7 必须为0 D5 D4 模拟量输入

14、方式选择位 00 输入方式0 四路单端输入 01 输入方式1 三路差分输入 10 输入方式2 二路单端一路差分输入 11 输入方式3 二路差分输入 D6 模拟输出允许 D6 1 模拟量输出有效 输入方式0 四路单端输入 ANI0 通道0 单端输入 ANI1 通道1 单端输入 ANI2 通道2 单端输入 ANI3 通道3 单端输入 输入方式1 三路差分输入 输入方式2 二路单端一路差分输入 输入方式3 二路差分输入 ADC数据操作格式 SSLAWACOMASSLARAData0AData1A 发出控制命令 写操作 A D转换 读操作 其中红色部分由80C51发送 PCF8591接收 黑色部分由P

15、CF8591发送 80C51接收 4 软件编程 例9 16 按图9 23 b 编程将AIN0 AIN3 4个通道的模拟 信号A D转换后 依次存入以50H为首址的内RAM中 设VIIC软件 包已装入ROM VSDA VSCL SLA NUMB MTD MRD均已按8 3 2 软件包小结中协议定义 解 VADC MOV SLA 90H 置发送寻址字节 MOV MTD 00000100B 置A D转换控制命令 通道自动增量 MOV NUMB 1 置发送字节数 LCALL WRNB 发送控制命令字 MOV R0 50H 置A D数据区首址 VADC0 MOV SLA 91H 置接收寻址字节 MOV

16、NUMB 2 置接收字节数 LCALL RDNB 读A D转换数据 MOV R0 41H 存A D转换数据 存在50H 53H INC R0 修改A D数据区地址 CJNE R0 54H VADC0 判4通道A D完成否 未完继续 RET 9 4 D A转换接口电路 一 D A转换的基本概念 1 D A转换的基本概念 D A转换的基本原理是应用电阻解码网络 将N位数字量逐 位转换为模拟量并求和 从而实现将N位数字量转换为相应的 模拟量 设D为N位二进制数字量 UA为电压模拟量 UREF为参考电压 无论A D或D A 其转换关系为 UA D UREF 2N 其中 D D0 20 D1 21 DN 1 2N 1 2 D A转换器的主要性能指标 分辨率 相对分辨率 1 2N N越大 分辨率越高 线性度 转换精度 建立时间 温度系数 二 DAC0832及其接口电路 DAC 0832是8位D A芯片 由美国国家半导体公司生产 是目前国内应用最广的8位D A芯片 请特别注意ADC0832与 DAC0832的区别 1 结构和引脚功能 DI0 DI7 8位数据输入端 ILE 输入数据允许锁存信号 高电

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

当前位置:首页 > 高等教育 > 大学课件

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