i2c.h

来自「周立功单片机上的源程序」· C头文件 代码 · 共 55 行

H
55
字号
/*
	I2C.h
	标准80C51单片机模拟I2C总线的主机程序头文件
	Copyright (c) 2006,广州周立功单片机发展有限公司
	All rights reserved.
	本程序仅供学习参考,不提供任何可靠性方面的担保;请勿用于商业目的
*/


#ifndef _I2C_H_
#define _I2C_H_


#include <reg51.h>


//模拟I2C总线的引脚定义
sbit I2C_SCL = P3^4;
sbit I2C_SDA = P3^5;


//定义I2C总线时钟的延时值,要根据实际情况修改,取值1~255
//SCL信号周期约为(I2C_DELAY_VALUE*4+15)个机器周期
#define I2C_DELAY_VALUE		5


//定义I2C总线停止后在下一次开始之前的等待时间,取值1~65535
//等待时间约为(I2C_STOP_WAIT_VALUE*8)个机器周期
//对于多数器件取值为1即可;但对于某些器件来说,较长的延时是必须的
#define I2C_STOP_WAIT_VALUE	1


//I2C总线初始化,使总线处于空闲状态
void I2C_Init();


//主机通过I2C总线向从机发送多个字节的数据
bit I2C_Puts(unsigned char SlaveAddr, unsigned char SubAddr, unsigned char Size, char *dat);


//主机通过I2C总线向从机发送1个字节的数据
bit I2C_Put(unsigned char SlaveAddr, unsigned char SubAddr, char dat);


//主机通过I2C总线从从机接收多个字节的数据
bit I2C_Gets(unsigned char SlaveAddr, unsigned char SubAddr, unsigned char Size, char *dat);


//主机通过I2C总线从从机接收1个字节的数据
bit I2C_Get(unsigned char SlaveAddr, unsigned char SubAddr, char *dat);


#endif	//_I2C_H_

⌨️ 快捷键说明

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