13 EEPROM存储器13 EEPROM存储器1910_第1页
13 EEPROM存储器13 EEPROM存储器1910_第2页
13 EEPROM存储器13 EEPROM存储器1910_第3页
13 EEPROM存储器13 EEPROM存储器1910_第4页
13 EEPROM存储器13 EEPROM存储器1910_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、,EEPROM存储器,SCL在高电平期间 SDA下降沿表示启动START 上升沿表示停止STOP。,SCL在低电平期间, DATA数据可以改变 SCL在高电平期间: DATA数据不能变, 否则,就变成了启停。,0:W 1:R,地址确定,void x24c02_write(unsigned char address,unsigned char info) I2CStart(); / I2CSendByte(0 xa0); /1010 0000楼栋号为1010 000, 0表示W I2CWaitAck(); / I2CSendByte(address); /楼栋内的宿舍号,根据题目要求写宿舍地址

2、I2CWaitAck(); / I2CSendByte(info); /要写入的数据 I2CWaitAck(); / I2CStop(); / ,启动,写DEVICE ADDRESS 末尾0:WRITE,应答ACK,写宿舍号WORD ADDRESS (即题目指定的地址),应答,数据DATA,应答,停止,uint8_t x24c02_read(uint8_t address) unsigned char val; I2CStart(); / I2CSendByte(0 xa0); / I2CWaitAck(); / I2CSendByte(address); / I2CWaitAck(); /

3、I2CStart(); /,I2CSendByte(0 xa1); / I2CWaitAck(); / val = I2CReceiveByte(); / I2CWaitAck(); / I2CStop(); /11 return(val); ,启动,写DEVICE ADDRESS 末尾0:WRITE,应答,发送楼栋内的宿舍号,应答,重新启动,读芯片(楼栋号)地址,应答,读数据,等待应答(无应答则高电平),11 停止,从EEPROM的0 xff地址读出数据dat,+dat后重新写回0 xff地址, 通过LCD显示0 xff地址存储单元的数据,每次复位后,数值加1。 (1)屏幕初始化: 第1行:

4、 I2C DEMO 第3行: AT24C02 R/W (2)在LCD上继续显示当前数据值。 第6行: ADDR:0 xFF,VAL:* (*表示dat的当前值),注:SCL和SDA的定义必须参考电路图确定。 竞赛现场可能会更改引脚号,一定要注意电路图。,若遇到EEPROM读写程序出错, 那么需要检查i2c.c文档的改动情况, 重点检查三点: (1)端口引脚号必须检查。,SCL线在第9个时钟 DATA线处于低电平,输出,应答,下拉输入,需要注意,在每次执行完读或者写之后需要加一个延时函数(可以延时2ms), 因为MCU内部执行速度太快,而E2PROM外设跟不上内部时钟频率。 例如:下面代码每次读写后均延时2ms: temp = x24c02_read(0 xff); Delay_Ms(2); x24c02_write(0 xff,+temp);

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论