打印

求助!STC芯片换成AT后AD转换出现问题,好奇怪?

[复制链接]
654|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
shibingking|  楼主 | 2016-5-8 08:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
之前用STC89C52芯片,AD7895工作正常,换成AT89C2051后AD芯片不工作了。。。不知怎么回事,求大神帮忙啊。。。

AD转换程序:
/*************************AD7895初始化**************************/
void AD_init(void)
{
  SCLK=0;          
  SDATA = 0;
}
/**********************AD7895读数据*****************************/
int AD_read()
{
  uchar i;
  int outdata0=0;
  CONVST=1;
  _nop_();       
  CONVST=0;
  _nop_();          
  while(BUSY);
  CONVST=1;
  _nop_();
  for(i=0;i<16;i++)
   {
     SCLK=0;                   //同时喂狗
     outdata0=outdata0<<1;
     if(SDATA == 1)
           outdata0|=0x01;       
     SCLK=1;
   }
  _nop_();
  return(outdata0);
}
/*********************Judge函数(AD读取判断)*******************/
void Judge()
{
outdata1 = 0;
outdata2 = 0;           //清零
outdata3 = 0;
AD_init();
outdata=AD_read();
outdata1 = outdata;
outdata2 = outdata;
outdata3 = outdata;
temp = 0x07ff;          //与负电压相与的值0111 1111 1111
outdata3&=temp;                //消去负标志位
outdata=0;                        //清零
outdata2>>=11;                //取正负标志位
if(outdata2 == 0x00)
{
  if(outdata1 > v1)
  {
   count++;//二分压后判定值
  }
}
else if(outdata2 == 0x01)
{
  if(outdata3 < v2)
  {
    count++; //二分压后判定值
  }                        
}
}

相关帖子

沙发
xyz549040622| | 2016-5-8 20:03 | 只看该作者
1.查看系统主频率,两者的系统主频率是否相同
2.引脚是否相同

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

2

帖子

0

粉丝