首页 >谜语大全 > 数字谜语大全 > 量程自动切换的数字电压表设计

量程自动切换的数字电压表设计

时间:
[量程自动切换的数字电压表设计]

量程自动切换的数字电压表设计 http://apps.hi.baidu.com/share/detail/23592439

【设计要求】

⑴测量范围0~20V直流电压,量程可自动切换

0~200MV,200MV~2V,2V~20V),

量程自动切换的数字电压表设计

[智库|专题]。 ⑵测量精度20MV,误差

⑶用四位八段数码管显示被测电压值。

原理图:(分模拟输入部分和单片机部分)

C语言原程序如下:

#include

#define uchar unsigned char;

uchar code scan_con[]={0x03,0x02,0x01,0x00}; //定义列扫描

uchardispcode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00};//定义0~9的显示段码

uchar dispbuf[8]={0,0,0,0,0,0,0,0}; //定义8个存储空间

uchar dispcount=0;

uchar getdahttp://www.unjs.comta;

unsigned int temp;//定义暂存空间

uchar i,j,k,l,m;

sbit s3=P2^7; //位定义,控制模拟开关

sbit s2=P2^6;

sbit s1=P2^5;

sbit dp=P1^7; //定义小数点

#define v20_on {s3=1;s2=0;s1=0;} //宏定义不同量程,不同的开关状态 #define v2_on {s3=0;s2=1;s1=0;}

#define v02_on {s3=0;s2=0;s1=1;}

sbit ST=P2^0; //定义单片机和ADC的控制信号

sbit OE=P2^1;

sbit EOC=P2^2;

main()

{

while(1)

{

_20v: //2~20V量程

v20_on;

ST=0; //启动A/D转换

ST=1;

ST=0;

while(EOC==0);

OE=0;

getdata=P0;

OE=1;

if(getdata

{

goto _2v;

}

l=3;

temp=getdata; //量程合适,数据处理

temp=temp*100;

temp=(temp/51)*5;

goto disp; //跳到数码管显示程序段

_2v: //200MV~2V量程

v2_on;

ST=0;

ST=1;

ST=0;

while(EOC==0);

OE=0;

getdata=P0;

OE=1;

if(getdata

{

goto _02v;

}

else if(getdata>204)

{

goto _20v;

}

l=2;

temp=getdata;

temp=(temp*100/51)*10;

temp=temp/2;

goto disp;

_02v: //0~200MV量程

v02_on;

ST=0;

ST=1;

ST=0;

while(EOC==0);

OE=0;

getdata=P0;

OE=1;

if(getdata>204)

{

goto _2v;

}

l=1;

temp=getdata;

temp=(temp*100/51)*100;

temp=temp/20;

disp:

dispbuf[0]=0;

dispbuf[1]=0;

dispbuf[2]=0;

dispbuf[3]=0;

dispbuf[4]=0;

dispbuf[5]=0;

dispbuf[6]=0;

dispbuf[7]=0;

i=0;

while(temp/10) //电压值的每个位计算 {

dispbuf[i]=temp%10;

temp=temp/10;

i++;

}

dispbuf[i]=temp;

for(k=0;k

P1=dispcode[dispbuf[k]];

P3=scan_con[k];

if(l==3){if(k==2) { P1=P1 | 0x80; }} //小数点的确定 else if(l==2) {if(k==3) { P1=P1 | 0x80; }} else if(l==1){if(k==1) { P1=P1 | 0x80; }} for(m=0;m

for(j=0;j

}

}

}

量程自动切换的数字电压表设计相关文章:

关于李白的趣事|关于李白的趣事

关于猪的诗歌|幸运的猪诗歌

[世界使用人数最多的语言]世界最人数最多和最好学的十大语言

老人节是几月几号_老人节宣传标语

河南省一分一段表2018_2018年“一师一优课、一课一名师”活动方案

文案策划是做什么_最新的文案策划实习报告范文

量程自动切换的数字电压表设计

推荐度:
点击下载文档文档为doc格式

上一篇::故障恢复控制台

下一篇:中国移动退订业务

精选图文

  • [世界使用人数最多的语言]世界最人数最多和最好学的十大语言
    [世界使用人数最多的语言]世界最人数最多和最好学的十大语言

    世界上有种多少语言?美国杂志《纽约客》统计后说有“成百上千”种;《大不列颠百科全书》称有“近千种”;世界最畅销书籍《圣经》的外语译本截止1997年就达2197种,语言种类多与文字种类,《圣经》至少证明世界语言种类应多于2197种。迄今比较精确的统计数字来自人类学家,他们通过民族研究发现世界语言有