本帖最后由 zl2168 于 2018-2-26 23:02 编辑
实例50 非零地址读写AT24C02
上节已提到AT24Cxx页写缓冲的特性,需要补充说明的是,一次写入AT24Cxx字节数不但不能超过芯片页写缓冲器容量,而且,若不是从页写缓冲器页内零地址0000写起,一次写入地址不能超出页内最大地址1111。例如,若从页内地址0000写起,一次最多可写16字节;若从页内地址0010写起,一次最多只能写16-2=14字节。若要写16字节,超出页内地址1111,将会引起地址翻卷,导致出错。因此,本例16字节从AT24C02 5BH开始写起,须分两次写入。第1次写0x5b~0x5f单元,第2次写0x60~0x62单元,中间还必须有页写延时。
先Proteus仿真一下,确认有效。以上摘自张志良编著《80C51单片机仿真设计实例教程——基于Keil C和Proteus》清华大学出版社ISBN 978-7-302-41682-1,内有常用的单片机应用100案例,用于仿真实验操作,电路与程序真实可靠可信可行。书中电路和程序设计有详细说明,程序语句条条有注解。仿真电路和Hex文件能在清华出版社网站免费下载,程序源代码只能到书上看了。到图书馆借,或到新华书店翻阅,或到网上书店打折购买。
|