您现在所在的是:

嵌入式系统

回帖:0个,阅读:1975 [上一页] [1] [下一页]
905
hpconon
文章数:1
年度积分:50
历史总积分:905
注册时间:2004/9/18
发站内信
发表于:2004/9/18 17:26:00
#0楼
PC104嵌入式系统主板,AD1674芯片,用以下程序段在TC下测试A/D采样输出值:
#define SELECTPORT 0xF700   选通道号地址
#define ADPORT  0xF400     启动通道地址
main()
{ int ch,k,dly=3000;
 int dn,dl,dh;
  clrscr();
  do{
        printf("Please input ch(ch=0---3)");
        scanf("%d",&ch);
        ch=ch&0xf;
        if(ch==0) break;
        outportb(SELECTPORT,ch);           /*写通道号*/
        for(k=0;k<dly;k++);
        outportb(ADPORT,0x00);          /*启动AD转换*/
        for(k=0;K<dly;k++);
        dl=inport(ADPORT+1);             /*读低8位*/
        for(k=0;k<dly;k++);
        dh=inportb(ADPORT+2);           /*读高4位*/
        dn=(dh&15)*256+dl;
        printf("CH=%d ouput value=%x",ch,dn);  程序运行后一直显示value=fffff,根本  
      }while(!kbhit());                                      无变化
}
程序应该是没有什么问题吧,系统用的是DOS6.22操作系统,硬件测试AD通道已经选通了工作了,应该是与F400相邻的F401和F402输出AD值,可是怎么没有变化???好些地址都已经试过,没有反应!请高手回答帮助分析一下,谢谢!表情表情表情

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

46.8003