ad7715读写程序

2020-01-27 11:36发布

有关ad7715的c程序
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
8条回答
liuchengliaaa
2020-01-27 13:26
没有在这上发过帖子,业余爱好,谢谢大家
源程序如下

////AD7715端口////
sbit CS=P2^1;
sbit SCK=P2^0;
sbit DIN=P2^2;
sbit DOUT=P2^3;
sbit DRDY=P2^4;

///////以下为7715函数///////////////////
unsigned int readAD()  ////从数据寄存器读16位的数据
{
    unsigned char i;    unsigned int readword;
    SCK=1;
    if(DRDY==0)
      for(i=0;i<16;i++)
      {
          SCK=0;
          DOUT=1;
          if(DOUT) readword+=0x01;
          readword=readword<<1;
          SCK=1;
      }
   return(readword);
}

void writeAD(unsigned char writebyte)  ////写数据8位
{
    unsigned char i;
    for (i=0; i<8; i++)
    {
        SCK=0;
        DIN =(bit)(writebyte&0x80);//先写最高一位
        SCK =1;
        writebyte=writebyte<<1;
    }
    DIN=1;
}

void ADinit()
{
    CS=1;CS=0;
    writeAD(0x11);   //写设置寄存器,选择设定寄存器,增益为2
                     //0/DRDY ZERO RS1 RS0 R/W STBY G1 G0
    //writeAD(0x44); //设置寄存器数据  自校验,速度20Hz,单端输入,不加缓冲,不加同步
    writeAD(0x40); //自校验,速度20Hz,双端输入,不加缓冲,不加同步  // MD1 MD0 CLK FS1 FS0 B/U BUF FSYNC
   // writeAD(0x60); //自校验,速度50Hz,双端输入,不加缓冲,不加同步
    delay(); delay(); delay(); delay(); delay();
    /*writeAD(0x04);
    delay(); delay(); delay(); delay(); delay();
    writeAD(0x39); */  ////读数据寄存器

}

一周热门 更多>