chengjian_hui
驱动小牛
驱动小牛
  • 注册日期2002-09-29
  • 最后登录2003-09-16
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:936回复:3

有关数据采集的问题,头发都白了。

楼主#
更多 发布于:2002-12-09 10:58
各位,有谁用过MAX197呀(8通道的A/D转换器)。
当我给每路输入5V电平时,按理应该在转换结果中,第二个字节的值都应该是07H才对,但是,我的结果是第二个字节正好是通道号,也就是通道一的输出是01H,通道二的输出是02H,依次类推,第7路输出07H,有没有人碰到过这样的问题呀?怎么解决的,还望不吝赐教。
chengjian_hui
驱动小牛
驱动小牛
  • 注册日期2002-09-29
  • 最后登录2003-09-16
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-12-09 15:07
哎!等了这么久,怎么没人来呀。
是不是问题太简单啦?
这可是最后的关头,解决了就大功告成了,回答对了送50分!
Jkw_Dev
驱动中牛
驱动中牛
  • 注册日期2002-11-03
  • 最后登录2014-11-28
  • 粉丝0
  • 关注0
  • 积分82分
  • 威望28点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-12-09 15:43
建议检查一下硬件电路,如果没问题就是软件读写的问题!
chengjian_hui
驱动小牛
驱动小牛
  • 注册日期2002-09-29
  • 最后登录2003-09-16
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-12-09 15:56
那么对197命令字的设置,除了模式和幅度外,应该没有其他问题吧?我的命令字第一路是49H.
我的代码是:
void Isr_Timer1(void) interrupt 1
{
    void init_Timer0();
    DISABLE_INTERRUPTS;
    DISABLE_D12;
    ENABLE_AD;                        /*enable A/D*/
                    

    Init_Timer0();

     IC_WR=0;
     P0=channel;     /*  Start A/D  */
     IC_WR=1;  
     Delay(20);
     P3_1=0;
     IC_RD=0;            
     GenBuf[re_p]=P0;       /*read low 8bits*/
     IC_RD=1;
     re_p++;
     P3_1=1;
     IC_RD=0;
     GenBuf[re_p]=P0;  /*read high 4bits*/
     IC_RD=1;
     channel++;
     re_p++;
     q++;
  if(q==7)
   {
   GenBuf[0]=0xff;
   GenBuf[15]=0x00;
   channel=0x49;
    re_end=1;  /*转换完成标志位*/
    re_p=1;
    q=0;
    }
   DISABLE_AD;
   ENABLE_D12;
   ENABLE_INTERRUPTS;
}  re_p的初植是1。  
游客

返回顶部