Recursos del PIC. Uso de la memoria EEPROM interna del PIC

Cualquier cosa relacionado con la programación de Microcontroladores PIC en C utilizando el compilador CCS.

Re: Recursos del PIC. Uso de la memoria EEPROM interna del PIC

Notapor ecaman » Vie Feb 19, 2010 3:04 am

por cierto en la ultima parte falto una llave no se les olvide colocarla
}
ecaman
 
Mensajes: 3
Registrado: Vie Feb 19, 2010 1:16 am

Re: Recursos del PIC. Uso de la memoria EEPROM interna del PIC

Notapor inyelber » Vie Feb 19, 2010 3:26 am

hola ecaman!
mira seria bueno que empieces todo de cero! ese rograma esta en un foro de electronica y bueno yo no le veo el objetivo!
yo estoy haciendo una cerradura electronica y empece desde cero xq de verdad que buscarle fallas a algo que uno no ha hecho es un rollo!
empieza desde cero y por aca te ayudamos!
inyelber
 
Mensajes: 22
Registrado: Dom Nov 15, 2009 9:49 pm

Re: Recursos del PIC. Uso de la memoria EEPROM interna del PIC

Notapor ecaman » Vie Feb 19, 2010 1:41 pm

si claro yo lo vi el programa la verdad es sencillo y esta bien explicado ya lo hice todos lo podemos hacer la cosa es esa ,,,,,, la eeprom mas nada
ecaman
 
Mensajes: 3
Registrado: Vie Feb 19, 2010 1:16 am

Recursos del PIC. Uso de la memoria EEPROM interna del PIC

Notapor myesid » Mar Mar 09, 2010 4:44 pm

Hola a todos los participantes:

En este caso requiero la ayuda de todos ustedes y de biblioman, lo que sucede es que estoy haciendo un programa que graba un valor en la eeprom interna del pic y la compara contra un valor externo que al ser igual debe activar una salida del pic.

las caracteristicas del sistema son PIC:16F628A y conexion serial para comprobar el manejo de los datos en el micro.
el problema que tengo es que en la parte de la comparacion del dato ingresado contra el dato de la eeprom no me genera la activacion de la salida.

Adjunto el codigo para que entre todos me colaboren en la correccion de este programa.

Código: Seleccionar todo
#include <16F628A.h>
    #use delay (clock=4000000)
    #use rs232(baud=9600,parity=N,xmit=PIN_b2,rcv=PIN_b1,bits=8)
   
    // declaracion de puertos
    # byte porta=0x05
    # byte portb=0x06
    # use fast_io(a)
    # use fast_io(b)
   
   
    void main(void)
    {
         int eepromv;// valor de la eeprom
         int valordatos;// valor que viene de la linea de datos
         int aux;
         while(true)
         {
            if(input(pin_a4)==1)
            {  aux=porta;
               valordatos=aux-16;
               printf("valor es:%U\r:",valordatos);
               delay_ms(1000);
            }
            else
            printf("valor es:%U\r:",0);
            delay_ms(1000);
             write_eeprom(0,0);
          write_eeprom(0,2);
            eepromv=read_eeprom(0);
            printf("valor de la eeprom interna%u\r",eepromv);
            if(valordatos==eepromv)
               output_bit(pin_b0,1);
            else
              output_bit(pin_b0,0);
               
           
       
           
         }

    }


agradezco de antemano toda la ayuda prestada ya que estoy aprendiendo y no quiero perder el impulso en este aprendizaje.

un saludo desde la fria Bogotà
myesid
 
Mensajes: 26
Registrado: Vie Feb 12, 2010 3:21 pm

Re: Recursos del PIC. Uso de la memoria EEPROM interna del PIC

Notapor myesid » Mar Mar 09, 2010 5:02 pm

adjunto el archivo dns y c

gracias
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
myesid
 
Mensajes: 26
Registrado: Vie Feb 12, 2010 3:21 pm

Re: Recursos del PIC. Uso de la memoria EEPROM interna del PIC

Notapor Antonio » Mar Mar 09, 2010 5:26 pm

Hola myesid. ¿Que tal por Bogotá?. Yo no soy un experto en esto, pero he visto un tema publicado en este foro que se parece mucho a lo que preguntas. Echale un vistazo a ver si te sirve. :D :D

http://www.aquihayapuntes.com/foro/viewtopic.php?f=11&t=59&sid=934e3c397c858931805b02c4b8133e00&sid=934e3c397c858931805b02c4b8133e00#p272

Un saludo

Desde España
Antonio
 
Mensajes: 7
Registrado: Lun Feb 01, 2010 10:25 pm

Recursos del PIC. Uso de la memoria EEPROM interna del PIC

Notapor myesid » Mar Mar 09, 2010 7:36 pm

Hola antonio

Por bogotà el clima fresco y todo en calma, lo que me sugieres mirando el otro tema del foro es con respecto a la comparacion de vectores o de pocisiones de memoria eeprom del pic con respecto a un dato externo esa comparacion si la esta haciendo lo que no hace es poner en alto la salida del puerto b del pic16f628A cuando los 2 datos son iguales

Ese es realment el problema del programa
myesid
 
Mensajes: 26
Registrado: Vie Feb 12, 2010 3:21 pm

Re: Recursos del PIC. Uso de la memoria EEPROM interna del PIC

Notapor Antonio » Mar Mar 09, 2010 11:16 pm

Mira si esto soluciona tu problema:
Código: Seleccionar todo
#include <16F628A.h>
    #use delay (clock=4000000)
    #use rs232(baud=9600,parity=N,xmit=PIN_b2,rcv=PIN_b1,bits=8)
   
    // declaracion de puertos
    # byte porta=0x05
    # byte portb=0x06
    # bit RB0=0x06.0
    # use fast_io(a)
    # use fast_io(b)
   
   
    void main(void)
    {
       
         int eepromv;// valor de la eeprom
         int valordatos;// valor que viene de la linea de datos
         int aux;
          set_tris_b(0b11111110);
          RB0=0;
         while(true)
         {
            if(input(pin_a4)==1)
            {  aux=porta;
               valordatos=aux-16;
               printf("valor es :%U\r:",valordatos);
               delay_ms(1000);
            }
            else
            {
            valordatos=porta;
            printf("valor es :%U\r:",valordatos);
            delay_ms(1000);
            // write_eeprom(0,0);
          write_eeprom(0,2);
            eepromv=read_eeprom(0);
            printf("valor de la eeprom interna %u\r",eepromv);
           
            if(valordatos==eepromv)
               output_bit(pin_b0,1);
            else
              output_bit(pin_b0,0);
               
            }
       
           
         }

    }


:mrgreen: :mrgreen: Bye
Antonio
 
Mensajes: 7
Registrado: Lun Feb 01, 2010 10:25 pm

Recursos del PIC. Uso de la memoria EEPROM interna del PIC

Notapor myesid » Mié Mar 10, 2010 12:31 pm

Hola Antonio

Afortunadamente eso que me recomendaste era el inconveniente del programa habia que configurar el tris_b del pic como salida y con eso si ejecutaba la comparacion y la respectiva salida del pin del puerto b activandola.

Mas adelante posteo el codigo del ejemplo que estoy realizando para que lo veas funcionar, muchas gracias.

Saludos
myesid
 
Mensajes: 26
Registrado: Vie Feb 12, 2010 3:21 pm

Re: Recursos del PIC. Uso de la memoria EEPROM interna del P

Notapor nomwise » Mar Jun 15, 2010 11:24 am

Hola.

No entiendo muy bien tu ejemplo sobre el contador "SU TURNO".

Lo que no me queda claro son las condiciones que pones en el cuerpo de la funcion de interrupción.

La primera instruccion condicional que pones:

if ((read_eeprom(0)==0x99)||(read_eeprom(0)==0xFF))
{
write_eeprom(0,0);//escribo el valor 0 en la dirección 0 de la memoria EEPROM
puerto_D=read_eeprom(0);//asigno al puerto D el valor devuelto por la función de lectura de la EEPROM
}

Si la posicion 0 de la memoria Eeprom esta a su valor inicial, debemos inicializar a 0 --> Esta parte OK

Si la posicion 0 de la memoria Eeprom tiene un valor de 0x99, se resetea a 0 pq supuestamente ha llegado al maximo valor posible de conteo --> Pero tu estas poniendo un valor hexadecimal: 0x99, que no es 99!!!

No entiendo bien la mezcla que haces de valores digitales con hexadecimales, puesto que en las siguientes instrucciones condicionales vas sumando 1 a la posicion de memoria que usas para contar.

Tampoco entiendo bien las operaciones and que realizas en las siguientes instrucciones condicionales.

Por favor, si pudieses aclararme todo lo referido al cuerpo de la funcion de interrupcion, te estaria muy agradecido.

Un saludo y gracias!!
nomwise
 
Mensajes: 1
Registrado: Vie Jun 11, 2010 11:26 am

AnteriorSiguiente

Volver a Programación PIC en C con CCS

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 2 invitados