资源简介
51单片机的I2C模拟通信驱动
void I2CStart();//开始
void I2CStop();//停止
bit I2CWrite(uint8 date);//写操作
uint8 I2CReadNAK();//读操作NACK
uint8 I2CReadACK();//读操作ACK
代码片段和文件信息
#include “I2C.h“
#define I2CDelay() {_nop_();_nop_();_nop_();_nop_();}
void I2CStart()
{
I2C_SCL = 1;
I2C_SDA = 1;
I2CDelay();
I2C_SDA = 0;
I2CDelay();
I2C_SCL = 0;
}
void I2CStop()
{
I2C_SCL = 0;
I2C_SDA = 0;
I2CDelay();
I2C_SCL = 1;
I2CDelay();
I2C_SDA = 1;
I2CDelay();
}
bit I2CWrite(uint8 date)
{
uint8 mark;
bit ack;
for(mark = 0x80;mark != 0;mark >>=1)
{
if((mark&date)==0)
I2C_SDA = 0;
else
I2C_SDA = 1;
I2CDelay();
I2C_SCL = 1;
I2CDelay();
I2C_SCL = 0;
}
I2C_SDA = 1;
I2CDelay();
I2C_SCL = 1;
ack = I2C_SDA;
I2CDelay();
I2C_SCL = 0;
return (~ack);
}
uint8 I2CReadNAK()
{
uint8 mask;
uint8 dat;
I2C_SDA = 1;
for(mask = 0x80;mask != 0;mask >>= 1)
{
I2CDelay();
I2C_SCL = 1;
if(I2C_SDA == 0)
dat &= ~mask;
else
dat |= mask;
I2CDelay();
I2C_SCL = 0;
}
I2C_SDA = 1;
I2CDelay();
I2C_SCL = 1;
I2CDelay();
I2C_SCL = 0;
return dat;
}
uint8 I2CReadACK()
{
uint8 mask;
uint8 dat;
I2C_SDA = 1;
for(mask = 0x80;mask != 0;mask >>= 1)
{
I2CDelay();
I2C_SCL = 1;
if(I2C_SDA == 0)
dat &= (~mask);
else
dat |= mask;
I2CDelay();
I2C_SCL = 0;
}
I2C_SDA = 0;
I2CDelay();
I2C_SCL = 1;
I2CDelay();
I2C_SCL = 0;
return dat;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1327 2014-11-09 12:29 I2C.c
文件 267 2014-11-07 16:48 I2C.h
文件 115 2014-11-07 16:48 driver.h
----------- --------- ---------- ----- ----
1709 3
- 上一篇:Qt通过线性插值和矢量线性插值实现图形动画
- 下一篇:短信敏感词检测工具
相关资源
- 51单片机资料\\基于单片机的函数信号
- 51单片机串口通信程序 含详细
- 51单片机AD转换程序及仿真图
- 51单片机 矩阵键盘计算器
- 基于51单片机SHT11温湿度传感器检测程
- 8051单片机最小系统电路原理图
- 51单片机和proteus仿真红外遥控
- 51单片机秒表课程设计
- 51单片机PID控制含DAC0832DA转换程序完全
- 51单片机利用传感器测距
- 51单片机PCF8591
- 基于51单片机的交通灯实验报告
- 51单片机多任务编程思想
- 基于单片机的光电计数器设计
- 基于51单片机、PCF8563时钟芯片的智能
- 基于51单片机电子密码锁
- 基于51单片机的直流电机PWM调速系统
- 智能小车-51单片机-红外避障基础版
- 基于51单片机的超声波避障小车AD原理
- 基于51单片机的篮球计分器论文.doc
- 51单片机GY906测量人体测温度,eeprom存
- wifi时钟.zip
- 51单片机控制电机代码
- 基于51单片机的充电桩设计
- 基于51单片机的智能充电器设计
- 基于51单片机的BMP180气压检测程序设计
- 基于51单片机的AD7705模块电压检测
- sht30 基于C51单片机的驱动程序,可能
- 步进电机c程序 针对51单片机 两相56线
- 基于51单片机&GPS;的导航系统设计含详
评论
共有 条评论