|
各位大佬,小弟是新手,用了MCP4725模塊作為12位DAC轉(zhuǎn)換芯片,可是在輸出的時候老是輸出2.5V,這是怎么回事???人家說我的是程序問題,可是我看不懂啊,我只是抄了一下別人的IIC接口例程。。。代碼如下:
void IICstart(void)
{
SDA=1;
SCL=1;
delayms(20);
SDA=0;
delayms(20);
SCL=0;
}
void IICstop(void)
{
SDA=0;
SCL=1;
delayms(20);
SDA=1;
delayms(20);
SCL=0;
}
void Write1Byte(unsigned char Data)
{
unsigned char k;
for(k=0;k<8;k++)
{
if(Data&0x80)
{
SDA=1;
}
else
{
SDA=0;
}
delayms(20);
SCL=1;
Data=Data<<1;
delayms(20);
SCL=0;
delayms(20);
}
SDA=1;
delayms(20);
SCL=1;
delayms(20);
delayms(20);
SCL=0;
}
void WriteMCP4725(unsigned char Databuf)
{
IICstart();
Write1Byte(0XC0);
// Write1Byte(000);
Write1Byte(Databuf);
IICstop();
}
電路圖如下
如果不完整的我還可以上傳完整程序。
|
|