资源描述:
《msp430f169的i2c实际应用》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、MSP430F169的i2c实际应用【原创】MSP430F169的i2c实际应用--------------------------------------------------------------------------------MSP430F169的i2c程序(仅供参考)/*************************************************************文件名:msp430f169i2c.c*整体描述:MSP430F169单片机硬件IIC软件,字节方式,主方式*IIC接口:P3.3=SCL,P3.1=SDA;(开漏输出)*相应寄存器:地址寄
2、存器I2COA用于存放自身从地址(从方式时才有用)*地址寄存器I2CSA用于存放外围的从机地址(主方式时才有用)*控制寄存器U0CTL硬件I2C的设置、使能、模式等。发送控制寄存器I2CTCTL*数据控制寄存器I2CDCTL指示I2C总线的状态**U0CTL--RXDMAEN,TXDMAEN,I2C,XA,LISREN,SYNC,MST,I2CEN*00100111(0x17)*I2CTCTL--I2CWORD,I2CRM,I2CSSEL1,I2XSSEL0,I2CTRX,I2CSTB,I2CSTP,I2CSTT*0110*0***I2C从机AT24C512,注意从机读写地址的定义:(MSB
3、)10100A1A0R/W(LSB)*作者:jy*状态:通过************************************************************/#include#include"fpgacode.h"#defineWR24C512#defineSDA_1P3OUT
4、=BIT1//串行数据线,SDA=1#defineSDA_0P3OUT&=~BIT1//SDA=0#defineSCL_1P3OUT
5、=BIT3//串行时钟线,SCL=1#defineSCL_0P3OUT&=~BIT3//SCL=0#defineSDADIR_INP
6、3DIR&=~BIT1//SDA,I/O口为输入#defineSDADIR_OUTP3DIR
7、=BIT1//I/0口为输出#defineSDA_IN((P3IN>>1)&0x01)//ReadSDA#defineSCLDIR_INP3DIR&=~BIT3//SCL,I/O口为输入#defineSCLDIR_OUTP3DIR
8、=BIT3//I/0口为输出#defineSCL_IN((P3IN>>3)&0x01)//ReadSCL#ifdefWR24C512staticintnumi=0;//DataPointer#elsestaticintnumj=0;//DataPointer#endif#
9、defineI2CSLA0x50/*----------------------------------------------------------功能描述:检查总线是否空闲--子程序状况:09-23调试通过------------------------------------------------------------*/voidI2c_Idle_Check(void){while(I2CBUSY&I2CDCTL);//I2Cready?在空闲状态:0,空闲;1:忙}/*-------------------------------------------------------
10、---功能描述:延时------------------------------------------------------------*/voidDelayTime10us(unsignedcharn){unsignedchari;while(n--)//5cyclesfor(i=0;i<10;i++);//8mhz110:771+4towhile}/*-----------------------------------------------------------功能描述:发送数据:用于向总线发送数据--子程序状况:09-23调试通过-----------------------
11、--------------------------------------*/voidI2cBusSendByte(unsignedcharc){while((I2CIFG&TXRDYIFG)!=TXRDYIFG);//检测发送准备I2CDRB=c;//写发送寄存器}/*------------------MSP430I2C写数据09-23调试通过---------------------*//*-----