📄 i2c.h
字号:
/*
I2C.h
标准80C51单片机模拟I2C总线的主机程序头文件
Copyright (c) 2006,广州周立功单片机发展有限公司
All rights reserved.
本程序仅供学习参考,不提供任何可靠性方面的担保;请勿用于商业目的
*/
#ifndef _I2C_H_
#define _I2C_H_
#include <reg51.h>
//模拟I2C总线的引脚定义
sbit I2C_SCL = P1^6;
sbit I2C_SDA = P1^7;
//定义I2C总线时钟的延时值,要根据实际情况修改,取值1~255
//SCL信号周期约为(I2C_DELAY_VALUE*4+15)个机器周期
#define I2C_DELAY_VALUE 10
//定义I2C总线停止后在下一次开始之前的等待时间,取值1~65535
//等待时间约为(I2C_STOP_WAIT_VALUE*8)个机器周期
//对于多数器件取值为1即可;但对于某些器件来说,较长的延时是必须的
#define I2C_STOP_WAIT_VALUE 3
//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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -