数字电压表量程0-12v

2019-07-18 09:25发布

用protuse做一个数字电压表的仿真,怎么设置量程为0-12v?具体程序有要怎么改?大侠指点啊
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
熊猫ee
1楼-- · 2019-07-18 13:52
数据的处理也没有看懂,给解释下
while(1)
    {
      if(EOC==1)
        {
          OE=1;
          getdata=P0;
          OE=0;
                    i=getdata*196*3;
                        dispbuf[5]=i/10000;
                        i=i%10000;
                        dispbuf[6]=i/1000;
                        i=i%1000;
                        dispbuf[7]=i/100;         
          ST=1;
          ST=0;
        }
    }
熊猫ee
2楼-- · 2019-07-18 19:06
 精彩回答 2  元偷偷看……
熊猫ee
3楼-- · 2019-07-18 19:36
数据的处理也没有看懂,给解释下
while(1)
    {
      if(EOC==1)
        {
          OE=1;
          getdata=P0;
          OE=0;
                    i=getdata*196*3;
                        dispbuf[5]=i/10000;
                        i=i%10000;
                        dispbuf[6]=i/1000;
                        i=i%1000;
                        dispbuf[7]=i/100;         
          ST=1;
          ST=0;
        }
    }
熊猫ee
4楼-- · 2019-07-18 21:14
为啥大于5.7V就不能正常显示?求解啊

#include <reg51.H>  
unsigned char led[]={0xef,0xdf,0xbf,0x7f};
unsigned char  zicode[]+{0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
unsigned char xianshi[4];
unsigned char K;
unsigned char getdata;
unsigned long  i;
sbit ST=P3^0;
sbit OE=P3^1;
sbit EOC=P3^2;
sbit CLK=P3^3;

void delay()
{
int j;
for(j=0;j<15;j++);
}
void main(void)
{
  ST=0;
  OE=0;
  ST=1;
  ST=0;
  while(1)
    {
          
      if(EOC==1)
        {
          OE=1;
          getdata=P0;
          OE=0;
                  i=getdata*471+50;
                        xianshi[0]=i/100000;       //提取出十万位
                        i=i%100000;
                        xianshi[1]=i/10000;                   //提取出万位
                        i=i%10000;
                        xianshi[2]=i/1000;        //提取出千位
                        i=i%1000;
                        xianshi[3]=i/100;                    //提取出百位
         
                 
                  /*****显示程序*****/
                for(K=0;K<4;K++)
                  {
                  P2=led[K];
                  P1=zicode[xianshi[K]];       
                  delay();
                  if(K==1)
            {
              P1=P1|0x80;delay();
            }  
          if(K==4)
           {
            K=0;
           }
                   ST=1;
                        ST=0;
                  }  
                 
        }
    }
}
  

一周热门 更多>