Guarar datos en memoria desde PIC10F200

Iniciado por Riki_89D, 29 Marzo 2011, 22:00 PM

0 Miembros y 2 Visitantes están viendo este tema.

Riki_89D

Okey :D entendio,probare y comentare aver que tal,y perdona por ser tan pesado peor me urge entener esto,saluos y asta pronto ^^

Riki_89D

Hola que tal,bueno probe peo aun no me resulta :(lo que intento hacer es que se guarde el dato "0x01" en la memoria y despues leero de nuevo i ponerlo como segundao parametro de la funcion output_bit(PIN_B0,Dato);

a ese pin hay conectado un LED,deberia prenderse,pero no lo hace :(

#include <16C62B.h>
#fuses XT,WDT
#use delay(clock=4000000,restart_wdt())
#use i2c(Master,Slow,SDA=PIN_C4,SCL=PIN_C3,RESTART_WDT)

int ByteR;

void main()
{
i2c_start();
i2c_write(0b10100110);
i2c_write(0x00);
i2c_write(0x10);
i2c_write(0x01);
delay_ms(5);
i2c_start();
i2c_write(0b10100111);
ByteR = i2c_read(0);
i2c_stop();

output_bit(PIN_B0,ByteR);

}



Tokes

Tienes algunos errores en la programación, aquí está el código corregido:

#include <16C62B.h>
#fuses XT,WDT
#use delay(clock=4000000,restart_wdt())
#use i2c(Master,Slow,SDA=PIN_C4,SCL=PIN_C3,RESTART_WDT)

int ByteR;

void main()
{
//Escribe el dato.
i2c_start();
i2c_write(0b10100110);
i2c_write(0x00);
i2c_write(0x10);
i2c_write(0x01);
i2c_stop();
delay_ms(5);

//Lee el dato.
i2c_start();
i2c_write(0b10100110);
i2c_write(0x00);
i2c_write(0x10);
i2c_start();
i2c_write(0b10100111);
ByteR = i2c_read(0);
i2c_stop();

output_bit(PIN_B0,ByteR);

}


Las líneas A2A1A0=011, es decir, A2 debe estar conectado a tierra; y A1 y A0, a Vcc.

También da doble click sobre la eeprom en Proteus y asegúrate que la casilla Exclude From Simulation esté desactivada.

Es todo. Buen día.

Riki_89D

Hola amigo,acabo de probar tu codigo,pero el LED nose prende :( estoy desepesrado :(

Tokes

Yo también lo probé y el led sí prende. Dale doble click a la eeprom y desactiva la casilla Exclude From Simulation.

También asegúrate de haber colocado las resistencias de pullup en las líneas sda y scl. La terminal WP de la memoria debe dejarse sin conexión.

Reitero: SÍ funciona. No puedo hacer más por tí. Saludos.

Riki_89D

que raro :( la casilla etsa desactivada,el WP  de la eeprom esta si conexion,el cidog es ese,no lo entiendo,ves algun fallo en las conexiones ?¿ por k ya no creo k sea e codigo el problema


circuito actual:




saludos

Tokes

#16
Buen día:

Aquí están los pequeños problemas.



Hasta pronto.