Página 1 de 1

EEPROM 24LC256

MensagemEnviado: 31 Ago 2008 08:05
por welltom
Oí pessoal,
Preciso da ajuda dos colegas, estou estudando o memorias eeproms
e estou tentando gravar eleatoriamente, em algumas locações da memoria
(posição), usando o programinha exemplo listado abaixo (em mikroBasic),
no simulador isis do proteus funciona perfeitamente, agora gostaria de gavar
e ler a os endereços da memoria toda ( de 0 a 32768), alguem pode me
ajudar modificando o programas abaixo, ou dando alguns exemplo, para
que possa aprender, (Obs: pode ser em Basic ou linguagem C), pode ser
de outra eeprom que tenha endereçamento de 16 bits.
Att.
Anselmo

Re: EEPROM 24LC256

MensagemEnviado: 31 Ago 2008 16:46
por jvanderleym
welltom escreveu:Oí pessoal,
Preciso da ajuda dos colegas, estou estudando o memorias eeproms
e estou tentando gravar eleatoriamente, em algumas locações da memoria
(posição), usando o programinha exemplo listado abaixo (em mikroBasic),
no simulador isis do proteus funciona perfeitamente, agora gostaria de gavar
e ler a os endereços da memoria toda ( de 0 a 32768), alguem pode me
ajudar modificando o programas abaixo, ou dando alguns exemplo, para
que possa aprender, (Obs: pode ser em Basic ou linguagem C), pode ser
de outra eeprom que tenha endereçamento de 16 bits.
Att.
Anselmo


Boa tarde, Anselmo.
Não veio o codigo. Envia ele que vamos tentar juntos resolver este problema, pois estou também estudando agora memorias I2C.

EEPROM 24LC256

MensagemEnviado: 31 Ago 2008 20:27
por welltom
Desculpe a falha, ai está o código:


program EE_24LC256_877
' USANDO O PIC16877A (PINOS C2,C4) COM RESISTORES 4K7 AO VCC
' ENDEREÇO DO CHIP = O (A0,A1,A2 A MASSA)
' RESULTADOS SÃO MOSTRADOS NA PORTAD (8 LEDS)
' EEPROM 24LC256
' ENDEREÇO HEX: 0 Á 8000
' ENDEREÇO DEC: 0 Á 32768
' ENDEREÇO BIN: 0000 0000 0000 0000 Á 1000 0000 0000 0000

dim ee_dadoe,ee_dadow,ee_dador as byte
dim ee_end as word
ee_end = 200
ee_dadow = %11000011
trisd = 0
I2C_Init(100000)
main:
Repete:
I2C_Start()
I2C_Wr($A0)
I2C_Wr(Hi(ee_end))
I2C_Wr(Lo(ee_end))
I2C_Wr(ee_dadow)
I2C_Stop()

DELAY_MS(10)

I2C_Start()
I2C_Wr($A0)
I2C_Wr(Hi(ee_end))
I2C_Wr(Lo(ee_end))
I2C_Repeated_Start
I2C_Wr($A1)
ee_dador = I2C_Rd(1)
I2C_Stop

portd = 0
Portd = ee_dador
delay_ms(2000)
portd = 255
goto repete

end.

Wellington
w-anselmo@bol.com.br