导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→硬件:致命问题 i方c总线器件ad7416的应用[laoguest]

 *第5182篇: 硬件:致命问题 i方c总线器件ad7416的应用

  
楼 主:laoguest 2002年9月26日19:47
 硬件:致命问题 i方c总线器件ad7416的应用
我用 51单片机防真器、iic器件ad7416采集温度,应用软件模拟iic总线时序,用了几套程
序调试模拟都不成功。我现在调程序已调得患上了严重神经质,吃不下饭,睡不下觉,分不
清东南西北,搞不懂1234,20多岁头发都掉光了。再下去,我恐怕就要含悲九泉了。恳请高
手大侠指点,提供帮助 给我一线生机。
  
2楼:laoguest 2002年9月26日20:02
 我的心脏病高血压也发了
  
3楼:whp1974 2002年9月26日20:12
 正好用过
unsigned int readTemp(unsigned char add)
{
    unsigned int v;

    IIC_Start();
    
    IIC_W8(add*2+0x90+0);///0---write

    if(IICr() ==1) 
    {
        return 0x200;
    }
    
    IIC_W8(0);
    
    if(IICr() ==1) 
    {
        return 0x200;
    }
    IIC_End();

    IIC_Start();
    IIC_W8(0x90+1+add*2);////1---read
    if(IICr() ==1) 
    {
        return 0x200;
    }
    v=0;
    if(IICr()==1) v=0x200;
    if(IICr()==1) v+=0x100;
    if(IICr()==1) v+=0x080;
    if(IICr()==1) v+=0x40;
    if(IICr()==1) v+=0x20;
    if(IICr()==1) v+=0x10;
    if(IICr()==1) v+=0x8;
    if(IICr()==1) v+=0x4;
    IICw(0);
    if(IICr()==1) v+=0x2;    
    if(IICr()==1) v+=0x1;
    IIC_End();
    return v;
}

  
4楼:laoguest 2002年9月26日20:17
 程序不全面,子程序了,还有你的硬件  谢谢
  
5楼:whp1974 2002年9月26日20:22
 好久了,忘了。
////IIC控制口
sbit SCL        =P1^0;
sbit SDA        =P1^1;

/////////IIC控制函数
void IICw(bit c)
{
       SDA=c;
    delayIIC();    //
    SCL=1;
    delayIIC();    //
    SCL=0;
    delayIIC();    //
}

bit IICr()
{
    bit c;

    SCL=1;
    delayIIC();    //
    SDA=1;
    delayIIC();    //
    c=SDA;
    SCL=0;
    delayIIC();    //
    return c;
}

void IIC_Start()
{
    SCL=0;        //start
    delayIIC();    //
    SDA=1;        //
    delayIIC();    //
    SCL=1;        //
    delayIIC();    //
    SDA=0;        //
    delayIIC();    //
    SCL=0;        //
    delayIIC();    //
}

void IIC_End()
{
    SCL=0;        //stop    
    delayIIC();    //
    SDA=0;        //
    delayIIC();    //
    SCL=1;        //
    delayIIC();    //
    SDA=1;        //
    delayIIC();    //
    SCL=0;        //
    delayIIC();    //
}

void IIC_W8(unsigned char v)
{
    unsigned char c;

    for(c=0x80 ; c!=0 ; c>>=1)
    {
        IICw(v&c);
    }
}

  
6楼:whp1974 2002年9月26日20:24
 硬件
A0,A1,A2,---- add参数
  
7楼:pan-x 2002年9月26日20:55
 随便说说
不一定是iic程序的问题,研究以下ad7416的初始化条件,或命令应用情况。
  
8楼:laoguest 2002年9月28日21:40
 这是人间的春风,
谢谢你给我的程序, 让我感到莫大的关怀。 只是你的程序有没有实际测试过,单片机的晶
震是多大。
  
9楼:laoguest 2002年10月1日15:27
 ad7416应用成功
用c51模拟iic采ad7416温度已 取得成功,那位有需要的尽管找我
  
10楼:laoguest 2002年9月28日20:54
 谢谢各位的帮助你们
又点燃了我生命的火焰,我感动得痛苦流泪,泣不成声。

>>>>>>对该主题发表你的看法

本主题贴数10,分页: [第1页]


[上一篇主题]:C51编程:32位数据的移位操作?

[下一篇主题]:硬件:如何进行RS422串口扩展?