Autor Tema: lectura i escritura de EEPROM 24LC128 CON PIC 18F4550  (Leído 1860 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado nochez

  • PIC10
  • *
  • Mensajes: 1
lectura i escritura de EEPROM 24LC128 CON PIC 18F4550
« en: 07 de Abril de 2009, 09:49:23 »
Hola buenos días!

Tengo un problemilla que no soi capaz de deszifrar con la lectura de las posiciones de memoria de una EEPROM 24LC128. Cuando leo la memoria me muestra por
hiper terminal 1028, siempre..... no se xq da siempre este valor puesto que estoi grabando nuemeros del 0 al 15.

el codigo es elsiguiente:

DEFINE RESET_ORG 800H
DEFINE INTERRUPT_ORG 808H
DEFINE OSC 48         
DEFINE LOADER_USED 1
DEFINE ADC_BITS 10           'numero de bits del resultado         
DEFINE ADC_CLOCK 3           
DEFINE ADC_SAMPLEUS 50      '50 milisegunods de muestreo
include "modedefs.bas"
DEFINE SER2_BITS 8 ' Set Serin2 and Serout2 data bits to 8 (default)
DEFINE I2C_SLOW 1

PRESION VAR word
NUMERO VAR BYTE
AD var word
i var byte
CONTROL VAR BYTE
ADRES VAR word
LECTURA VAR WORD


SDA VAR PORTB.2
SCL VAR PORTB.3


    ADCON0 = %00001111      'entrada analogica An3 activar on bit del convertidor.
    ADCON1 = %00011011      'VREF AN3 I VSS i ANO-3 entradas analogicas.
    ADCON2.7 = 1            'justificado a la derecha         
    ADCON0.0 = 1            'converter an0 module is powered up
   
    TRISA = %11111111       'puerto A como entrada y el pin 3 entrada, clock
    TRISB = %00000000      'portB como salida
    TRISD = %00000000


ADRES = 0

INICIO:
       
   
   
   serout2 PORTD.0,84,["INICIO PRUEBA"]
   
   FOR I=0 TO 15
'        adcin 3, ad
'        PRESION = AD + (5242**AD)+106
        adres  = 0
        presion = 0
        CONTROL = %10100000
        I2CWRITE SDA,SCL,CONTROL,ADRES,[PRESION]
        PAUSE 10
        ADRES = ADRES + 1
        presion = presion + 1
    NEXT I
   
    FOR I=0 TO 15
        adres = 0
        CONTROL = %10100001
        I2CREAD SDA,SCL,CONTROL,ADRES,[LECTURA.byte0]
        pause 10
        SEROUT2 PORTD.0,84,[dec LECTURA]
        adres = adres + 1
    NEXT I
   
   
   
'    serout2 PORTD.0,813, [presion.byte1]
'    pause 5
'    serout2 PORTD.0,813, [presion.byte0]
'    pause 100
'goto INICIO
   
end


LA SALIDA POR HIPERTERMINAL ES LA SIGUIENTE:

INICIO PRUEBA1028102810281028102810281028102810281028102810281028102810281028INI
CIO PRUEBA1028102810281028102810281028102810281028102810281028102810281028INICIO
%=‚IU1 1028102810281028102810281028102810281028102810281028102810281028INICIO
PRUEBA1028102810281028102810281028102810281028102810281028102810281028INICIO PRU
EBA1028102810281028102810281028102810281028102810281028102810281028INICIO PRUEBA
1028102810281028102810281028102810281028102810281028102810281028


alguien m podria hechar una mano??¿ m estoi volviendo loco xDDD xq no leo los digitos de gravo en el primer for???

gracias de antemano!!


 

anything