您当前的位置:五五电子网电子知识单片机-工控设备51单片机C51单片机设计模拟I2C总线驱动程序 正文
C51单片机设计模拟I2C总线驱动程序

C51单片机设计模拟I2C总线驱动程序

点击数:7886 次   录入时间:03-04 11:39:06   整理:http://www.55dianzi.com   51单片机

函数名:bit I2C_IRcvB(uchar sla, uchar suba, uchar *c)
入口:从器件地址 sla, 子地址 suba, 收到的数据在 c
出口:1(操作成功),0(操作有误)

功能描述:从启动总线到发送地址、读数据,结束总线的全过程。

调用函数: I2CS_tart(),
     I2C_SendB(uchar c),
     I2C_RcvB(),
     I2C_Ackn(bit a),
     I2C_Stop()

全局变量:I2C_Ack

创建者:陈曦   日期:2005-5-15
修改者:          日期:

**********************************************************************************/

bit I2C_IRcvB(uchar sla, uchar suba, uchar *c)
{
I2C_Start();      //启动总线

I2C_SendB(sla);
if(!I2C_Ack)
{
   return(0);
}

I2C_SendB(suba);     //发送器件子地址
if(!I2C_Ack)
{
   return(0);
}

I2C_Start();      //重复起始条件

I2C_SendB(sla+1);     //发送读操作的地址
if(!I2C_Ack)
{
   return(0);
}

*c = I2C_RcvB();     //读取数据
I2C_Ackn(1);      //发送非应答位
I2C_Stop();       //结束总线
return(1);
}



上一页  [1] [2] 


本文关键字:单片机  程序  51单片机单片机-工控设备 - 51单片机