3207|5

65

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

单片机中A/D芯片多路信号循环采集转换问题 [复制链接]

#define In_PORT xbyte [0x7ff8]
                   void max180(uint idata *x) //a/d
   {  
             uchar xdata *ad_adr;
             uint low,high,i;
             ad_adr=&In_PORT;
            for(i=0;i<3;i++)
             {
              In_PORT=0;
              while(s==1) {;}
              low=(uint)(*ad_adr);
              delay();
              b=1;
              high=(uint)(*ad_adr);
              x=(high*256+low);
              delay();
              ad_adr++;
               delay();
}

        main()
{        
                            uint idata ad[3]={0,0,0};
                             max180(ad);
                         result1+=ad[0]; //通道0的数据
                         result2+=ad[1];//通道1的数据
                         result3+=ad[2];//通道2的数据
}
我在主函数中调用max180,想把A/D中采集的3个通道的数据分别赋给result1,result2,result3,但实际上3个通道上输出的数据都相同且都是通道0的数据,实际上3个通道上的输入的模拟量各不相同。不知怎么回事,十分焦急,万望高手指点,感激涕零!

最新回复

谢谢,已经搞定  详情 回复 发表于 2007-7-28 09:01
点赞 关注

回复
举报

65

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
我用8路 都没这个问题啊

 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
看来是IO没有打过去了...

看看,模拟输入IO的配置看看
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

4
 
谢谢两位,能否给点具体意见
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

5
 
#define In_PORT xbyte [0x7ff8]
           void max180(uint idata *x) //a/d
   {  
     uchar xdata *ad_adr;
     uint low,high,i;
     ad_adr=&In_PORT;
    for(i=0;i<3;i++)
     {
      In_PORT=0;// 此处应是In_PORT=i
      while(s==1) {;}
      low=(uint)(*ad_adr);
      delay();
      b=1;
      high=(uint)(*ad_adr);
      x=(high*256+low);
      delay();
      ad_adr++;
       delay();
}

main()
{        
            uint idata ad[3]={0,0,0};
     max180(ad);
         result1+=ad[0]; //通道0的数据
         result2+=ad[1];//通道1的数据
         result3+=ad[2];//通道2的数据
}
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

6
 
谢谢,已经搞定
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表