/********************************************************************
此程序是I2C操作平台(主方式的软件平台)的底层的C子程序,如发送数据
及接收数据,应答位发送,并提供了几个直接面对器件的操作函数,它很方便的
与用户程序连接并扩展.....
注意:函数是采用软件延时的方法产生SCL脉冲,固对高晶振频率要作
一定的修改....(本例是1us机器周期,即晶振频率要小于12MHZ)
********************************************************************/
#include <reg764.h> /*头文件的包含*/
#include <intrins.h>
#define uchar unsigned char /*宏定义*/
#define uint unsigned int
#define _Nop() _nop_() /*定义空指令*/
/* 常,变量定义区 */
/*端口位定义*/
sbit SDA=P1^3; /*模拟I2C数据传送位*/
sbit SCL=P1^2; /*模拟I2C时钟控制位*/
/*状态标志*/
bit ack;
I2C总线时序模拟(二)-加深理解总线协议
最新推荐文章于 2022-11-22 17:10:57 发布
本文档提供了一套基于C语言的I2C总线操作平台,包括起动、结束总线的函数以及数据发送和接收的详细过程。通过软件延时产生SCL脉冲,适用于低频晶振环境,适用于理解和实现I2C通信。
摘要由CSDN通过智能技术生成