Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

09/05/2013 #1


Ayuda con codigo para guardar y leer en eeprom
Hola estoy trabado en un codigo para grabar y leer en la eeprom estoy experimentando para hacer lo siguiente:

1° con un botón (botón 1)recorrer letra por letra el abecedario o parte de este!
2° con otro botón (botón 2) grabar la letra en este caso en que quedo al soltar botón1
3° con el botón (botón 3) leer la letra

Código:
#include <16f648a.h>            //pic a utilizar          
#fuses XT,NOWDT,NOPROTECT,PUT,NOLVP      //ordenes para el programador
#use delay (clock=4000000)         //Fosc=4Mhz
#define use_portb_lcd TRUE         //definir portb lcd
#include<lcd.c>                  //libreria manejo lcd
 
///PROGRAMA
void main(void)   
{
   char LAST_VOLUME=0,volume;      //variables de direccion escritura eeprom y mensaje     
   lcd_init();                  //inicializa lcd
   while (true)
   {
   
   //LEE LO GRABADO
   if (input(pin_A2))
   {
    for(LAST_VOLUME=0;LAST_VOLUME<4;LAST_VOLUME++){   //bucle que recorre las posiciones de eeprom
      volume = read_EEPROM (LAST_VOLUME);            //almacena mensaje de la direccion eeprom
      printf(lcd_putc,"%s",volume) ;               //muestra mensaje por pantalla lcd
      delay_ms(500);
      lcd_putc("\f" );                           //borra pantalla lcd
      printf(lcd_putc,"%s",volume) ;}
   }
   
   // GRABA
   if (input(pin_A1))
   {
     char abecedario;
     write_eeprom(LAST_VOLUME,abecedario);   //escritura de los mensajes...
     //LAST_VOLUME++;
     lcd_gotoxy(6,1);
     printf(lcd_putc,"Grabado");
   }
   
   
   // ESCRIBE ABECEDARIO
   if (input(pin_A0))
   {
    //****************************
     char abecedario[27]={" ""a""b""c""d""e""f""g""h""i""j""k""l""m""n""o""p""q""r""s""t""u""v""w""x""y""z"},x,y=1;
   lcd_init();         //inicializa lcd
   printf(lcd_putc,"\f" ) ;   //borra pantalla del lcd
   x++;
   printf(lcd_putc,"%c",abecedario[ x ]);   //muestra por pantalla el caracter 
   delay_ms(300);
   y=1;               //restablece indice
  
   }
   }
}
agradeceria mucho si me ayudan!
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.