Codigo:
Por cierto, escribiria en la memoria ram del micro o en la EEPROM??
Si te piden que uses el modulo de memoria EEPROM si, si no te piden que uses la memoria EEPROM es mucho mas sencillo usar la memoria del PIC, y usar variables normales.
Codigo:
Ya tengo unas rutinas de como leer datos y escribir en la EEPROM. Pero no se que menú crear para que por ejemplo cuando quiera leer la
TEMP_VENTILACIÓN, tendré que referenciarme a la dirección??, que dirección es??
1º) Te aconsejo que postees esas rutinas, para que veamos exactamente que es lo que hacen y como lo hacen.
2º) Seguramente puedas usar un nombre que tu elijas para referenciar a cada direccion de la EEPROM donde tengas almacenado un dato, para que no sea tan engorroso todo.
A ver, Jorge, en primer lugar creo que sería conveniente que pusieras tus post sólo en un hilo del foro, en lugar de hacerlo de forma paralela en dos. Además, puesto que tienes que resolver tu problema en C, casi mejor que dejes este y elimines el otro.
Con respecto a lo que solicitas, veo que ya has determinado que la EEPROM es externa e incluso has conseguido las rutinas para leerla. Ya lo tienes casi todo, porque lo de leer el teclado e imprimir en LCD es muy fácil.
Mira el ejemplo EX_LCDKB.C de CCS que te adjunto, y seguro que te aclara bastante las ideas con respecto a la lectura del teclado y la impresión en LCD:
Codigo:
#if defined(__PCB__)
#include <16c56.h>
#fuses HS,NOWDT,NOPROTECT
#use delay(clock=20000000)
#elif defined(__PCM__)
#include <16F877.h>
#fuses HS,NOWDT,NOPROTECT,NOLVP
#use delay(clock=20000000)
#elif defined(__PCH__)
#include <18F452.h>
#fuses HS,NOWDT,NOPROTECT,NOLVP
#use delay(clock=20000000)
#endif
#include <lcd.c>
#include <kbd.c>
void main() {
char k;
lcd_init();
kbd_init();
lcd_putc("fReady...
"
;
while (TRUE) {
k=kbd_getc();
if(k!=0)
if(k=="*")
lcd_putc("f");
else
lcd_putc(k);
}
}
Con todo esto, ya sólo te falta montar tu programa y probarlo. ¿Cómo lo vas a probar?. Si no tienes posibilidad de hacer el circuito en real, prueba con un simulador como Proteus y ganarás bastante tiempo.
Y si sigues teniendo dudas, pega aquí tu programa completo y lo miramos, pero no sólo las rutinas I2C...