DAC7811不能正常驱动

2019-07-15 18:38发布

有哪位大神用过ti公司的dac7811  12位da,我用的avr的单片机写驱动程序,开始用spi通信,不能成功,后来自己写了驱动程序,还是不行。
电路上电后不接和单片机通信的三条线,输出大约200mv的直流。接上之后,不管怎么调输入的电压数据,一直都是2.56v的直流(参考电压是5v),电路应该没有问题,求大神看看程序。

#include <mega16.h>
#include <delay.h>;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

#define SCLK_UP    PORTB|=(1<<0x01)
#define SCLK_DOWN  PORTB&=~(1<<0x01)
#define SYNC_UP    PORTB|=(1<<0x02)
#define SYNC_DOWN  PORTB&=~(1<<0x02)
#define SDIN_UP    PORTB|=(1<<0x03)
#define SDIN_DOWN  PORTB&=~(1<<0x03)

char DA_ON[4]={0,0,0,1};
char DA_OFF[4]={0,0,0,0};
char DA_baochi[4]={0,0,1,1};

void write_da7811(long da)
{
  char i;
  SCLK_UP;
  SYNC_UP;
  delay_us(100);
  SYNC_DOWN;
  for(i=0;i<4;i++)
  {
    SCLK_UP;
    if(DA_ON[i])
      SDIN_UP;
    else
      SDIN_DOWN;
      delay_us(100);
    SCLK_DOWN;
  }
  for (i=0;i<12;i++)
  {
    SCLK_UP;
    if(da&0x800)
       SDIN_UP;
    else
       SDIN_DOWN;
       delay_us(100);
    SCLK_DOWN;
    da<<=1;
  }
  SYNC_UP;
  SCLK_DOWN;
  
}

void main( void )
{
  DDRB=0xff;
// write_da7811(0x000f);     //送数字量
  delay_ms(1);
  write_da7811(0x07ff);
}


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
呐小子好坏love
1楼-- · 2019-07-15 19:25
这个为什么啊,我百度也没有找到,奇怪啊,是不是什么地方错了
dusqq
2楼-- · 2019-07-15 20:27
这个……看看再说吧,,,
国仕无双
3楼-- · 2019-07-15 21:45
呐小子好坏love 发表于 2014-8-31 15:08
这个为什么啊,我百度也没有找到,奇怪啊,是不是什么地方错了

你的也是不能正常驱动吗?


一周热门 更多>