/*$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$*/
/*$$$$$$$$$$$$$$$$$$$$$$$24C01部分子程序$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$*/
/*$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$*/
sbit SDA = P2^7;
sbit SCL = P2^6;
//起动24C01时序//
void Start()
{
SCL=1;
SDA=1;
SDA=0;
SCL=0;
}
//停止24C01时序//
void Stop()
{
SDA=0;
SCL=1;
SDA=1;
}
/*;检测24C01的响应信号*/
bit ACK()
{
bit c;
SDA=1;
SCL=1;
c=SDA;
SCL=0;
return c;
}
/*;往24C01发一8位数据*/
void SendChar(Uchar ch)
{
Uchar i;
i=8;
do
{
SDA=(ch&0x80);
SCL=1;
SCL=0;
ch<<=1;
}while(--i!=0);
}
/*;从24C01接收一8位数据*/
Uchar RecChar()
{
Uchar i,j;
i=8;
do
{
SCL=1;
j=(j<<1)|SDA;
SCL=0;
}while(--i!=0);
return j;
}
/*往24C01写多字节*/
void WriteBuf(Uint addr,Uchar idata *buf,Uchar count)
{
Uchar c;
c=((*((Uchar *)&addr)))&0x02;
Start();
SendChar(0xa0|c);
ACK();
SendChar(addr);
ACK();
do
{
SendChar(*buf++);
ACK();
if(count!=1)
{
if(((++addr)&0x7)==0)
{
Stop();
for(c=0xff;c!=0;c--) ;
c=((*((Uchar *)&addr))<<1)&0x02;
Start();
SendChar(0xa0|c);
ACK();
SendChar(addr);
ACK();
}
}
else
{
Stop();
for(c=0xff;c!=0;c--) ;
}
}while(--count!=0);
}
/*至少读2字节*/
void ReadBuf(Uint addr,Uchar idata *buf,Uchar count)
{
Uchar ch;
ch=((*((Uchar *)&addr))<<1)&0x02;
Start();
SendChar(0xa0|ch);
ACK();
SendChar(addr);
ACK();
Start();
SendChar(0xa1|ch);
ACK();
count--;
do
{
*buf++=RecChar();
SDA=0;
SCL=1;
SCL=0;
SDA=1;
}while(--count!=0);
*buf=RecChar();
Stop();
}
/*$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$*/
/*$$$$$$$$$$$$$$$$$$$$$$$24C01部分子程序结束$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$*/
/*$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$*/
i2c.rar_i2c_keilc I2C
版权申诉
91 浏览量
2022-09-20
14:14:24
上传
评论
收藏 1KB RAR 举报
APei
- 粉丝: 64
- 资源: 1万+
最新资源
- MySQL是一种广泛使用的开源关系型数据库管理系统,它提供了丰富的SQL语句用于数据库的创建、查询、更新和管理 以下是一些常见的
- MySQL是一种广泛使用的开源关系型数据库管理系统,它提供了丰富的SQL语句用于数据库的创建、查询、更新和管理 以下是一些常见
- MySQL是一种广泛使用的开源关系型数据库管理系统,它提供了丰富的SQL语句用于数据库的创建、查询、更新和管理 以下是一些常见的
- 基于Javascript的结婚请帖设计源码 - Invitation
- mysql语句大全及用法
- mysql语句大全及用法
- mysql语句大全及用法
- MySQL是一种广泛使用的开源关系型数据库管理系统
- MySQL是一种广泛使用的开源关系型数据库管理系统
- MySQL是一种广泛使用的开源关系型数据库管理系统
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈