Codigo:
;Programa para grabar y leer una memoria serial 24LCxx
Define I2C_SCLOUT 1 ;No es necesario resistencia pull-up en SCL
contro CON %10100000 ;contro contiene valor constante %10100000
PinSCL Var Portb.7 ;pin señal de reloj I2C
PinSDA Var Portb.6 ;pin de datos I2C
dato VAR BYTE ;variable para almacenar dato leído
Inicio:
LCDOUT $fe,1," Grabando..." ;limpiar y sacar el texto
PAUSE 1000
I2CWRITE PinSDA,PinSCL,contro,0,["H"] ;guarda la H en posición 0
PAUSE 10 ;pause para la grabación
I2CWRITE PinSDA,PinSCL,contro,1,["O"] ;guarda la O en posición 1
PAUSE 10 ;pause para la grabación
I2CWRITE PinSDA,PinSCL,contro,2,["L"] ;guarda la L en posición 2
PAUSE 10 ;pause para la grabación
I2CWRITE PinSDA,PinSCL,contro,3,["A"] ;guarda la A en posición 3
PAUSE 10 ;pause para la grabación
LCDOUT $fe,1,"Leer memoria" ;limpiar y sacar el texto
PAUSE 1000
LCDOUT $FE,1 ;limpiar pantalla del LCD
leer: ;programa para leer memoria s.
I2CREAD PinSDA,PinSCL,contro,0,[dato] ;leer la mem. 0 y guardar en dato
LCDOUT ,dato ;mostrar dato en el LCD
PAUSE 1000 ;esperar 1 seg.
I2CREAD PinSDA,PinSCL,contro,1,[dato] ;leer la mem. 1 y guardar en dato
LCDOUT ,dato ;mostrar dato en el LCD
PAUSE 1000 ;esperar 1 seg.
I2CREAD PinSDA,PinSCL,contro,2,[dato] ;leer la mem. 2 y guardar en dato
LCDOUT ,dato ;mostrar dato en el LCD
PAUSE 1000 ;esperar 1 seg.
I2CREAD PinSDA,PinSCL,contro,3,[dato] ;leer la mem. 3 y guardar en dato
LCDOUT ,dato ;mostrar dato en el LCD
End
Es de un libro que tengo... SUERTE...!