模块化设计-单片机IIC通讯模块.doc

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
模块化设计-单片机IIC通讯模块

模块化设计-单片机IIC通讯模块 //======================Copyright (c)===================================== // 文件名称: IIC.c // 功能描述: IO口模拟的I2C操作 // // 修改记录: // 2008-11-14, PiaoHong 创建文件 // // //===================================================================== === #ifndef _IIC_C #define _IIC_C #include //= ================================================================ #define I2C_Delay() Delay_us(5); bool SCL_High(void) { SCL_HIGH; I2C_Delay(); if(I2C_SCL) return(true); else return(false); } bool SDA_High(void) { SDA_HIGH; I2C_Delay(); if(I2C_SDA) return(true); else return(false); } #define SDA_Low() { SDA_LOW; I2C_Delay();} #define SCL_Low() { SCL_LOW; I2C_Delay();} Start //-------------------------------------------------------------- // 函数名称: I2C_Initial // 功能描述: I2C初始化 // 输入参数: 无 // 返回参数: 无 // 修改记录: // 2008-11-14, PiaoHong 创建函数 //--------------------------------------------------------------- void I2C_Initial(void) { // SCL_OUT; // SDA_OUT; SDA_High(); SCL_High(); // SDA = 1, SCL = 1 } //#define I2C_Delay() {_nop_(); _nop_();} //-------------------------------------------------------------- // 函数名称: I2C_WaitACK // 功能描述: I2C等待应答 // 输入参数: 无 // 返回参数: 有应答:true 无应答:false // 修改记录: // 2009-02-17, PiaoHong 创建函数 //--------------------------------------------------------------- bool I2C_WaitACK(void) //I2C_ACK ANSWER SIGNAL { data uint8 loops = 0; bool ACK = 1; SCL_Low(); SDA_High(); SCL_High(); // SDA_IN; do { ACK = I2C_SDA; }while ((ACK) (++loops)); // SCL_Low(); return(!ACK); } //-------------------------------------------------------------- // 函数名称: I2C_Stop // 功能描述: I2C停止位 // 输入参数: 无 // 返回参数: 无 // 修改记录: // 2008-11-15, PiaoHong 创建函数 //--------------------------------------------------------------- void I2C_Stop(void) { SCL_Low(); SDA_Low(); SCL_High();

文档评论(0)

1045141460 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档