⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 iic.h

📁 I2C总线的一个实例,有原理图的设计,和程序的设计,可直接用在项目开发中,节约开发时间,提高效率.
💻 H
字号:
#ifndef  _IIC_H_
#define  _IIC_H_

#define  uint  unsigned int
#define  uchar unsigned char

//引脚定义
sbit  PinSCL 	= P1^6;
sbit  PinSDA  	= P1^7;

//函数功能:短延时
void nNop(uint i);

//函数功能:长延时
void LongDelay(uint i);

//函数功能:IIC起始信号
void StartIIC(void);

//函数功能:IIC停止信号
void StopIIC(void);

//函数功能:读取从机应答信号
//说明:读取从机应答位(应答或非应答),用于判断:从机是否成功接收主机数据
//      返回:	0 —— 从机应答  	1 —— 从机非应答
//      从机在收到每一个字节后都要产生应答位,主机如果收到非应答则应当终止传输
bit GetACK(void);

//函数功能:向IIC总线发出应答信号
//说明:主机产生应答位(应答或非应答),用于通知从机:主机是否成功接收从机数据
//      参数:ack=0:主机应答 	ack=1:主机非应答
//      主机在收到每一个字节后都要产生应答,在收到最后一个字节后,应当产生非应答
void PutACK(bit ack);

//函数功能:初始化IIC总线
//说明: I2C总线初始化,使总线处于空闲状态
//       开始使用前,应当执行一次本函数 
void InitIIC(void);

//函数功能:向IIC总线写一字节数据
//说明:参数:temp为数据
void IIC_WriteByte(uchar temp);

//函数功能:从IIC总线读一字节数据
//说明:返回一字节数据
uchar IIC_ReadByte(void);

//函数功能:向IIC总线上的从机写多字节数据
//说明:参数:SlaveAddr:从机地址(高7位是从机地址,最低位是读写标志)
//          	SubAddr:  从机的子地址
//            size:     数据大小(以字节计)
//            *dat:     要发送的数据
//      返回:0:发送成功
//  					1:在发送过程中出现异常
bit IIC_Puts(uchar SlaveAddr, uchar SubAddr, uint size, uchar *dat);

//函数功能:从IIC总线上的从机读多字节数据
//说明:参数:SlaveAddr:从机地址(高7位是从机地址,最低位是读写标志)
//          	SubAddr:  从机的子地址
//            size:     数据大小(以字节计)
//            *dat:     保存接收的数据
//      返回:0:接收成功
//  					1:在接收过程中出现异常
bit IIC_Gets(uchar SlaveAddr, uchar SubAddr, uint size, uchar *dat);


#endif   //_IIC_H_

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -