at89s52下,用MAX187崩溃中求拯救

2019-03-24 18:22发布

max187使用外部基准电压,上电以后,DIN居然有4V多的电压,那里来的啊,都测过电路,没有短路的地方啊?
程序加进去总是读出4095这个数字,换了时序,不行,换AD也不行,没有示波器,只能靠数字判断,换了几次的程序逻辑,都是4095,程序如下,崩溃中请救救~

uint MAX187read(void)
{
   uchar H,L,i;
   uint count;   //16位变量
   MAX187_CS=0;  //低电平有效,开始转换
   _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
   MAX187_SK=1;
   MAX187_SK=0;
   H=0;     //高位变量清零
   for(i=0;i<4;i++)  //高4位
   {
      MAX187_SK=1;
      if(MAX187_DO) H|=0x01;    //位标量,如为1则H加1,如为0则跳过  
      MAX187_SK=0;
      if(i<3)H<<=1;
   }
   L=0;
   for(i=0;i<8;i++)  //低8位
   {
      MAX187_SK=1;
      if(MAX187_DO) L|=0x01;   //位标量,如为1则L加1,如为0则跳过   
      MAX187_SK=0;
      if(i<7) L<<=1;
   }
   delay(1);
   MAX187_CS=1;
   H&=0X0F;               //屏蔽高四位
   count=H*256+L;//高低八位合并  
  // count=H;
  // count=(count<<8)|L;   
   return count;
} 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。