欢迎来到天天文库
浏览记录
ID:52956573
大小:600.65 KB
页数:14页
时间:2020-04-03
《AN1113 使用C语言和硬件模块实现8051MCU与IIC串行EEPRO.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、AN1113使用C语言和硬件模块实现8051MCU与I2C™串行EEPROM的接口随此应用笔记提供了相应的源代码,可帮助用户以最小作者:AlexandruValeanu的工作量实现协议。MicrochipTechnologyInc.2图1给出了Microchip24XXX系列IC串行EEPROM与基于8051的NXPP89LPC952MCU之间接口的硬件原理图。该原理图给出了MCU和所测试串行简介EEPROM之间的必要连接,以及时钟线(SCL)和数据线(SDA)上所需的上拉电阻。本应用笔记未介绍写MicrochipTechnology的24XXX系列串行EEPROM支保护功能和
2、多个器件的级联;因此,WP引脚以及地址持双向2线总线和数据传输协议。总线由单片机(主器引脚A0、A1和A2连接到VSS(地)。测试软件是在件)控制,该单片机可产生串行时钟(SCL)、控制总线假定采用这些连接的情况下编写的。访问并产生启动和停止条件,而24XXX串行EEPROM作为从器件工作。24XXX串行EEPROM兼容I2C™,最大时钟频率范围为100kHz至1MHz。24XXX串行EEPROM的主要特性有:•2线串行接口总线,兼容I2C•EEPROM容量为128位至512Kb•总线速度为100kHz至1MHz•电压范围为1.7V至5.5V•低功耗运行•温度范围从-40°C到
3、+125°C•可耐受超过100万次擦/写•同一总线上可连接高达8个器件图1:P89LPC952MCU和24XXX系列I2C串行EEPROM接口电路Vcc24XX512A018Vcc4.7kΩA127WPP1.3INT0/SDA7A236SCLP1.2T0/SCL8P89LPC952Vss45SDA注:应采用去耦电容(通常采用0.1µF)来滤除VCC上的噪声。2011MicrochipTechnologyInc.DS01113B_CN第1页AN1113固件说明I2C™函数当MCU访问I2C串行EEPROM时,MCU始终为I2C主函数总线上的主器件,I2C串行EEPROM为从器
4、件。MCU控制总线上的所有操作。每个操作都由MCU通过一个固件用来说明如何使用单片机上的双向SDA引脚产生2启动条件后跟一个控制字节来启动。控制字节包含控制特定的IC总线事务。本文的重点是帮助设计人员透彻代码(前4位)、器件地址(接下来3位)和读/写理解如何与24XXX系列串行EEPROM进行通信,为(R/W)位。对于被访问的串行EEPROM来说,控制将来编写更复杂的程序打下基础。固件适用于NXP®代码始终是相同的,而器件地址可在000至111之间的P89LPC952MCU,在Keil™µVision3IDE下使用变化,这样最多可在同一总线上连接8个不同的器件。C语言编写,并在
5、KeilMCB950评估板上开发。R/W位告知串行EEPROM要执行哪种操作。主代码展示了两种不同的访问I2C串行EEPROM的方开始访问I2C串行EEPROM时,MCU应将器件地址和法:字节访问和页访问。字节方法访问单个字节,其中字节地址写入I2C串行EEPROM;因此,每个访问周每个数据字节之前都有三个地址字节:器件地址、MSB期都从写条件开始。对于读操作,在完成以上操作后,地址和LSB地址。在页访问方法中,MCU发送第一个2通过一个重复启动条件使MCU从发送模式切换到接收字节的地址,IC串行EEPROM在内部会递增地址指模式且串行EEPROM从接收模式切换到发送模式。针,
6、以指向下一个数据字节。代码已使用24XX512串行EEPROM进行测试。该字节写操作EEPROM的存储容量为64Kx8(512Kb),每页最图2给出了构成字节写操作的必要组成部分。每个MCU多可写入128字节的数据。本应用笔记中给出了示波2的操作均由IC串行EEPROM在时钟的第9位通过下器屏幕截图。所有时序均基于MCU的内部RC振荡拉SDA数据线进行应答(ACK);因此,每个字节传器(7.373MHz)。如果使用更快的时钟,则必须修改代输均持续9个时钟周期。码,以产生正确的延时。这些示例中的总线速度约为75kHz。图2:字节写操作控制字节/总线活动启停MCU动器件地址MSB地
7、址字节LSB地址字节数据字节止SDA线S1010AAA0210P总线活动AAAACCCCKKKKDS01113B_CN第2页2011MicrochipTechnologyInc.AN1113字节读操作图3给出了构成字节读操作的必要组成部分。第二个启动条件指示I2C串行EEPROM向I2C总线发送数据。SCL时钟线为高电平时,SDA线必须保持稳定。SCL线为高电平时,SDA线的任何变化都会被I2C串行EEPROM视为启动或停止条件。图3:字节读操作总线活动启控制字节/MSB地址LSB地址启控
此文档下载收益归作者所有