A\D接口技术
作者:互联网
文章目录
前言
以ADC0809为例,它是逐次逼近型,内部有8路模拟开关,可以实现8路模拟电压的的分时转换。使用的是汇编语言。
一、ADC0809的应用
1)确定通道的地址
2)启动AD:MOVX @DPTR,A
3)转换是否结束?延时或者查询EOC或者中断方式
4)读取装换结果:MOVX A,@DPTR
注意:是单极性输出还是双极性输出
例1:如图接口电路,采用中断的方式巡回采样从IN0-IN7输入的模拟电压信号,检测数据依次放在60H开始的内存单元中。
解:分析,首先分析电路图,确定通道IN0-IN7的通道地址,这里用到的地址总线是P2.7,以及P0.0、P0.1、P0.2这三根线是确定选择哪个通道,000的时候是IN0通道,P2.7与WR\RD通过或非门连接在一起,控制着是写有效还是读有效,可以确定地址为7FF8H-7FFFH,这里没有用到的地址线都拉高了;
然后,分析其他引脚EOC跟外部中断INT1连接通过非门连接在一起,我们可以使用查询的方法,或者中断的方法来看是否转换结束。
P0经过锁存器使用地址总线的低8位,ALE控制着门控信号,同时也进行分频的作用,1/6分频。
使用中断的方式进行查询:
ORG 0000H
AJMP MAIN
ORG 0013H
AIMP INTV1
ORG 0030H
MAIN:
MOV R0,#60H
MOV R2,#08H
SETB EX1
SETB IT1
SETB EA
MOV DPTR,#7FF8H;通道0的地址
MOVX @DRTR,A;启动AD转换
HE:
MOV A,R2
JNZ HE
INTV1:
MOVX A,@DPTR
MOV @R0,A
INC R0
INC DPTR
DEC R2
MOVX @DPTR,A
RETI
对于单个通道IN0使用查询的方法进行查询:
ORG 0000H
AJMP MAIN
ORG 0030H
MAIN:
MOV R0,#60H;存储的单元
MOV R2,#20;通道采集20次
MOV DPTR,#7FF8H;通道INT0的地址
START:
MOVX @DPTR,A:启动装换
WAIT:
JB P3.3,NEXT;判断是否按下
AJMP WAIT
NEXT:
MOVX A,@DPTR;读取转换结果
MOV @R0,A;存储单元
INC R0
DJNZ R2,START
总结
学会分析电路接口图,分析每一个引脚是做什么的,起到什么作用,如何确定通道地址,使用查询的方法还是中断的方式进行查询。
标签:R0,DPTR,R2,接口技术,MOV,MOVX,通道 来源: https://blog.csdn.net/qq_51197244/article/details/122391874