|
問(wèn)題:首先,程序的目的:1.通過(guò)改變DAC0802輸出的電流大小,進(jìn)而改變LED亮度。2.通過(guò)放大器,觀察放大后的電壓波形。
問(wèn)題1:程序通過(guò)控制val從0到255變化,然后對(duì)P0口進(jìn)行賦值,從而讓DAC0832輸出可變的電流。但是不知道什么原因,仿真里的電流輸出為0。
問(wèn)題2:此外,關(guān)于proteus中的741,我對(duì)這個(gè)放大器不是很了解,我不知道它的幾個(gè)端口的作用,在網(wǎng)上也沒(méi)有搜到這個(gè)741的常見(jiàn)解法。我只知道它是一個(gè)放大器,可以將電流的變化轉(zhuǎn)換成電壓的變化,但是現(xiàn)在的現(xiàn)象是電流保持為0,輸出電壓接近為4V。
從圖中可以看出燈亮完全是因?yàn)殡娏鞅硪贿吔拥牡亍?br />
下面是程序:
#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);
}
}
}
}
|
-
-
-
DAC.zip
2025-4-3 17:11 上傳
點(diǎn)擊文件名下載附件
374.94 KB, 下載次數(shù): 0
|