单片机用的430.另外这个DA16位的。测试时候输出还是有偏移的。在加上自己的万用表精度不高。所以也不知道具体偏移到底有多少。
下降介绍片子。2.7-5.5供电。轨对轨输出缓冲。16位。IIC通信带高速模式。8 Lead MSOP 封装。
这里按照经典的连接方法就行了。这里有个地方一定要注意。vsense 一定要和VOUT连接一起。只要你稍微对放大器有点常识就知道。方向段一定要和输出连接一起才能构成缓冲。如果不连接那就是一个比较了。
下面介绍他的写地址和寄存器的时序。IIC时序其实就是。
一般IIC时序分为3个步骤。一。开始了之后。先写地址。如果成功了就会有应答信号在第九个脉冲的时候会拉低。就表示有这器件了。二。写寄存器。有低电平应答信号也表示成功。最后写数据。有应答信号就好了。最后重新开始或者stop.
这里介绍一下他的写寄存器那个步骤。主要注意LOAD1 LOAD0.这2位比较具有含义。当然通常的为了直接输出。只要你写01就好了。01就是最常用的方法。他是直接更新IIC输出的。00虽然存储了数据。但是并没有更新输出。写寄存器的时候写0X10.他 的含义对应PDF已经写得很明白。
另外输出根据这几步来写:(这里A0是接地的)
这里最后ML是16为DA的数据。参考电压5V的话写数据0x4000就是5/4=1.25V。这时候测量DA的输出端就是1.25V。这个自己测试过没问题。
主要根据这几个步骤来就行了。程序自己写了下没问题。(时序略)
另外如果有这个遇到问题的随时可以交流。主函数框架程序如下、
#include
#include"IIC.h"
//#include"12864.h"
#include"init_clk.h"
#define uchar unsigned char
#define uint unsigned int
uchar AD_temp;
void main()
{
WDTCTL=WDTPW+WDTHOLD; // 关闭看门狗
// P1DIR|=BIT2;//
//Ini_Lcd();
//init_clk();
P1DIR=0XFF;
init_IIC();
start();
write_byte(0x98);
slave_response();
write_byte(0x10);
slave_response();
write_byte(0x00);
slave_response();
write_byte(0x20);
slave_response();
stop();
while(1);
}