




已阅读5页,还剩24页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
程序和流程图IICHVOIDINIT_IICVOIDVOIDEEPROM_BYTEWRITEUNSIGNEDCHARNADDR,UNSIGNEDCHARNVALUNSIGNEDCHAREEPROM_RANDOMREADUNSIGNEDCHARNADDRUNSIGNEDCHAREEPROM_CURRENTADDRESSREADVOIDVOIDEEPROM_ACKPOLLINGVOIDVOIDINIT_CLKVOIDVOIDINIT_IIC_PORTVOIDMAINC/IICFORAT24C16ORAT24CXXX系列只要控制好IICRMIICSTPIICSTT其硬件会自动完成SCLSDA的一系列时序只要注意各个发送与接收的控制标志位/INCLUDEINCLUDE“IICH“VOLATILEUNSIGNEDCHARDATA6VOIDMAINVOID/VOLATILEUNSIGNEDCHARDATA6/停止看门狗WDTCTLWDTPWWDTHOLD/初始化端口INIT_IIC_PORT/初始化时钟INIT_CLK/I2C初始化INIT_IIC/置传输方式及控制方式/打开中断_EINT/写入数据EEPROM_BYTEWRITE0X0000,0X12/等待写操作完成EEPROM_ACKPOLLING/写入数据EEPROM_BYTEWRITE0X0001,0X34/等待写操作完成EEPROM_ACKPOLLING/写入数据EEPROM_BYTEWRITE0X0002,0X56/等待写操作完成EEPROM_ACKPOLLING/写入数据EEPROM_BYTEWRITE0X0003,0X78/等待写操作完成EEPROM_ACKPOLLING/写入数据EEPROM_BYTEWRITE0X0004,0X9A/等待写操作完成EEPROM_ACKPOLLING/写入数据EEPROM_BYTEWRITE0X0005,0XBC/等待写操作完成EEPROM_ACKPOLLING/读出数据,随机读DATA0EEPROM_RANDOMREAD0X0000/地址自动加1/读出数据,当前地址读DATA1EEPROM_CURRENTADDRESSREAD/读出数据,当前地址读DATA2EEPROM_CURRENTADDRESSREAD/读出数据,当前地址读DATA3EEPROM_CURRENTADDRESSREAD/读出数据,当前地址读DATA4EEPROM_CURRENTADDRESSREAD/读出数据,当前地址读DATA5EEPROM_CURRENTADDRESSREADIICCINCLUDEINCLUDE“IICH“DEFINESLAVEADDR0X50INTTX_COUNTINTRX_COUNTUNSIGNEDCHARI2CBUFFER3VOIDINIT_IICVOID/将P31和P33设置为I2C管脚P3SEL0X0A/设置P31和P33管脚的方向P3DIR/选择为I2C模式U0CTL|I2CSYNC/禁止I2C模块U0CTL/设置I2C为7位地址模式,不使用DMA,/字节模式,时钟源为SMCLK,/设置成传输模式I2CTCTLI2CTRXI2CSSEL_2/定义从器件地址I2CSASLAVEADDR/设置本身的地址I2COA0X01A5/I2C时钟为SMCLK/160I2CPSC159/SCL高电平为5I2C时钟I2CSCLH0X03/SCL低电平为5I2C时钟I2CSCLL0X03/I2C模块有效U0CTL|I2CENTX_COUNT0RX_COUNT0VOIDI2CWRITEINITVOID/对于AT24CXXX的写操作是置成主模式并置位中断使能/主MASTER模式U0CTL|MST/传输模式,R/W为0I2CTCTL|I2CTRX/清除中断标志I2CIFG/发送中断使能I2CIETXRDYIEVOIDI2CREADINITVOID/接收模式,R/W为1I2CTCTL/接收中断使能I2CIERXRDYIEVOIDEEPROM_BYTEWRITEUNSIGNEDCHARNADDR,UNSIGNEDCHARNVAL/等待I2C模块完成所有操作/在选定的地址写入数据WHILEI2CDCTL/设置地址数据I2CBUFFER1NADDR/设置数据I2CBUFFER0NVAL/设置缓冲区指针TX_COUNT1/写数据初始化I2CWRITEINIT/设置为主模式/发送数据的长度/1个控制字节,2个数据字节I2CNDAT2/开始和停止条件产生/开始I2C通信I2CTCTL|I2CSTTI2CSTPRETURNUNSIGNEDCHAREEPROM_CURRENTADDRESSREADVOID/等待I2C模块完成所有操作WHILEI2CDCTL/读操作的初始化I2CREADINIT/主MASTER模式U0CTL|MST/接收1个字节的数据I2CNDAT1/清除中断标志I2CIFG/开始接收,产生重新起始和停止条件I2CTCTL|I2CSTTI2CSTP/等待传输完成WHILEI2CIFG/返回数据RETURNI2CBUFFER0UNSIGNEDCHAREEPROM_RANDOMREADUNSIGNEDCHARNADDR/等待I2C模块完成所有操作WHILEI2CDCTL/设置地址I2CBUFFER0NADDR/设置缓冲区指针TX_COUNT0/写操作初始化I2CWRITEINIT/传输数据长度/1个控制字节和一个地址数据I2CNDAT1/清除中断标志I2CIFG/起始条件产生I2CTCTL|I2CSTT/等待传输完成WHILEI2CIFG/读操作初始化I2CREADINIT/接收一个字节的数据I2CNDAT1/清除中断标志I2CIFG/开始接收,产生重新起始和停止条件I2CTCTL|I2CSTTI2CSTP/等待传输完成WHILEI2CIFG/返回数据RETURNI2CBUFFER0VOIDEEPROM_ACKPOLLINGVOIDUNSIGNEDINTCOUNT/等待I2C模块完成所有操作WHILEI2CDCTLCOUNT0/清除I2CEN位U0CTLI2CTCTL|I2CRM/使能I2C模块U0CTL|I2CEN/设置NACKIFG标志I2CIFGNACKIFGWHILENACKIFG/主MASTER模式U0CTL|MST/设置传输模式I2CTCTL|I2CTRX/产生起始条件I2CTCTL|I2CSTT/等待I2CSTT被清除WHILEI2CTCTL/产生停止条件I2CTCTL|I2CSTP/等待停止条件复位WHILEI2CDCTLCOUNTCOUNT1/清除I2CEN位U0CTLI2CTCTL/使能I2CU0CTL|I2CENRETURNIF_VER_0IWHILEIFG1/如果OSCFAULT1/OPENXT2,LFTX2选择低频率BCSCTL1/BCSCTL10X00功能一样/DCORSEL7FREQ3200K/25摄氏度)BCSCTL1|RSEL0RSEL1RSEL2BCSCTL1|0X07/MCLK的时钟源为TX2CLK,分频因子为1BCSCTL2SELM1/SMCLK的时钟源为TX2CLK,分频因子为1BCSCTL2SELS/对于系统时钟的选择关系到整个程序运行稳定性/文件名MSP430F169I2CC整体描述MSP430F169单片机硬件IIC软件,字节方式,主方式IIC接口P33SCL,P31SDA开漏输出相应寄存器地址寄存器I2COA用于存放自身从地址从方式时才有用地址寄存器I2CSA用于存放外围的从机地址主方式时才有用控制寄存器U0CTL硬件I2C的设置、使能、模式等。发送控制寄存器I2CTCTL数据控制寄存器I2CDCTL指示I2C总线的状态U0CTLRXDMAEN,TXDMAEN,I2C,XA,LISREN,SYNC,MST,I2CEN001001110X17I2CTCTLI2CWORD,I2CRM,I2CSSEL1,I2XSSEL0,I2CTRX,I2CSTB,I2CSTP,I2CSTT01100作者JY状态通过/INCLUDEINCLUDE“FPGACODEH“DEFINEWR24C512DEFINELED1_10X20/PORT35OUTPUTLED1/DEFINELED1_00XDFDEFINESDA_1P3OUT|BIT1/串行数据线,SDA1DEFINESDA_0P3OUT/DATAPOINTERELSESTATICINTNUMJ0/DATAPOINTERENDIFDEFINEI2CSLA0X50/功能描述检查总线是否空闲子程序状况0923调试通过/VOIDI2C_IDLE_CHECKVOIDWHILEI2CBUSY/I2CREADY在空闲状态0,空闲;1忙VOIDDELAYTIME10USUNSIGNEDCHARNUNSIGNEDCHARIWHILEN/5CYCLESFORI0I256字节模式,NEWSTART测试使用/选择方式I2CRM0,最终用户使用I2CTCTLI2CSSEL_2I2CNDAT2NDATNUM/最终用户使用,2BYTE地址128BYTE数据I2CPSC2/SETSCLI2CIFG0I2CSA0X50/SLAVEADDRESSOFAT24C512U0CTL|I2CEN/ENABLEI2CMODULE,7BITADDR,MASTERMODE0826U0CTL|MSTWHILEI2CBUSY/I2CREADY在空闲状态0,空闲;1忙I2CTCTL|I2CTRXI2CSTTI2CSTP/I2CRM0,启动总线,发送从器件地址WHILEI2CIFG/ACK为低电平,等待地址应答位,判断无应答NACKIFG1/子程标号I2CWRSLASUBADDR子程功能主机发送从机的子地址入口参数UNSIGNEDCHARSLA,UNSIGNEDINTSUBA参数说明子地址子程序状况0923调试通过说明完成地址信息的定位,先确定顺序读写的起始地址/UNSIGNEDCHARI2CSENDSUBADDRUNSIGNEDINTSUBA,UNSIGNEDCHARNDATNUMUNSIGNEDCHARHI_SUBA,LO_SUBAI2C_SENDNDATNUM/启动总线,等待地址应答位HI_SUBAUNSIGNEDCHARSUBA8LO_SUBAUNSIGNEDCHARSUBAI2CBUSSENDBYTEHI_SUBA/发送器件子地址WHILEI2CIFG/无应答,结束总线RETURN0I2CBUSSENDBYTELO_SUBA/发送器件子地址WHILEI2CIFG/无应答,结束总线RETURN0RETURN1/子程标号I2CWRITESTR(用户函数)子程功能向I2C从器件写入数据入口参数UNSIGNEDCHARPS,UNSIGNEDCHARNUM参数说明写入数据的地址指针,数据个数子程序状况0923调试通过说明I2C读取数据/UNSIGNEDCHARI2CSENDSTRCONSTUNSIGNEDCHARPS,UNSIGNEDCHARNUM/UNSIGNEDCHARIUNSIGNEDCHARTEMPNUMTEMPNUMNUM1FORNUMI0NUMI8LO_SUBAUNSIGNEDCHARSUBAWHILEI2CBUSY/I2CREADY在空闲状态0,空闲;1忙I2CTCTL|I2CTRXI2CSTTI2CSTP/I2CRM0,启动总线,发送从器件地址WHILEI2CIFG/结束总线I2CBUSSENDBYTEHI_SUBA/发送器件子地址WHILEI2CIFG/结束总线I2CBUSSENDBYTELO_SUBA/发送器件子地址WHILEI2CIFG/结束总线DELAYTIME10US250DELAYTIME10US250DELAYTIME10US250DELAYTIME10US250/子程标号I2CSLASUBADDR子程功能主器件接收初始化入口参数无子程序状况说明/VOIDINITI2CRECEUNSIGNEDCHARNUMP3OUT0X00/CLEARP3OUTPUTREGISTERP3SEL0X0A/P31SDA,P33SCL,SELECTI2CPINS,SETUPI2CMODULEU0CTL|I2CSYNC/SELECTI2CMODEXA0,7BIT_ADDRESINGU0CTL/I2C功能使能无效/I2CTCTLI2CRMI2CSSEL_2/I2CRM1XX256字节模式I2CTCTLI2CSSEL_2/I2CRM0I2CNDATNUM/1个字节I2CPSC1/SETSCL/I2CSCLH0X01/HIGHPERIODOFSCL/I2CSCLL0X01/LOWPERIODOFSCLI2CIFG0I2CSA0X50/SLAVEADDRESSOFAT24C512I2CTCTLU0CTL|I2CEN/ENABLEI2CMODULE,7BITADDR,MASTERMODE0826/功能描述读一个字节子程序状况/UNSIGNEDCHARI2CRECESLABYTEVOIDUNSIGNEDCHARCHDELAYTIME10US15U0CTL|MST/主模式WHILEI2CBUSY/I2CREADY在空闲状态0,空闲;1忙I2CTCTL|I2CSTTI2C
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 可再生氢源制备技术-洞察及研究
- 2025-2030隐私计算技术商业化分析及数据要素流通与金融科技合规投资价值报告
- 2025-2030营养保健品消费趋势与渠道变革分析报告
- 坚果会员制度创新创业项目商业计划书
- 智慧养老健康数据共享平台创新创业项目商业计划书
- 水果绿色供应链管理创新创业项目商业计划书
- 水果酱制作创新创业项目商业计划书
- 岳阳安全员c证考试题库及答案解析
- 证券从业考试 题目及答案解析
- 电气安全知识培训试题库及答案解析
- 物业管理供方管理程序
- GB/T 37642-2019聚己内酯(PCL)
- GB/T 3730.2-1996道路车辆质量词汇和代码
- GB 25585-2010食品安全国家标准食品添加剂氯化钾
- 国防科技大学介绍
- 设计文件审核记录表(模本)
- 机电一体化设计
- (中职中专)财经法规与会计职业道德课件完整版电子教案
- 牛津深圳版九年级上册Module 1 Geniuses Unit1 Wise Man in History话题作文期末复习
- 电能表生产流程
- 心电图机操作(课堂PPT)
评论
0/150
提交评论