发表于:2004-09-20 08:51:00
楼主
AD1674采集芯片,PC104嵌入式主板,使用DOS下的TURBO C2.0编写如下A/D采集程序:
#define Port 0xF400 启动通道地址
#define SELECTPORT 0xF700 选择通道地址
main()
{ int dl,dh,dn,i,n;
int dly=3000;
printf("Please input ch(ch=0--3)");
scanf("%d",&ch);
if(ch==0) break;
outportb(SELECTPORT,ch);
for(k=0;k<dly;k++);
outportb(Port,0x00);
k=0;
for(k=0;k<dly;k++);
dl=inportb(Port+1);/*读低8位*/
for(k=1;k<dly;k++);
dh=inportb(Port+2);/*读高4位*/
dn=(dh&15)*256+dl;
printf("CH=%d data is : %f",ch,dn);
}while(1);
}
程序运行读出来的值没有变化,始终是一个无效值:FFFF,但是通道已经选通启动了,是否为读
取AD值的地址不对???