为什么基于STC89C52的温湿度检测系统采集不到信号

2019-07-15 17:08发布

AD用的是TLC2543的12位串行芯片,有可能跟时序有关系吗。哪位大神帮帮忙,仿真出来了,就是实物调不出来
这是AD转换程序,
uint read2543(uchar port) //读2543端口号的直
{
        uint ad=0;        //保留输出结果
        uchar i;
        cs=1;
        eoc=1;
        clock=0;
        cs=0;
        port<<=4;
        for(i=0;i<8;i++) //读高8位
        {
                if(out)
                        ad|=0x01;        //存放数据高-低
                in=(bit)(port&0x80); //高位先输入
                clock=1;
                _nop_();
                _nop_();
                _nop_();
                clock=0;
                _nop_();
                _nop_();
                _nop_();
                port<<=1;
                ad<<=1;
        }
        for(i=8;i<12;i++)
        {
                if(out)
                        ad|=0x01;
                clock=1;
                _nop_();
                _nop_();
                _nop_();
                clock=0;
                _nop_();
                _nop_();
                _nop_();
                ad<<=1;
        }
        cs=1;//开始转换
        while(!eoc); //等待转换完成
        ad>>=1;
        return ad;
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。