我用ADS8509测+5V的固定电压,发现每次结果都不一样,不知道是不是这个原因,12Mhz的51单片机跟不上ADS8509的时钟频率,导致有的位读取失败
RC=1;
delay();
RC=0;
while(BUSY==0); for(i=0;i<16;i++)
{ while(!CLK); result<<=1; if(DATA==1) result+=1;
while(CLK);
}
user151383853:
你可以采用代码优化来提高速度, 比如直接操作 ACC 寄存器移位. 比如这样写 CY = ACC & 0x80;
不过 51 的速度实在是比较慢的. 实在跟不上外部信号的变化那就只有更换 MCU 了.
MINGYANG WANG:
回复 user151383853:
谢谢解答~