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

📄 i2c.c

📁 这是一种温度变送器的源代码
💻 C
字号:
#include<c8051f350.h>
#include "variable.h"
#include "I2C.h"
#include "menu.h"

bit SMB_BUSY;
bit SMB_RW;
bit RW_flag;
bit Ack1;
bit	Ack2;
/********************************************
函数名: SMbus_init
功能: SMbus初始化
形式参数:无
返回值:无
********************************************/
void SMbus_init(void)
{
	SMB0CF = 0xDC;
}
/********************************************
函数名: SMbus_24c02_read
功能: SMbus读数据
形式参数:addr-字节首地址
返回值:读取的数据
********************************************/
void SMbus_24c02_read(unsigned char addr)
{
	while(SMB_BUSY);
	SMB_BUSY=1;
	RW_flag=1;
	Ack1=0;
	Ack2=0;
	Slave=0xa0;//24c02器件地址
	SMB_RW=write;
	Dat_addr=addr;//数据首字节地址
	STA=1;
	while(SMB_BUSY);
}
/********************************************
函数名: SMbus_24c02_write
功能: 24c02写数据 
形式参数:addr-字节首地址,dat-数据值
返回值:无
********************************************/
void SMbus_24c02_write(unsigned char addr,unsigned char dat)
{
	while(SMB_BUSY);
	SMB_BUSY=1;
	RW_flag=0;
	Ack1=0;
	Ack2=0;
	Slave=0xa0;
	SMB_RW=write;
	Dat_addr=addr;
	Dat_val=dat;
	STA=1;
	while(SMB_BUSY);	
}

⌨️ 快捷键说明

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