51模拟IIC

本文详细介绍了如何使用51单片机模拟IIC通信协议,包括步骤和关键代码,适用于嵌入式系统中的设备间通信,帮助开发者理解和实现IIC通信。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#include <reg52.h> 
#include <intrins.h>

sbit SDA = P3^0;
sbit SCL = P3^1;

typedef unsigned char uchar;
typedef unsigned int  uint;

bit AckFlag;				  //应答标志位
#define At24c02ADDR 0xa0	 //AT24C02硬件地址
#define I2cWrite    0		//写方向位
#define I2cRead     1	   //读方向位

//延时5us函数
void delay5us()
{
   
   
	_nop_();
}


//起始信号
void IIC_START()
{
   
   
   SCL = 1;
   SDA = 1;
   delay5us();
   SDA = 0;
   delay5us();
}


//结束信号
void  IIC_STOP()
{
   
   

	SDA = 0;
	SCL = 1;
	delay5us();
	SDA = 1;
	delay5us();
}

//应答位,主机主动控制是否应答
void SendACK(bit
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值