数字电压表量程0-12v

2019-07-18 09:25发布

用protuse做一个数字电压表的仿真,怎么设置量程为0-12v?具体程序有要怎么改?大侠指点啊
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
4条回答
熊猫ee
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;
                  }  
                 
        }
    }
}
  

一周热门 更多>