文本描述
模拟量通道接口概述
D/A转换器
A/D转换器
第八章 模拟量通道接口
第八章 模拟量通道接口
第一节 模拟量通道接口概述
第一节 模拟量通道接口概述
第八章 模拟量通道接口
第一节 模拟量通道接口概述
第八章 模拟量通道接口
第一节 模拟量通道接口概述
第八章 模拟量通道接口
第一节 模拟量通道接口概述
第八章 模拟量通道接口
第一节 模拟量通道接口概述
第八章 模拟量通道接口
第一节 模拟量通道接口概述
第八章 模拟量通道接口
第一节 模拟量通道接口概述
第八章 模拟量通道接口
第二节 D/A转换器
第八章 模拟量通道接口
第二节 D/A转换器
第八章 模拟量通道接口
第二节 D/A转换器
第八章 模拟量通道接口
★求证
第二节 D/A转换器
第八章 模拟量通道接口
第二节 D/A转换器
第八章 模拟量通道接口
第二节 D/A转换器
第八章 模拟量通道接口
第二节 D/A转换器
第八章 模拟量通道接口
★①直通方式
●DAC0832直通工作方式如图8-5所示。
将两个寄存器(输入寄存器和DAC寄存器)的5个控制信号(ILE )均预先置为有效,两个寄存器都开通处于数据接收状态,模拟输出始终跟随输入变化。
第二节 D/A转换器
第八章 模拟量通道接口
★②单缓冲器方式
●DAC0832单缓冲器工作方式如图8-6所示。
将两个寄存器(输入寄存器和DAC寄存器)的3个控制信号(ILE )均预先置为有效; 接单片机的
, 接单片机的P2.7口 。
第二节 D/A转换器
第八章 模拟量通道接口
●这样DAC0832的地址为7FFFH则执行下列三条指令就可以
将一个数字量转换为模拟量:
MOVDPTR,#7FFFH ;端口地址送DPTR
MOVA,#DATA ;8位数字量送累加器A
MOVX@DPTR,A ;向DAC0832写入数字量,同时启动转换
第二节 D/A转换器
第八章 模拟量通道接口
第二节 D/A转换器
第八章 模拟量通道接口
●图8-8是DAC0832双缓冲方式的接口电路。
第二节 D/A转换器
第八章 模拟量通道接口
●例:图8-8中的两个模拟输出分别作为示波器的X、Y方向的位移,则单片机执行下面的程序后,可使示波器上的光点根据参数X、Y的值同步移动。假设参数X、Y已分别存于工作寄存器R1、R2中。
第二节 D/A转换器
第八章 模拟量通道接口
解:MOV DPTR, #0DFFFH ;指向DAC0832(1)的数据输入寄存器
MOV A, R1;X方向数据送入A
MOVX @DPTR,A;将X写入DAC0832(1)的数据输入寄存器
MOV DPTR,#0BFFFH;指向DAC0832(2)的数据输入寄存器
MOV A,R2;Y方向数据送入A
MOVX @DPTR,A;将Y写入DAC0832(2)的数据输入寄存器
MOV DPTR,#7FFFH;指向两片DAC0832的DAC寄存器
MOVX @DPTR,A;两片DAC同时启动转换,同步输出
第二节 D/A转换器
第八章 模拟量通道接口
实例8-1:根据如图8-6所示的单缓冲方式接口电路,请编写出
产生锯齿波、三角波和方波的程序。
第二节 D/A转换器
第八章 模拟量通道接口
第二节 D/A转换器
第八章 模拟量通道接口
解:相应程序如下:
锯齿波程序
ORG1000H
START: MOVDPTR,#7FFFH
MOVX@ DPTR,A
INCA
SJMPSTART
END
第二节 D/A转换器
第八章 模拟量通道接口
② 三角波程序
ORG1000H
START:CLRA
MOV DPTR,#7FFFH
DOWN:MOVX@DPTR,A;线性下降段
INCA
JNZDOWN;若未完,DOWNMOVA,#0FEH
UP:MOVX@DPTR,A;线性上升段
DECA
JNZUP;若未完,则UP
SJMPDOWN;若已完,则循环
END
第二节 D/A转换器
第八章 模拟量通道接口
③ 方波程序
ORG 1000H
START:MOV DPTR,#7FFFH
LOOP:MOV A,#33H
MOVX @DPTR,A ;置上限电平
ACALL DELAY ;形成方波顶宽
MOV A,#0FFH
MOVX @DPTR,A ;置下限电平
ACALL DELAY ;形成方波底宽
SJMP LOOP ;循环
DELAY:.
.
.
END
第八章 模拟量通道接口
第三节 A/D转换器
第三节 A/D转换器
第八章 模拟量通道接口
第三节 A/D转换器
第八章 模拟量通道接口
▲ADC0809是逐次逼近式8位A/D转换芯片 。
第三节 A/D转换器
第八章 模拟量通道接口
第三节 A/D转换器
第八章 模拟量通道接口
第三节 A/D转换器
第八章 模拟量通道接口
第三节 A/D转换器
第八章 模拟量通道接口
第三节 A/D转换器
第八章 模拟量通道接口
第三节 A/D转换器
第八章 模拟量通道接口
第三节 A/D转换器
第八章 模拟量通道接口
第三节 A/D转换器
第八章 模拟量通道接口
第三节 A/D转换器
第八章 模拟量通道接口
DELAY: DJNZ R2, DELAY
SETB P3.2;置P3.2为输入
LP: JB P3.2,LP;判转换结束否?
MOVX A,@DPTR;读取转换结果
MOV @R0,A;存入缓冲区
INC DPTR;指向下一通道
INC R0;修改缓冲区指针
DJNZ R1, LOOP
SJMP $;停机
END
第三节 A/D转换器
第八章 模拟量通道接口
解:② 应用中断方式:
ORG0000H
LJMPSTART
ORG0003H;外部中断0入口地址
LJMPADINT0
ORG0030H
START:MOVR0,#30H;置缓冲区地址
MOVR1,#08H;置通道数
SETBIT0;置INT0边缘触发
SETBEX0
SETBEA;开中断
MOVDPTR,#7FF8H;指向IN0的通道地址
MOVX@DPTR,A;启动A/D转换
SJMP$;等待中断
第三节 A/D转换器
第八章 模拟量通道接口
ADINT0:MOVXA,@DPTR;读取转换结果
MOV@R0,A;存入缓冲区
INCDPTR;指向下一通道
INCR0;修改缓冲区指针
MOVX@DPTR,A;再次启动A/D转换
DJNZR1, NEXT;8路采集完否?未完继续
CLREX0;8路采集已完,关中断
NEXT:RETI
END
THE END