我在配置好寄存器后然后读取,输出结果会变化,不知是什么问题
/****************************************************************************/
/*************************DAC1初始化**************************************/
void ADS8363_DAC1_Init(void)
{
CLOCK=1;
RD=1;
_nop_(); //1个时钟周期
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_(); //到此为半个周期,含有15个时钟周期
CLOCK=0; //4个时钟周期
RD=0;
// CLR CLOCK(0xC0.5)
// SETB CONVST(0x80.7)
_nop_();
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_(); //到此为一个周期,含有30个时钟周期
//1101 CLOCK=1; //CLR CLOCK(0xC0.5) //4
SDI=1; // //4
_nop_(); //7
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
CLOCK=0; //4
//SETB CLOCK(0xC0.5) 4 _nop_(); //11
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
CLOCK=1; //CLR CLOCK(0xC0.5) //4
SDI=1; // //4
_nop_(); //7
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
CLOCK=0; //4
//SETB CLOCK(0xC0.5) 4 _nop_(); //11
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
CLOCK=1; //CLR CLOCK(0xC0.5) //4
SDI=0; // //4
_nop_(); //7
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
CLOCK=0; //4
//SETB CLOCK(0xC0.5) 4 _nop_(); //11
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
CLOCK=1; //CLR CLOCK(0xC0.5) //4
SDI=1; // //4
_nop_(); //7
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
CLOCK=0; //4
//SETB CLOCK(0xC0.5) 4 _nop_(); //11
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
//0000
CLOCK=1; //CLR CLOCK(0xC0.5) //4
SDI=0; // //4
_nop_(); //7
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
CLOCK=0; //4
//SETB CLOCK(0xC0.5) 4 _nop_(); //11
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
CLOCK=1; //CLR CLOCK(0xC0.5) //4
SDI=0; // //4
_nop_(); //7
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
CLOCK=0; //4
//SETB CLOCK(0xC0.5) 4 _nop_(); //11
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
CLOCK=1; //CLR CLOCK(0xC0.5) //4
SDI=0; // //4
_nop_(); //7
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
CLOCK=0; //4
//SETB CLOCK(0xC0.5) 4 _nop_(); //11
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
CLOCK=1; //CLR CLOCK(0xC0.5) //4
SDI=0; // //4
_nop_(); //7
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
CLOCK=0; //4
//SETB CLOCK(0xC0.5) 4 _nop_(); //11
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
//0100 CLOCK=1; //CLR CLOCK(0xC0.5) //4
SDI=0; // //4
_nop_(); //7
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
CLOCK=0; //4
//SETB CLOCK(0xC0.5) 4 _nop_(); //11
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
CLOCK=1; //CLR CLOCK(0xC0.5) //4
SDI=1; // //4
_nop_(); //7
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
CLOCK=0; //4
//SETB CLOCK(0xC0.5) 4 _nop_(); //11
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
CLOCK=1; //CLR CLOCK(0xC0.5) //4
SDI=0; // //4
_nop_(); //7
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
CLOCK=0; //4
//SETB CLOCK(0xC0.5) 4 _nop_(); //11
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
CLOCK=1; //CLR CLOCK(0xC0.5) //4
SDI=0;
_nop_(); //7
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
CLOCK=0; //4
//SETB CLOCK(0xC0.5) 4 _nop_(); //11
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
//0010 CLOCK=1; //CLR CLOCK(0xC0.5) //4
SDI=0; // //4
_nop_(); //7
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
CLOCK=0; //4
//SETB CLOCK(0xC0.5) 4 _nop_(); //11
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
CLOCK=1; //CLR CLOCK(0xC0.5) //4
SDI=0; // //4
_nop_(); //7
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
CLOCK=0; //4
//SETB CLOCK(0xC0.5) 4 _nop_(); //11
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
CLOCK=1; //CLR CLOCK(0xC0.5) //4
SDI=1; // //4
_nop_(); //7
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
CLOCK=0; //4
//SETB CLOCK(0xC0.5) 4 _nop_(); //11
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
CLOCK=1; //CLR CLOCK(0xC0.5) //4
SDI=0; // //4
_nop_(); //7
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
CLOCK=0; //4
//SETB CLOCK(0xC0.5) 4 _nop_(); //11
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
CLOCK=1;
_nop_();
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_(); CLOCK=0;
_nop_();
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
CLOCK=1;
_nop_();
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_(); CLOCK=0;
_nop_();
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
CLOCK=1;
_nop_();
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_(); CLOCK=0;
_nop_();
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
/////////?????????????????????????????????????????????
CLOCK=1;
RD=1;
_nop_(); //1个时钟周期
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_(); //到此为半个周期,含有15个时钟周期
CLOCK=0; //4个时钟周期
RD=0;
// CLR CLOCK(0xC0.5)
// SETB CONVST(0x80.7)
_nop_();
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_(); //到此为一个周期,含有30个时钟周期
//0000 CLOCK=1; //CLR CLOCK(0xC0.5) //4
SDI=0; // //4
_nop_(); //7
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
CLOCK=0; //4
//SETB CLOCK(0xC0.5) 4 _nop_(); //11
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
CLOCK=1; //CLR CLOCK(0xC0.5) //4
SDI=0; // //4
_nop_(); //7
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
CLOCK=0; //4
//SETB CLOCK(0xC0.5) 4 _nop_(); //11
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
CLOCK=1; //CLR CLOCK(0xC0.5) //4
SDI=0; // //4
_nop_(); //7
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
CLOCK=0; //4
//SETB CLOCK(0xC0.5) 4 _nop_(); //11
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
CLOCK=1; //CLR CLOCK(0xC0.5) //4
SDI=0; // //4
_nop_(); //7
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
CLOCK=0; //4
//SETB CLOCK(0xC0.5) 4 _nop_(); //11
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
//0011
CLOCK=1; //CLR CLOCK(0xC0.5) //4
SDI=0; // //4
_nop_(); //7
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
CLOCK=0; //4
//SETB CLOCK(0xC0.5) 4 _nop_(); //11
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
CLOCK=1; //CLR CLOCK(0xC0.5) //4
SDI=0; // //4
_nop_(); //7
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
CLOCK=0; //4
//SETB CLOCK(0xC0.5) 4 _nop_(); //11
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
CLOCK=1; //CLR CLOCK(0xC0.5) //4
SDI=1; // //4
_nop_(); //7
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
CLOCK=0; //4
//SETB CLOCK(0xC0.5) 4 _nop_(); //11
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
CLOCK=1; //CLR CLOCK(0xC0.5) //4
SDI=1; // //4
_nop_(); //7
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
CLOCK=0; //4
//SETB CLOCK(0xC0.5) 4 _nop_(); //11
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
//1111 CLOCK=1; //CLR CLOCK(0xC0.5) //4
SDI=1; // //4
_nop_(); //7
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
CLOCK=0; //4
//SETB CLOCK(0xC0.5) 4 _nop_(); //11
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
CLOCK=1; //CLR CLOCK(0xC0.5) //4
SDI=1; // //4
_nop_(); //7
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
CLOCK=0; //4
//SETB CLOCK(0xC0.5) 4 _nop_(); //11
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
CLOCK=1; //CLR CLOCK(0xC0.5) //4
SDI=1; // //4
_nop_(); //7
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
CLOCK=0; //4
//SETB CLOCK(0xC0.5) 4 _nop_(); //11
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
CLOCK=1; //CLR CLOCK(0xC0.5) //4
SDI=1; // //4
_nop_(); //7
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
CLOCK=0; //4
//SETB CLOCK(0xC0.5) 4 _nop_(); //11
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
//1111 CLOCK=1; //CLR CLOCK(0xC0.5) //4
SDI=1; // //4
_nop_(); //7
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
CLOCK=0; //4
//SETB CLOCK(0xC0.5) 4 _nop_(); //11
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
CLOCK=1; //CLR CLOCK(0xC0.5) //4
SDI=1; // //4
_nop_(); //7
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
CLOCK=0; //4
//SETB CLOCK(0xC0.5) 4 _nop_(); //11
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
CLOCK=1; //CLR CLOCK(0xC0.5) //4
SDI=1; // //4
_nop_(); //7
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
CLOCK=0; //4
//SETB CLOCK(0xC0.5) 4 _nop_(); //11
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
CLOCK=1; //CLR CLOCK(0xC0.5) //4
SDI=1; // //4
_nop_(); //7
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
CLOCK=0; //4
//SETB CLOCK(0xC0.5) 4 _nop_(); //11
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
CLOCK=1;
_nop_();
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_(); CLOCK=0;
_nop_();
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
CLOCK=1;
_nop_();
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_(); CLOCK=0;
_nop_();
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
CLOCK=1;
_nop_();
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_(); CLOCK=0;
_nop_();
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
CLOCK=1;
RD=1;
_nop_(); //1个时钟周期
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_(); //到此为半个周期,含有15个时钟周期
CLOCK=0; //4个时钟周期
RD=0;
// CLR CLOCK(0xC0.5)
// SETB CONVST(0x80.7)
_nop_();
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_(); //到此为一个周期,含有30个时钟周期
//1101 CLOCK=1; //CLR CLOCK(0xC0.5) //4
SDI=1; // //4
_nop_(); //7
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
CLOCK=0; //4
//SETB CLOCK(0xC0.5) 4 _nop_(); //11
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
CLOCK=1; //CLR CLOCK(0xC0.5) //4
SDI=1; // //4
_nop_(); //7
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
CLOCK=0; //4
//SETB CLOCK(0xC0.5) 4 _nop_(); //11
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
CLOCK=1; //CLR CLOCK(0xC0.5) //4
SDI=0; // //4
_nop_(); //7
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
CLOCK=0; //4
//SETB CLOCK(0xC0.5) 4 _nop_(); //11
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
CLOCK=1; //CLR CLOCK(0xC0.5) //4
SDI=1; // //4
_nop_(); //7
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
CLOCK=0; //4
//SETB CLOCK(0xC0.5) 4 _nop_(); //11
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
//0000
CLOCK=1; //CLR CLOCK(0xC0.5) //4
SDI=0; // //4
_nop_(); //7
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
CLOCK=0; //4
//SETB CLOCK(0xC0.5) 4 _nop_(); //11
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
CLOCK=1; //CLR CLOCK(0xC0.5) //4
SDI=0; // //4
_nop_(); //7
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
CLOCK=0; //4
//SETB CLOCK(0xC0.5) 4 _nop_(); //11
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
CLOCK=1; //CLR CLOCK(0xC0.5) //4
SDI=0; // //4
_nop_(); //7
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
CLOCK=0; //4
//SETB CLOCK(0xC0.5) 4 _nop_(); //11
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
CLOCK=1; //CLR CLOCK(0xC0.5) //4
SDI=0; // //4
_nop_(); //7
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
CLOCK=0; //4
//SETB CLOCK(0xC0.5) 4 _nop_(); //11
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
//0100 CLOCK=1; //CLR CLOCK(0xC0.5) //4
SDI=0; // //4
_nop_(); //7
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
CLOCK=0; //4
//SETB CLOCK(0xC0.5) 4 _nop_(); //11
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
CLOCK=1; //CLR CLOCK(0xC0.5) //4
SDI=1; // //4
_nop_(); //7
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
CLOCK=0; //4
//SETB CLOCK(0xC0.5) 4 _nop_(); //11
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
CLOCK=1; //CLR CLOCK(0xC0.5) //4
SDI=0; // //4
_nop_(); //7
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
CLOCK=0; //4
//SETB CLOCK(0xC0.5) 4 _nop_(); //11
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
CLOCK=1; //CLR CLOCK(0xC0.5) //4
SDI=0;
_nop_(); //7
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
CLOCK=0; //4
//SETB CLOCK(0xC0.5) 4 _nop_(); //11
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
//0011 CLOCK=1; //CLR CLOCK(0xC0.5) //4
SDI=0; // //4
_nop_(); //7
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
CLOCK=0; //4
//SETB CLOCK(0xC0.5) 4 _nop_(); //11
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
CLOCK=1; //CLR CLOCK(0xC0.5) //4
SDI=0; // //4
_nop_(); //7
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
CLOCK=0; //4
//SETB CLOCK(0xC0.5) 4 _nop_(); //11
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
CLOCK=1; //CLR CLOCK(0xC0.5) //4
SDI=1; // //4
_nop_(); //7
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
CLOCK=0; //4
//SETB CLOCK(0xC0.5) 4 _nop_(); //11
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
CLOCK=1; //CLR CLOCK(0xC0.5) //4
SDI=1; // //4
_nop_(); //7
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
CLOCK=0; //4
//SETB CLOCK(0xC0.5) 4 _nop_(); //11
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
CLOCK=1;
_nop_();
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_(); CLOCK=0;
_nop_();
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
CLOCK=1;
_nop_();
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_(); CLOCK=0;
_nop_();
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
CLOCK=1;
_nop_();
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_(); CLOCK=0;
_nop_();
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
CLOCK=1;
RD=1;
_nop_(); //1个时钟周期
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_(); //到此为半个周期,含有15个时钟周期
CLOCK=0; //4个时钟周期
RD=0;
// CLR CLOCK(0xC0.5)
// SETB CONVST(0x80.7)
_nop_();
_nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_(); //到此为一个周期,含有30个时钟周期
CLOCK=1; _nop_(); _nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
CLOCK=0; _nop_(); _nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
CLOCK=1; _nop_(); _nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
CLOCK=0; _nop_(); _nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
CLOCK=1; _nop_(); _nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
CLOCK=0; _nop_(); _nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
CLOCK=1; _nop_(); _nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
CLOCK=0; _nop_(); _nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
CLOCK=1; _nop_(); _nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
CLOCK=0; _nop_(); _nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
CLOCK=1; _nop_(); _nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
CLOCK=0; _nop_(); _nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
CLOCK=1; _nop_(); _nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
CLOCK=0; _nop_(); _nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
CLOCK=1; _nop_(); _nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
CLOCK=0; _nop_(); _nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
CLOCK=1; _nop_(); _nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
CLOCK=0; _nop_(); _nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
CLOCK=1; _nop_(); _nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
CLOCK=0; _nop_(); _nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
CLOCK=1; _nop_(); _nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
CLOCK=0; _nop_(); _nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
CLOCK=1; _nop_(); _nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
CLOCK=0; _nop_(); _nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
CLOCK=1; _nop_(); _nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
CLOCK=0; _nop_(); _nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
CLOCK=1; _nop_(); _nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
CLOCK=0; _nop_(); _nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
CLOCK=1; _nop_(); _nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
CLOCK=0; _nop_(); _nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
CLOCK=1; _nop_(); _nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
CLOCK=0; _nop_(); _nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
CLOCK=1; _nop_(); _nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
CLOCK=0; _nop_(); _nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
CLOCK=1; _nop_(); _nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
CLOCK=0; _nop_(); _nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
CLOCK=1; _nop_(); _nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
CLOCK=0; _nop_(); _nop_();
_nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_(); _nop_();
_nop_();
_nop_();
}
附图
wgco:
大部分时间都是正确即显示图像二,偶尔会显示图像一,图像一好像是寄存器CONFIG的值
MichaelSheep:
附图在哪?附图内容是什么?MCU的整个数字输出波形请多次测量,并看手否一致?我看手册使用的是SPI接口,但程序里没注意到哪里是nCS端?你的程序是否能保证在运行时候不会被其他中断所打断而导致SPI波形不对?
wgco:
回复 MichaelSheep:
手册里没有写到是使用SPI,我用的是51单片机,CS一直是低电平,主程序就做一件事就是配置DAC1,然后读DAC1的值。51的SPI寄存器是八位的,如果使用会不会导致20个时钟周期不符合要求?
MichaelSheep:
回复 wgco:
你好,你示波器的截图是哪两个信号,一个是时钟,另外一个是SDI还是SDO?
你先配置了DAC1,配置了哪个值?然后是用片上的ADC读取DAC1的输出吗? 能否把你配置的寄存器以及值列出来,程序放上面太抽象也不知道对不对。先把你想的和做的列出来,我们再看看一个一个对照一下。CONFIG是怎么配的,REFDAC怎么配的,FIFO怎么配的,诸如此类。
另外就是波形能否多截几个信号。例如CONVST SDO SDI CLOCK BUSY等,如果能请把每个寄存器的配置时序波形细节展宽,让大家看的清晰明了一点。
wgco:
回复 MichaelSheep:
截图中一个是时钟,一个是SDOA,SDOA输出的是DAC1的值。我是先配置DAC1,然后再读取DAC1的值,目的是检查是否配置正确。首先第一步令CONFIG寄存器值,为SDI=1101、0000、0110、0010,也就是要告诉下一步要设置DAC1寄存器,然后再输入要设置的DAC1的值,即令SDI=001111111111,第三个20时钟要读取DAC1值,即SDI=1101、0000、0110、0011,然后第四个20时钟就检查SDOA输出的值,结果就是不稳定,虽然大部分时间都是输出DAC1的值,但偶尔会跳变,出现其他的值。其他的寄存器都没有使用,我是使用Mode 1即,令M1=0,M0=0,CS=0,没有管BUSY信号,CONVERST和RD焊在一起使用,在CLOCK下降沿采样。
MichaelSheep:
回复 wgco:
你好,
对照了一下手册,你的操作看上去是正常的,而且你也已经读出对的值出来过了。所以我建议先在程序末尾添加一次读取REFDAC1的值的代码,即再重复一遍第三个和第四个20clk所操作的事,看一看是写的时候出错还是读的时候出错。如果第一次读出错了,第二次读出也还是一样的错就有可能写的时候出了问题。如果第一次读错然后第二次读出对的值,说明写操作有效,可以认真看看读的时候有什么问题。 另外就是我还是建议其他信号也一起拉出来同步看,这样如果真出了什么错,其他信号也许反应的更明显。
还有一个就是如果能把CS在上电完成后再拉低,可能会更好,因为上电瞬间有的时候电路状态不稳定,也许会有误操作。另外,你的错误情况每次都一样吗,不会读出各种各样的值是吧?!
wgco:
回复 MichaelSheep:
ADS8363是不是不太准,转换结果用示波器观察,后9位一直在变化