微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 模拟IIC程序

模拟IIC程序

时间:10-02 整理:3721RD 点击:
MSP430F149 片子 模拟IIC程序
外部晶振8M 一条指令执行时间在1-6us
AT24C256  A0A1A2接到
现在我要做的第一件事情是:发送一个字节到器件AT24C256 然后接收应答  IC反回来的回应应该是低电平,但是我这里一直是高 朋友帮忙 看看为什么  不甚感激啊
void StorageStart(void)
{
SDA_H;
OSRdyTbl(55);
SCK_H;
OSRdyTbl(55);
SDA_L;
OSRdyTbl(55);

}
uchar iic_Answer(uchar number)
{
  uchar i=0;
for(i=0;i<8;i++)
  {
       SCK_L;  
       OSRdyTbl(55);
    if(number&0x80==0x80)
       { SDA_H;
    }
     else
{      
    SDA_L;
  }     
      
    SCK_H;
     OSRdyTbl(55);
     number<<=1;
  }
SCK_H;
OSRdyTbl(55);
P5DIR&=0xdf;
if((P5IN&0x20)==0x20)
   return 0;
  else
    return 1;
}

main()
{
.....
C_WP;//去除写保护 0
OSRdyTbl(55);
StorageStart();//起始
flag=iic_Answer(0xa0);//发送a0 并且返回 回应
OSRdyTbl(55);//延时
OSRdyTbl(55);
}

看不懂~~~~~

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top