proteus仿真0-5V的ADC0808单片机电压表,为什么滑动变阻器滑到中间采样值突变为0,采样最大值为2.5V

核心提示#include<reg52.h>sbit rs=P2^0;sbit rw=P2^1; sbit en=P2^2; //sbit psb=P1^3;sbit START=P3^4;sbit EOC=P3^3;sbit OE=P3^2;sbi

#include<reg52.h>

sbit rs=P2^0;

sbit rw=P2^1;

sbit en=P2^2;

//sbit psb=P1^3;

sbit START=P3^4;

sbit EOC=P3^3;

sbit OE=P3^2;

sbit ALE=P3^1;

sbit CLK=P3^5;

#define uint unsigned int

#define uchar unsigned char

uint i;

//uchar vol,v;----把这行,改成下面两行

uchar vol;

uint v;

//---------后面的,都不用改动

uchar code table[]={"nit"};

……

试试看。

------------------------------

说明:

void deal(void)

{

if(vol>=251)

vol=250;

v=vol*2;-----就是这句,超出了 v 的范围。

}

别忘了,这是软件仿真,软件就会有BUG的,或者是按某种算法计算出来的,这与绝对零度没有一点关系,这仅仅是软件仿真而已,难道还要在绝对零度时用电脑才会是0V吗?因为这必竟不是实物。任何物体带电,更是笑话,那用电压表测量什么都带电吗,那还要发电厂干什么?

其实,与那个并联的电阻阻值大小有关系,电阻小些就不会显示出电压了,当电阻阻值小于90K时就不会出现这种现象了,这更说明是软件的一种算法造成的。见下图,两个按钮都断开,因电阻阻值大于100K了,所以,就会有一点电压显示。那个电阻值越大显示的电压也越大,这与什么绝对零度有什么关系?

 
友情链接
鄂ICP备19019357号-22