# 数模转换信号0832的使用

本文详细介绍了0832 DAC模块的结构与工作原理,包括DI0至DI7的数字输入,IOUT1的模拟电流输出特性,以及直通、单缓冲、双缓冲三种工作方式的具体操作。通过实例演示了如何使用单缓冲方式输出锯齿波电压。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

0832的结构

在这里插入图片描述DI0到DI7是输入的数字量,IOUT1是输出的模拟电流输出量,其中IOUT1+IOUT2的值为一个常数。为了输出电压必须还外接一个运放。
输出电压为(DI0到DI7的数字)/256*VREF。

三种工作方式

直通、单缓冲、双缓冲。
直通方式就是在数字信号输入之前就把两个寄存器都导通,然后你的输入可以直接输出到D/A转换模块。
单缓冲就是在数字信号输入之前你把两个寄存器的片选和时钟连在一块儿,那么相当于把两个寄存器当成一个在使用。
双缓冲就是在数字信号输入之前什么都不动。信号输入之后需要配置相关参数才能把完成D/A转换。

例子

用该模块输出一个锯齿波电压,要求使用单缓冲方式
MOV DPTR,#8FFFH
;这里需要特别注意一下,C51的外部编址方式:从P2.7P2.0,P0.7P0.0,总共16个位数。这里的连线方式决定了需要使2.7口变成0.

MOV A,00H

LOOP:
MOVX, @DPTR,A
;这一步需要注意这条指令的时序:当PC指针指向这条指令之后,先后发生如下事件:
8FFF的值被送入P2和P0口,同时单片机上的WR引脚变成低(在执行对DPTR的读写操作时,C51上WR和RD对应的管脚都会从高变成低),于是芯片上的WR也变成了低,于是芯片导通——A(A就是P0.0P0.7)的值被放入到数据总线上,并传输给芯片的D0D7

LCALL DELAY
INC A
LJUMP LOOP

DELAY:
MOV R0,#1000
DJNZ RO,DELAY

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值