TODOPIC

Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: Thulsa Doom en 13 de Agosto de 2013, 16:39:28

Título: ¿Se puede guardar instrucciones en PIC16F876A?
Publicado por: Thulsa Doom en 13 de Agosto de 2013, 16:39:28
Hola a todos,
resulta que estoy haciendo un proyecto con un PIC16F876A y me he quedado sin espacio en la memoria, ¿sería posible utilizar una memoria externa para almacenar instrucciones? y si ese fuera el caso ¿de que manera podría ser?.

Gracias y un saludo
Título: Re: ¿Se puede guardar instrucciones en PIC16F876A?
Publicado por: Diego E. en 13 de Agosto de 2013, 16:48:45
Hola, me imagino que ya lo habrás analizado, porqué no cambiarse de PIC ?

Saludos
Título: Re: ¿Se puede guardar instrucciones en PIC16F876A?
Publicado por: Thulsa Doom en 13 de Agosto de 2013, 17:00:38
si, ese es el último recurso, lo que me interesa es ver las posibilidades antes de cambiar de pic
Título: Re: ¿Se puede guardar instrucciones en PIC16F876A?
Publicado por: Picuino en 13 de Agosto de 2013, 17:44:48
Lo más rápido y barato es cambiar de pic. Si el proyecto va a utilizar muchos micros o prefieres el camino difícil, lo primero sería reducir la memoria ocupada. ¿Qué lenguaje usas?

Saludos.
Título: Re: ¿Se puede guardar instrucciones en PIC16F876A?
Publicado por: planeta9999 en 13 de Agosto de 2013, 18:02:03
resulta que estoy haciendo un proyecto con un PIC16F876A y me he quedado sin espacio en la memoria, ¿sería posible utilizar una memoria externa para almacenar instrucciones?


No, y aunque fuera posible te saldría más barato y resultaría más sencillo, usar un micro con más memoria flash.




Título: Re: ¿Se puede guardar instrucciones en PIC16F876A?
Publicado por: Thulsa Doom en 13 de Agosto de 2013, 18:18:40
CCS y lo que me interesa es saber si se puede utilizar una memoria externa para almacenar instrucciones, que tipo es la más recomendada y de que manera se meten las instrucciones, es un experimento, se que puedo utilizar un PIC18F y utilizar tanto CCS con C18, (prefiero C18)
a ver si me orientan y yo sigo investigando no pretendo que me lo den  todo hecho
Título: Re: ¿Se puede guardar instrucciones en PIC16F876A?
Publicado por: Thulsa Doom en 13 de Agosto de 2013, 18:19:42
resulta que estoy haciendo un proyecto con un PIC16F876A y me he quedado sin espacio en la memoria, ¿sería posible utilizar una memoria externa para almacenar instrucciones?


No, y aunque fuera posible te saldría más barato y resultaría más sencillo, usar un micro con más memoria flash.






Pues vale, a por un 18F
Título: Re: ¿Se puede guardar instrucciones en PIC16F876A?
Publicado por: AngelGris en 13 de Agosto de 2013, 18:28:27
  Según el datasheet dicho PIC permite la grabación de memoria de programa desde el propio programa del PIC -similar a escribir en su EEPROM de datos- haciendo uso de los registros EECON1, EECON2, EEADR, EEADRh, EEDATA y EEDATAH.

  Por lo tanto se podría hacer un programa, que leea parte de su código a partir de una EEPROM externa (similar a como funciona un bootloader). Por supuesto que habría que evaluar cuan rápido y/o cuan conveniente resultaría esto respecto a la durabilidad del PIC. Habría que buscar cuantos ciclos de escritura de memoria de programa soporta.
Título: Re: ¿Se puede guardar instrucciones en PIC16F876A?
Publicado por: Thulsa Doom en 13 de Agosto de 2013, 19:04:53
Gracias, entendido
Título: Re: ¿Se puede guardar instrucciones en PIC16F876A?
Publicado por: Picuino en 14 de Agosto de 2013, 07:56:36
El código c puede ocupar bastante si no está optimizado. Prueba a optimizar el código con funciones que no utilicen la pila y más subrutinas pequeñas. Si dejas un poco de código seguro que podemos echarte una mano.
Saludos.
Título: Re: ¿Se puede guardar instrucciones en PIC16F876A?
Publicado por: Picuino en 14 de Agosto de 2013, 08:07:49
Otra solución un poco compleja es almacenar en una memoria externa (por ejemplo una flash serie)  bytecode que luego sea interpretado por el microcontrolador. Externamente no puedes almacenar instrucciones nativas del pic, pero si puedes utilizar otro lenguaje que llame a subrutinas internas. Un ejemplo es un pequeño interprete basic con las instrucciones precompiladas en una memoria externa. Como te dije, la solución es compleja. Otra ventaja de esta solución es que puede almacenar el programa en Ram o interactuar con el usuario mediante una línea de comunicaciones como el RS232.
Mejor cambia de Pic.
Saludos.