㈠ 51单片机扩展外部数据存储器24c64,怎样用c语言实现对其操作
按24的手册,给出正确的时序就可以读写了。
一般用51的IO直接模拟I2C总线就可以了,记得在读写时,尽量关闭中断,防止干扰。
㈡ 怎么将储存在24C64里面的东西读出来
使用单片机I2C通讯方式。
1引脚。
图1是24AA00/24LC00/24C00型128位I2C总线串行E2PROM的引脚图。
; 【图1】AT24C01/02
; ┏━┓┏━┓
;片选0 A0 ┫1 ┗┛ 8┣ Vcc 电源5V
;片选1 A1 ┫2 7┣ WP 写保护
;片选1 A2 ┫3 6┣ SCL 同步时钟
;地 Vss ┫4 5┣ SDA 串行数据
; ┗━━━━┛
SDA 是串行数据脚。该脚为双向脚,漏极开路,用于地址、数据的输入和数据的输出,使用时需加上拉电阻。
SCL 是时钟脚。该脚为器件数据传输的同步时钟信号。
SDA 和 SCL 脚均为施密特触发输入,并有滤波电路,可有效抑制噪声尖峰信号,保证在总线噪声严重时器件仍能正常工作。
在单片机系统中,总线受单片机控制。单片机产生串行时钟( SCL ),控制总线的存取,发送STRAT和 STOP 信号。
㈢ 单片机I2C ST 24C64总共有多少页每页是多少个字节
EEPROM 24C64是I2C总线,有65536个位,256页,每页32字节,地址为13位。
㈣ 我用单片机普通IO口往24c64存储器里面写字节,如果没有收到应答,可以重复发送数据字节指令码
一般不会不给应答的,如果没收到应答,那你程序该设计下,重发或者跳过此次发送(由用户自己定义!)
㈤ c51单片机 移位操作 以下是24c64存储芯片的一段代码 请问执行0x80 & ACC后 acc 会自动带进位左移
SDA = 0x80 & ACC;
这不是移位运算,这是按位与运算;
0x80 =0B10000000 这意思知道吧?
你的运算结果是这样的:
如果ACC最高位是1,则SDA=0B10000000
否则SDA=0B00000000;
移位运算应该这样:
SDA = ACC<<1;
ACC左移一位,结果存在SDA中;
㈥ rc64v可以用24c64读出来的数据0怎么回事
使用单片机I2C通讯方式。
1引脚。
图1是24AA00/24LC00/24C00型128位I2C总线串行E2PROM的引脚图。
; 【图1】AT24C01/02
; ┏━┓┏━┓
;片选0 A0 ┫1 ┗┛ 8┣ Vcc 电源5V
;片选1 A1 ┫2 7┣ WP 写保护
;片选1 A2 ┫3 6┣ SCL 同步时钟
;地 Vss ┫4 5┣ SDA 串行数据
; ┗━━━━┛
SDA 是串行数据脚。该脚为双向脚,漏极开路,用于地址、数据的输入和数据的输出,使用时需加上拉电阻。
SCL 是时钟脚。该脚为器件数据传输的同步时钟信号。
SDA 和 SCL 脚均为施密特触发输入,并有滤波电路,可有效抑制噪声尖峰信号,保证在总线噪声严重时器件仍能正常工作。
在单片机系统中,总线受单片机控制。单片机产生串行时钟( SCL ),控制总线的存取害粻愤救莅嚼缝楔俯盲,发送STRAT和 STOP 信号。
㈦ 我用24c64的EEPROM给单片机扩展的片外存储空间,我已经调试通过了,但是有时又会出问题
24c64一个不稳定还有可能,如果换了还是那样,问题应该还是出在你的程序上。仔细看看吧,读写时序,除了START&STOP ,IO口的输入输出及状态改变必须都是在CLK为低时。
㈧ 小弟求 24c64的程序,汇编的,那位先生可以指教阿,小弟先谢谢了
4.串行E2PROM读写程序
24C64为I2C总线的E2PROM。SCL为400kHz时钟线,SDA为双向数据线,A2、A1、A0三位为片选地址,即I2C总线上最多可并联8个串行E2PROM芯片。对E2PROM的操作方式由读写控制命令字决定,如图4所示。其中"1010"为4位读写控制码,R/W为读写控制位:"0"为写操作,"1"为读操作。所以结合图1可知A2H为写控制命令字,A3H为读控制命令字。
对存储器写操作,首先,单片机向24C64发一个START命令,产生开始条件。然后,发写命令控制字(如A2H)。当24C64接到命令后,进入一个写周期,再由单片机发送存储地址,即确定数据写入到存储器的哪个地址,随后,单片机将要存储的数据送入到SDA数据线上。写周期结束时,单片机再发一停止位(STOP)。
对存储器读操作,首先,单片机向24C64发一个START命令,产生开始条件。然后发写命令控制字(如A2H)。当24C64接到命令后,进入一个写周期,再由单片机发送存储地址。存储地址发送成功后,单片机又向24C64发一个START命令,产生开始条件,然后发读命令控制字(A3H)。当24C64接到命令后,进入一个读周期,单片机从SDA数据线上读出指定存储地址中的数据。读周期结束时,单片机再发一停止位(STOP)。(程序略)
值得注意的是,对存储器操作时,每读写一个字节,单片机必须送一个应答位(ACK),释放一下SDA数据线,以便存储器能继续接收数据。
㈨ 24c64子程序的入口参数是什么
mcu_address是指你要传送的数据在单片机中的存放地址,比如一个数组,它就是指这个数组的首地址;at24c64_add是指你传送过来的数据在EEPROM中的存放地址,可以是0x0000~0x0fff中的任意地址;count就是指你传送过去的数据个数。