目录
前言
编写了IIC驱动代码,以及驱动24c02。
一、IIC驱动底层
根据通信芯片的读写时序对以上几个方法加以调用,即可完成通信。
//i2c.h
#ifndef _I2C_H_
#define _I2C_H_
#define u8 unsigned char
#define ACK 0
#define NACK 1
void i2c_delay(void);
void i2c_start(void);
void i2c_stop(void);
u8 i2c_read_ack(void);
void i2c_send_ack(u8 ack);
u8 i2c_write(u8 dat);
u8 i2c_read(u8 ack);
#endif
//i2c.c
#include "i2c.h"
#include "intrins.h"
#include "reg52.h"
sbit SCL = P2^1;
sbit SDA = P2^0;
#define I2C_SCL SCL
#define I2C_SDA SDA
#define SCL_H SCL = 1
#define SCL_L SCL = 0
#define SDA_H SDA = 1
#define SDA_L SDA =