数字电压表的课程设计
A. 微机原理课程设计 简易数字电压表设计
#include <AT89X52.H> unsigned char code dispbitcode[]={0xfe,0xfd,0xfb,0xf7, 0xef,0xdf,0xbf,0x7f}; unsigned char code dispcode[]={0x3f,0x06,
B. 数字电压表的毕业设计
把要求发来,我是可以联系一下
C. 数字电压表设计
采用双积分式模/数转换器为核心器件,称为双积分式电压表在一个测量周期内,将被测电压Ui加到积分器的输入端在确定的时间内进行积分。然后切断输入电压在积分器的输入端加与Ui极性相反的电压U,进行定值积分但积分方向相反,直到积分输出达到起始电平为止从而将Ui转换成时间间隔量进行测量只要用计数器累计时间间隔内的脉冲数,即为Ui之值电路简单,便于维护。但电压表的测量精度完全受限于模/数转换的精度
D. 单片机课程设计:数字直流电压表的设计;怎么设计
单片机的课程设计,具体题目是:数字直流电压表设计:测量电压为0-5V,精度为0.1V,数码管能实时显示测量电压
联系我!
E. 急求简易数字电压表课程设计(原理图加汇编程序,不要语言)用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
希望对你有帮助
F. 数字电压表的设计(谁做过的给个吧,万分感谢)
到IC37.com或其他网站上搜索
ICL7106,ICL7109,ICL7135,ICL7139等IC资料,
找到这些器件资料,消化资料后,你就会了。
G. 0~200 v数字电压表课程设计
以测量0~200V的直流电压
我知道分析,了解
H. 急求简易数字电压表课程设计(原理图加汇编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;
}
}
I. 数字电压表的课程设计
不用单片机啊,那就ICL710x系列的吧,应用电路在它的数据手册里都有.
不过0~200V的范围要达到0.1mV的分辨率,就是100uV了,要全部检测的话那就得21位以上的ADC分辨率,带这样高分辨率ADC的东东可不好找啊,就算有你也买不起.
因此,由于位数的原因,你这个测量范围和分辨率要做成几个量程档位才会比较好做.
另外,你的供电电源得好好处理一下,不然它的参考电压纹波都是这个分辨率的几百倍了,再加上你还要对待测的信号进行前级处理,也得选用低噪音高精度的运放之类,没有个好的电源可不行..