登录
首页 嵌入式系统 嵌入式系统
回帖 发帖
正文

主题:A/D1674芯片采样的输出值怎么没有读出来?请进!!!!

点击:2025 回复: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         outportb(ADPORT,0x00);          /*启动AD转换*/
        for(k=0;K         dl=inport(ADPORT+1);             /*读低8位*/
        for(k=0;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值,可是怎么没有变化???好些地址都已经试过,没有反应!请高手回答帮助分析一下,谢谢!表情表情表情
04-09-18 17:26

工控新闻

更多新闻资讯