da-DAC7612
坛里面有没有人用过DAC7612这款DA转换芯片有问题想请教下 有问题不一次提出来,浪费版面 回复【1楼】my2009-----------------------------------------------------------------------
楼上也不要这么说啊之前的帖发的比较急 时间有点紧 所以说的不清楚 见谅啦
问题是这样的 把程序烧入883后 用万用表测量DAC7612的输出脚电压 发现电压值一直不变 不论怎么改变输入的数字值 输出的电压值始终不变
DAC7612是SPI串口的12位双路电压输出DA芯片 片子是16f883 把代码附上
dac7612ourdev_624778MKS5AL.txt(文件大小:2K) (原文件名:883.txt) for (i=0; i<14; i++) {
data ---> SDI
CLK =0
NOP // 不要用 delay(50)----太长了吧?
CLK=1
} 回复【3楼】my2009
-----------------------------------------------------------------------
恩 这个之前更正过了 输出还是不变 是不是通讯写的有问题啊 换了写法 这里我只让通道A输出0V 貌似也不行
#include <pic.h>
__CONFIG(0xe0f1);
#define uint unsigned int
#define uchar unsigned char
#define_nop_()asm("nop")
#define DAC7612_SDI RC4
#define DAC7612_SDI_DIR TRISC4
#define DAC7612_CLK RC3
#define DAC7612_CLK_DIR TRISC3
#define DAC7612_LOAD RC5
#define DAC7612_LOAD_DIR TRISC5
#define value1 0x20//通道A 待转换数据的高4位
#define value2 0x00//待转换数据的低8位 使A通道输出0V
void main()
{
int temp;
PORTC=0xf4;
TRISC=0x10;//设置RC4(SDI)输入,其他输出
SSPSTAT=0xc0;//
SSPCON=0x30;//SSPEN=1,CKE=1,SPI主控模式Fosc/4
PORTC=0x00;
SSPBUF=value1;//发送待转换的数据高4位
while(!SSPIF);//等待发送完成
SSPIF=0x0;//清除中断标志位
temp=SSPBUF;//清空接收寄存器
SSPBUF=value2;//发送待转换数据低8位
while(!SSPIF);//等待发送完成
SSPIF=0x0;//中断标志位清0
PORTC=0x04;
while(1);
} 搞定 兄弟,请问如何搞定的,可以分享下吗? 咋整的啊?
页:
[1]