标题: DAC0832输出电流为0 [打印本页]

作者: 百二秦关终属我    时间: 2025-4-3 17:11
标题: DAC0832输出电流为0
问题:首先,程序的目的:1.通过改变DAC0802输出的电流大小,进而改变LED亮度。2.通过放大器,观察放大后的电压波形。
问题1:程序通过控制val从0到255变化,然后对P0口进行赋值,从而让DAC0832输出可变的电流。但是不知道什么原因,仿真里的电流输出为0。
问题2:此外,关于proteus中的741,我对这个放大器不是很了解,我不知道它的几个端口的作用,在网上也没有搜到这个741的常见解法。我只知道它是一个放大器,可以将电流的变化转换成电压的变化,但是现在的现象是电流保持为0,输出电压接近为4V。
从图中可以看出灯亮完全是因为电流表一边接的地。
下面是程序:
#include <reg51.h>
#include "Delay.h"
#define uint unsigned int
#define uchar unsigned char
sbit dawr = P2^1;
sbit dacs = P2^0;
void main(void)
{
        uchar val = 0, flag = 0;
        dacs = 0;
        dawr = 0;
        while (1) {
                if (flag == 0) {
                        val += 5;
                        P0 = val;
                        if (val == 255) {
                                flag = 1;
                                Delay_ms(100);
                        }
                }
                else {
                        val -= 5;
                        P0 = val;
                        if (val == 0) {
                                flag = 0;
                                Delay_ms(100);
                        }
                }
        }       
}

Snipaste_2025-04-03_17-08-39.png (36.48 KB, 下载次数: 0)

Snipaste_2025-04-03_17-08-39.png

DAC.zip

374.94 KB, 下载次数: 0


作者: xuyaqi    时间: 2025-4-4 05:51
电流表内阻接近零,相当输出短路,要串电阻量。
作者: 百二秦关终属我    时间: 2025-4-4 14:34
xuyaqi 发表于 2025-4-4 05:51
电流表内阻接近零,相当输出短路,要串电阻量。

那请问我应该串联多大的电阻呢?Iout1 = Vref/15K *D/256;其中D是数字输入量在0~ff内变化,最大也就256;所以输出的电流最大也就0.3mA(Vref在5V的情况下),这样的话这个电流表测不测得出来呢?我发现无论我加所大得电阻,电流依旧为0。
作者: 百二秦关终属我    时间: 2025-4-4 14:37
xuyaqi 发表于 2025-4-4 05:51
电流表内阻接近零,相当输出短路,要串电阻量。

刚才用了proteus中的探针模式,发现这个输出的电流确实跟我想的一样,大概就是这个数,不过这个电流表测不出来,我想可能是电流太小了。总之,谢谢你了!
作者: xuyaqi    时间: 2025-4-5 05:46
百二秦关终属我 发表于 2025-4-4 14:37
刚才用了proteus中的探针模式,发现这个输出的电流确实跟我想的一样,大概就是这个数,不过这个电流表测 ...

0832不是直接输出的,通过U6输出,U5-11应该接U6-2你没有接,U6还应该有反馈电阻。




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1