第2章模拟量输入输出通道接口技术详解.ppt
文本预览下载声明
表2-2 CD4051真值表 用法: ① 用作多路开关 8 进 1 出 ② 用作分路路开关 1 进 8 出 CD4067B/CD4097B CD4067B 和 CD4097B 相比: · 原理基本相同: · 不同: CD4067B 单16路,双向、 4个选择控制端: D、C、B 、A CD4097B 双 8 路,双向、 3个选择控制端: C、B 、A CD4051 单 8 路,双向、 3个选择控制端: C、B 、A 练习题: 由A/D转换结束信号触发中断 主程序: 设置中断触发方式(边沿触发还是电平触发) 开中断 启动A/D转换 中断服务程序 读取A/D转换结果并保存 1. 中断方式A/D转换程序设计 例题1: ADC0809与8031的中断接口方式 (1)接口电路图 启动A/D转换: MOV DPTR,#AREAD MOVX @DPTR,A 读取转换结果: MOV DPTR,#AREAD MOVX A,@DPTR 主程序: AREAD EQU 0FF80H DAT EQU 50H ORG 000H ;程序复位 AJMP MAIN ;跳到主程序 ORG 003H ;外部中断0入口地址 AJMP ATOD ;跳到A/D中断服务程序 ORG 0200H ;主程序地址 MAIN: SETB IT0 ;设置外部中断0为边沿触发方式 SETB EX0 ;允许外部中断0 SETB EA ;开放总中断 MOV DPTR,#AREAD ;建立0808地址指针 MOVX @DPTR,A ;启动A/D转换 HERE: AJMP HERE ;模拟主程序 (2)程序: 设A/D转换器地址为#FF80H,数据存入#50H为首址 的RAM空间。 ORG 0220H ATOD: PUSH PSW PUSH ACC PUSH DPL PUSH DPH MOV DPTR,#AREAD MOVX A,@DPTR MOV DAT,A POP DPH POP DPL POP ACC POP PSW RETI 中断服务程序: 例题2: 查询方式A/D转换程序设计 (1)接口电路图 P2.7=0时,启动A/D转换。第0路模拟输入的地址是: 0xxx,xxxx,xxxx, x000取0111,1111,1111,0000 第0路模拟输入的一个地址映射为:7FF0H 余下各路依次地址加1 数据的存放:外部RAM 程序清单 每1轮数据采集存放规律 每一个通道的256次数据采集的存放规律 (2)程序设计:采集8路模拟量,每路采集256个数据 后页 2.3.4 高于8位的A/D转换器及其接口技术 和D/A转换器一样,在一些微型机控制系统中,往往精度要求比较高,因此需要更多位数的A/D转换器,如10位、12位A/D转换器等。由于位数不同,所以,其与CPU的接口及程序设计方法也不同。 下边主要以12位A/D转换器AD574为例讲一下高于8位的A/D转换器的原理及其与8位CPU的接口方法。 1、12位A/D转换器AD574结构原理图 2、AD574功能简介 ★ 输入信号即可单极性,又可双极性 0—10V ,0—20V ±5V ,±10V ★输出可分两次读(一次8位,一次4位),或12位一次读出。 ★当启动信号出现高电平时,标志状态STS开始变为高电平(BUSY),直到转换过程结束,才变为低电平(EOC)。 (1)转换器的启动和数据读出是由CE、 和R/ 引脚控制的
显示全部