打印
[LPC]

NXP LPC1768宝马开发板 第十四章IIC---- EEPROM

[复制链接]
2302|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 szopenmcu 于 2015-2-3 10:48 编辑

第十四章  宝马1768——IIC---- EEPROM
开发环境:集成开发环境μVision4 IDE版本4.60.0.0
主机系统:Microsoft Windows XP
开发平台:旺宝NXP LPC1768开发板


14.1 EEPROM
14.2 硬件描述
14.3 程序说明
14.4  实验现象

1EEPROM
   I2C总线是有飞利浦开发的两线制串行总线接口,现在被广泛地应用在很多单片机和其它芯片上,比如我们很熟悉的EEPROM存储芯片AT24CxxMMA7455加速度传感器、pcf85563 RTC实时时钟芯片等都可以用I2C总线对其进行控制。
     LPC1768上集成了I2C0/1/2三个I2C接口。
2、硬件描述:
               宝马1768开发板EEPROM硬件连接图
3、程序说明:
LPC1768PIN25PIN24有三个功能。一个是GPIO引脚P0.27P0.28;一个是USB_SDA,USB_SCL作外部OTG收发器;还有一个就是I2C通信用的SDASCL。我们要选择这个引脚作为什么功能,就需要用到引脚功能选择寄存器PINSEL1
选择合适的I2C总线速率和占空比;
   软件必须通过对I2SCLHI2SCLL寄存器进行设置来选择合适的总线速率和占空比。I2SCLH定义SCL高电平所保持的PCLK_I2C周期数,I2SCLL定义SCL低电平的PCLK_I2C周期数。位频率由下面的公式得出
PCLK_I2C是外围总线APB的频率):
      
因为我们要求在一定的PCLK_I2C时钟频率和I2C总线速率下通信,由此可得I2SCLHI2SCLL之和。假如PCLK_I2C50MHzI2C总线速率是100k
I2SCLHI2SCLL之和为500。在标准模式下,I2SCLHI2SCLL的值可以相同。
#define I2SCLH_SCLH                0x000000FA  // I2C SCL Duty Cycle High Reg
#define I2SCLL_SCLL                0x000000FA // I2C SCL Duty Cycle Low Reg
                                                                                  // 50MHz下传输速率大概是100k
    以上程序是在i2c.c文件中定义的,限于篇幅,我们不一一贴出来。要实现读写AT24C02,要根据AT24C02的读写时序写好读写函数,读者可打开i2c.c文件浏览。
主函数实现原理:
    向AT24C020x00地址写入8个数据,然后再从该地址读出来,以验证是否能正确读写数据。
4、实验现象:
    程序编译无误后,即可进入Debug模式来验证我们写进去的数据和读出来的数据是否一致。

【14】宝马1768_EEPROM(2014.05.10).rar (79.82 KB)




相关帖子

沙发
zwwoshi| | 2016-3-16 14:15 | 只看该作者
谢谢分享

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:专业生产销售STM32开发板,仿真器,http://openmcu.taobao.com/

71

主题

283

帖子

11

粉丝