This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

谁用过DAC122s085这个DA芯片

Other Parts Discussed in Thread: DAC122S085

谁用过DAC122s085这个DA芯片,那个移动寄存器怎么设置呢

  • 您好,您是指的input shift register吧?参考Figure30, 第一位必须写0, 第二位决定DAC A还是DAC B,后面2bit四种方式,可以看到00,01,10,11 分别是对特定寄存器进行写,是否update输出,11指的是disable output。 最后12bit指的是register data。如果都是0 对应的是0V输出,都是1 对应的是Vrefin -1V的满量程输出。

  • 你有参考的程序吗,我不会写
  • void DACinit(u16 DAC_DATE)
    {
    u8 i=0;
    u16 date_two=0;
    date_two=DAC_DATE|0X1000; //控制高四位数据,选择通道A

    SCLK_0;

    SYNC_1;

    SYNC_0;
    delay(1);
    for(i=0;i<16;i++)
    {

    if((date_two&0x8000)==0)
    {
    DATA_0;
    }
    else
    DATA_1;

    SCLK_1;
    date_two=date_two<<1;
    delay(1);
    SCLK_0;
    }
    SYNC_1;
    }

    void delay(u8 Xns)
    {
    while(Xns--);}
    这是我写的初始化程序,用示波器测得DAC芯片的数据引脚、使能端、时钟都有波形,但是芯片就是没输出。
  • 您好,很抱歉,没有参考例程可以参考。
    在您的初始化中,输入寄存器配置的为0X1000, 选择DAC A ,但是12 bit data都是0,所以输出也是0V。 所以芯片没有输出,请改12bit data试试,比如都是1的话,输出应该为满量程输出Vrefin -1V。