數字式電流表課程設計
① 數字電流表設計
你是要買嗎
② 基於單片機的直流數字電流表的設計思路
你好!這個要看你的題目都要實現什麼功能?思路是和功能關聯的
③ 數字電流表的工作原理
數字電流表其實內部來是源一個電壓表,其測量電流的手段是通過測量內部取樣電阻上的電壓,該取樣電阻串聯在你要測量的電路中,其阻值根據檔位的不同而不同。以FLUKE 17B為例,其10A檔的取樣電阻=0.01 ohm,mA檔的取樣電阻=1 ohm,uA檔的取樣電阻=100 ohm。所以當測量電流時,該取樣電阻必然會帶來壓降,FLUKE 17B測量電流時的最大壓降=100*4000uA=0.4V。電路圖因為我還沒達到二級用戶,所以上傳不了。請參考FS9721_LP3的數據手冊,它是FLUKE 17B的主控晶元。
④ 急求簡易數字電壓表課程設計(原理圖加匯編c程序)用adc0809 謝謝 qq312188954
^#include <AT89X52.H>
unsigned char code dispbitcode[]={0xfe,0xfd,0xfb,0xf7,
0xef,0xdf,0xbf,0x7f};
unsigned char code dispcode[]={0x3f,0x06,0x5b,0x4f,0x66,
0x6d,0x7d,0x07,0x7f,0x6f,0x00};
unsigned char dispbuf[8]={10,10,10,10,0,0,0,0};
unsigned char dispcount;
unsigned char getdata;
unsigned int temp;
unsigned char i;
sbit ST=P3^0;
sbit OE=P3^1;
sbit EOC=P3^2;
sbit CLK=P3^3;
void main(void)
{
ST=0;
OE=0;
ET0=1;
ET1=1;
EA=1;
TMOD=0x12;
TH0=216;
TL0=216;
TH1=(65536-4000)/256;
TL1=(65536-4000)%256;
TR1=1;
TR0=1;
ST=1;
ST=0;
while(1)
{
if(EOC==1)
{
OE=1;
getdata=P0;
OE=0;
temp=getdata*235;
temp=temp/128;
i=5;
dispbuf[0]=10;
dispbuf[1]=10;
dispbuf[2]=10;
dispbuf[3]=10;
dispbuf[4]=10;
dispbuf[5]=0;
dispbuf[6]=0;
dispbuf[7]=0;
while(temp/10)
{
dispbuf[i]=temp%10;
temp=temp/10;
i++;
}
dispbuf[i]=temp;
ST=1;
ST=0;
}
}
}
void t0(void) interrupt 1 using 0
{
CLK=~CLK;
}
void t1(void) interrupt 3 using 0
{
TH1=(65536-4000)/256;
TL1=(65536-4000)%256;
P1=dispcode[dispbuf[dispcount]];
P2=dispbitcode[dispcount];
if(dispcount==7)
{
P1=P1 | 0x80;
}
dispcount++;
if(dispcount==8)
{
dispcount=0;
}
}
⑤ 數字電流表電路圖
這位朋友: 數字電流表其實內部是一個電壓表,其測量電流的手段是通過測量內部取樣回電答阻上的電壓,該取樣電阻串聯在你要測量的電路中,其阻值根據檔位的不同而不同。以FLUKE 17B為例,其10A檔的取樣電阻=0.01 ohm,mA檔的取樣電阻=1 ohm,uA檔的取樣電阻=100 ohm。所以當測量電流時,該取樣電阻必然會帶來壓降,FLUKE 17B測量電流時的最大壓降=100*4000uA=0.4V。
電路圖因為我還沒達到二級用戶,所以上傳不了。請參考FS9721_LP3的數據手冊,它是FLUKE 17B的主控晶元。
⑥ 設計一個單片機數字式電壓電流表,實現: 1)測量直流電壓,測量范圍0-5V; 2)測量精度0.02V; 3)3位數碼管顯示
親愛的這位同學,聽到你這么說我知道怎麼做,本質就是進行ADC轉換,問題是,你要測量電壓沒為題,電流也要測量?還有課程設計也要給你寫?我覺得課程設計還是你自己寫的好吧。
⑦ 數字電壓表的課程設計
不用單片機啊,那就ICL710x系列的吧,應用電路在它的數據手冊里都有.
不過0~200V的范圍要達到0.1mV的解析度,就是100uV了,要全部檢測的話那就得21位以上的ADC解析度,帶這樣高解析度ADC的東東可不好找啊,就算有你也買不起.
因此,由於位數的原因,你這個測量范圍和解析度要做成幾個量程檔位才會比較好做.
另外,你的供電電源得好好處理一下,不然它的參考電壓紋波都是這個解析度的幾百倍了,再加上你還要對待測的信號進行前級處理,也得選用低噪音高精度的運放之類,沒有個好的電源可不行..
⑧ 急求簡易數字電壓表課程設計(原理圖加匯編程序,不要語言)用ADC0809
LED_0EQU30H
LED_1EQU31H
LED_2EQU32H
LED_3EQU33H
ADCEQU35H
CLOCKBITP2.4
STBITP2.5
EOCBITP2.6
OEBITP2.7
ORG00H
SJMPSTART
ORG0BH
LJMPINT_T0
START:MOVLED_0,#00H
MOVLED_1,#00H
MOVLED_2,#00H
MOVP2,#0FFH
MOVDPTR,#TABLE
MOVTMOD,#02H;採用定時器2實現11us的定時
MOVTH0,#245
MOVTL0,#00
MOVIE,#82H
SETBTR0
WAIT:CLRST;此語句到第三條語句為啟動A/D轉換
SETBST
CLRST
JNBEOC,$;查詢A/D轉換是否結束
SETBOE;允許輸出
MOVADC,P1;A/D轉換結果存入ADC也即35H單元中
CLROE;關閉輸出
MOVA,ADC;A/D轉換數據轉BCD碼
MOVB,#51
DIVAB
MOVLED_3,A;整數位存入LED_3也即33H單元中
MOVA,B
CLRF0
SUBBA,#1AH
MOVF0,C
MOVA,#10
MULAB
MOVB,#51
DIVAB
JBF0,BCD1
ADDA,#5
BCD1:MOVLED_2,A;小數點後第一位存入LED_2也即32H單元中
MOVA,B
CLRF0
SUBBA,#1AH
MOVF0,C
MOVA,#10
MULAB
MOVB,#51
DIVAB
JBF0,BCD2
ADDA,#5
BCD2:MOVLED_1,A;小數點後第二位存入LED_1即31H單元中
MOVA,B
CLRF0
SUBBA,#1AH
MOVF0,C
MOVA,#10
MULAB
MOVB,#51
DIVAB
JBF0,BCD3
ADDA,#5
BCD3:MOVLED_0,A;小數點後第三位存入LED_0即30H單元中
LCALLDISP
LJMPWAIT
INT_T0:CPLCLOCK;給A/D轉換器提供時鍾
RETI
DISP:MOVA,LED_0
MOVCA,@A+DPTR;查詢小數點後第三位段碼
CLRP2.3
MOVP0,A;顯示小數點後第三位
LCALLDELAY
SETBP2.3
MOVA,LED_1
MOVCA,@A+DPTR;查詢小數點後第二位段碼
CLRP2.2
MOVP0,A;顯示小數點後第二位
LCALLDELAY
SETBP2.2
MOVA,LED_2
MOVCA,@A+DPTR;查詢小數點後第一位段碼
CLRP2.1
MOVP0,A;顯示小數點後第一位
LCALLDELAY
SETBP2.1
MOVA,LED_3
MOVCA,@A+DPTR;查詢整數位段碼
CLRP2.0
ORLA,#80H;顯示小數點位
MOVP0,A;顯示整數位
LCALLDELAY
SETBP2.0
RET
DELAY:MOVR6,#10;延時5ms
D1:MOVR7,#250
DJNZR7,$
DJNZR6,D1
RET
TABLE:DB3FH,06H,5BH,4FH,66H
DB6DH,7DH,07H,7FH,6FH
希望對你有幫助
⑨ 0~200 v數字電壓表課程設計
以測量0~200V的直流電壓
我知道分析,了解
⑩ 單片機課程設計: 簡單數字直流電壓表 匯編程序 和原理圖
LED_0 EQU 30H
LED_1 EQU 31H
LED_2 EQU 32H
LED_3 EQU 33H
ADC EQU 35H
CLOCK BIT P2.4
ST BIT P2.5
EOC BIT P2.6
OE BIT P2.7
ORG 00H
SJMP START
ORG 0BH
LJMP INT_T0
START: MOV LED_0, #00H
MOV LED_1, #00H
MOV LED_2, #00H
MOV P2, #0FFH
MOV DPTR, #TABLE
MOV TMOD, #02H ;採用定時器2實現11 us的定時
MOV TH0, #245
MOV TL0, #00
MOV IE, #82H
SETB TR0
WAIT: CLR ST;此語句到第三條語句為啟動A/D轉換
SETB ST
CLR ST
JNB EOC, $ ;查詢A/D轉換是否結束
SETB OE ;允許輸出
MOV ADC, P1 ; A/D轉換結果存入ADC也即35H單元中
CLR OE ;關閉輸出
MOV A, ADC ;A/D轉換數據轉BCD碼
MOV B, #51
DIV AB
MOV LED_3, A;整數位存入LED_3也即33H單元中
MOV A, B
CLR F0
SUBB A,#1AH
MOV F0,C
MOV A,#10
MUL AB
MOV B,#51
DIV AB
JB F0,BCD1
ADD A,#5
BCD1:MOV LED_2, A;小數點後第一位存入LED_2也即32H單元中
MOV A, B
CLR F0
SUBB A,#1AH
MOV F0,C
MOV A,#10
MUL AB
MOV B,#51
DIV AB
JB F0,BCD2
ADD A,#5
BCD2:MOV LED_1,A;小數點後第二位存入LED_1即31H單元中
MOV A, B
CLR F0
SUBB A,#1AH
MOV F0,C
MOV A,#10
MUL AB
MOV B,#51
DIV AB
JB F0,BCD3
ADD A,#5
BCD3:MOV LED_0,A;小數點後第三位存入LED_0即30H單元中
LCALL DISP
LJMP WAIT
INT_T0: CPL CLOCK ;給A/D轉換器提供時鍾
RETI
DISP: MOV A, LED_0
MOVC A, @A+DPTR;查詢小數點後第三位段碼
CLR P2.3
MOV P0, A;顯示小數點後第三位
LCALL DELAY
SETB P2.3
MOV A, LED_1
MOVC A,@A+DPTR ;查詢小數點後第二位段碼
CLR P2.2
MOV P0, A ;顯示小數點後第二位
LCALL DELAY
SETB P2.2
MOV A, LED_2
MOVC A, @A+DPTR;查詢小數點後第一位段碼
CLR P2.1
MOV P0,A;顯示小數點後第一位
LCALL DELAY
SETB P2.1
MOV A, LED_3
MOVC A, @A+DPTR;查詢整數位段碼
CLR P2.0
ORL A, #80H ;顯示小數點位
MOV P0, A;顯示整數位
LCALL DELAY
SETB P2.0
RET
DELAY: MOV R6, #10 ;延時5ms
D1: MOV R7, #250
DJNZ R7, $
DJNZ R6, D1
RET
TABLE: DB 3FH, 06H, 5BH, 4FH, 66H
DB 6DH, 7DH, 07H, 7FH, 6FH
END