欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 單片機比例電壓變換器程序問題 電壓到3.95就無法繼續增加了? [打印本頁]

作者: mhj983    時間: 2023-6-5 17:01
標題: 單片機比例電壓變換器程序問題 電壓到3.95就無法繼續增加了?
要求:利用A/D和D/A實現將A/D的輸入電壓反向變換的功能,即A/D的輸入電壓從0~+5V變化時,D/A的輸出電壓相應的從+5V~0V變化。
控制功能:將單片機實驗箱上的電位器W1產生0~5V電壓輸入到ADC0809的通道0,利用數字萬用表測量DAC0832輸出的電壓,看其是否隨ADC0809的輸入電壓反向變化。利用74HC4040將8MHz晶振產生的脈沖信號十六分頻后做為ADC0809的時鐘信號。
使用的主要元器件:89C51、11.0592MHz晶振、74LS373、74LS138、8MHz晶振、74HC04、74HC4040、ADC0809、DAC0832、LM741、10k電位器W1等。

結果驗證:①用示波器檢查ADC0809的時鐘頻率是否為500kHz。②旋動電位器W1產生0~+5V的電壓,用數字萬用表測量D/A的輸出是否從+5→0V變化。③使W1的輸出電壓從0V開始,以0.5V為增量,測量D/A的輸出電壓并記錄。試分析誤差產生的原因。
程序如下:
#include <reg51.h>
#include <absacc.h>
#define uchar unsigned char
#define DAC0832 XBYTE[0x7FFF]
uchar temp,i,a;
sbit ST=P3^0;
sbit OE=P3^1;
sbit EOC=P3^2;
sbit CLK=P3^7;
uchar getdata=0x0000;
void main(void)
{
        ET0=1;
        EA=1;
        TMOD=0x02;
        TH0=246;
        TL0=246;
        TR0=1;
        while(1)
        {
                ST=0;
                ST=1;
                ST=0;
                while(EOC==0){;}
                OE=1;
                getdata=P0;
                OE=0;
                temp=getdata;
                P1=temp;
                DAC0832=P1;
                }          }
void T0X(void) interrupt 1 using 0
{
        CLK=~CLK;
}

現在遇到的問題是電壓到3.95就無法繼續增加了

作者: mhj983    時間: 2023-6-5 17:03
現在是運放那里5V的電壓調成10就差不多,可是這明顯是有問題的
作者: yzwzfyz    時間: 2023-6-6 15:49
輸出的電壓范圍,是受運放的電源電壓的限制的。
舉例來說,運放電壓是10V,你想讓它輸出12V,是辦不到的。
同理,你需要輸出5V,運放電壓至少為……,明白了嗎?
要學會看元件手冊,如果你讀通了運放手冊,就明白了。
作者: coody_sz    時間: 2023-6-6 18:06
用了運放,那么僅僅用運放就可以實現了,帶偏置的反相輸出。
作者: Hephaestus    時間: 2023-6-7 00:01
有一種運放叫R2R運放。
作者: 4uioo    時間: 2024-12-21 14:58
可以問一下這個的運行結果是什么樣的嗎
作者: 4uioo    時間: 2024-12-22 02:32
mhj983 發表于 2023-6-5 17:03
現在是運放那里5V的電壓調成10就差不多,可是這明顯是有問題的

你好  我可以問一下這個仿真出來的結果嗎




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1