Autor Tema: Ayuda memorias externas  (Leído 2692 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Eigen

  • PIC10
  • *
  • Mensajes: 19
Ayuda memorias externas
« en: 25 de Septiembre de 2006, 22:40:22 »
Hola a todos,
En un programa que estoy desarrollando me ha surgido la necesidad de utilizar una memoria externa ya que la del PIC no me es suficienté pero jamás he utilizado alguna. Alguien podría orientarme sobre los tipos de memorias externas que hay, cuál es la más adecuada, manera de programarla y de conectarla si no es mucha molestia. Yo programo en Pic Basic Pro. Muchas gracias por la ayuda. :)

Desconectado Mario

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 873
Re: Ayuda memorias externas
« Respuesta #1 en: 26 de Septiembre de 2006, 00:22:24 »
Hola.

Pues yo recomendaría las EEPROM por I²C, aunque puedes usarlas por  paralelo son mas prácticas por I²C, y si programas en PBP no tendrás mayor problema.

No recomendaría una SRAM porque tendrías que cablear mucho, ademas que son de memoria volátil.

Si programas en PBP observa este ejemplo que propone Microengineering labs.
http://www.microengineeringlabs.com/resources/samples/pbp/i2c.bas

Si no entiendes muy bien el I²C quizá te asustes pero no es difícil.
« Última modificación: 26 de Septiembre de 2006, 00:50:41 por Mario »
La buena administración es utilizar el sentido común y la regla de oro; aunque el sentido común no es tan común como quisiéramos que fuera y, quien tiene el oro, hace las reglas.
George Terry

"A loser will defeat a genius with hard work"
Rock Lee

Desconectado Mario

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 873
Re: Ayuda memorias externas
« Respuesta #2 en: 26 de Septiembre de 2006, 00:33:10 »
Utiliza la búsqueda que ofrece el foro.

Encontré esto pero utilizando I2c eeprom como palabras claves y solo en el foro de PBP, pero puedes agragar o quitar palabras, o meterte a otro subforo.

http://www.todopic.com.ar/foros/index.php?topic=4424.msg25554#msg25554

http://www.todopic.com.ar/foros/index.php?topic=3715.msg29772#msg29772

La buena administración es utilizar el sentido común y la regla de oro; aunque el sentido común no es tan común como quisiéramos que fuera y, quien tiene el oro, hace las reglas.
George Terry

"A loser will defeat a genius with hard work"
Rock Lee

Desconectado Eigen

  • PIC10
  • *
  • Mensajes: 19
Re: Ayuda memorias externas
« Respuesta #3 en: 26 de Septiembre de 2006, 20:49:55 »
Gracias por tu gran ayuda Mario, todavía es un poco confuso esto pero me pongo a estudiar datasheets de las I2c eeprom, los links del foro y el ejemplo de Microengineering Labs que me recomendaste y ya veremos.

Desconectado Mario

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 873
Re: Ayuda memorias externas
« Respuesta #4 en: 27 de Septiembre de 2006, 14:20:27 »
Esta bien.

Solo necesitas saber moverte entre páginas de la EEPROM, porque lo demás es solo programación.

Busca ejemplos de una memoria en particular con las palabras PBP o PICBASIC PRO en algún buscador de internet (google, yahoo, etc). Deberán haber algunos ya con los programas hechos y quizá hasta explicados.
La buena administración es utilizar el sentido común y la regla de oro; aunque el sentido común no es tan común como quisiéramos que fuera y, quien tiene el oro, hace las reglas.
George Terry

"A loser will defeat a genius with hard work"
Rock Lee

Desconectado Eigen

  • PIC10
  • *
  • Mensajes: 19
Re: Ayuda memorias externas
« Respuesta #5 en: 08 de Octubre de 2006, 22:08:18 »
He hecho éste pequeño programa para ver si lo que he estudiado de las memorias externas lo he entendido bién, pero al parecer no es así, ya que en la lcd aparece cero en la primera, segunda y cuarta línea y en la tercera siempre un 12, alguién podría indicarme cuál es el problema, uso un PIC16F877A y la memoria 24AA00, gracias por la ayuda.

DEFINE OSC 4

Include "modedefs.bas"

CPIN    var     PORTE.0                 ' I2C clock pin
DPIN    var     PORTE.1                 ' I2C data pin

uno     var     byte
dos     var     byte
tres    var     byte
cuatro  var     byte

B0      var     byte
B1      var     byte
B2      var     byte
B3      var     byte

PAUSE 500

uno=0
dos=1
tres=2
cuatro=3


I2CWRITE DPIN,CPIN,$A0,uno,[1]
Pause 10

I2CWRITE DPIN,CPIN,$A0,dos,[2]
Pause 10

I2CWRITE DPIN,CPIN,$A0,tres,[3]
Pause 10

I2CWRITE DPIN,CPIN,$A0,cuatro,[4]
Pause 10

I2CREAD DPIN,CPIN,$A0,uno,[B0]
LCDOUT $FE,1,#B0

I2CREAD DPIN,CPIN,$A0,dos,[B1]
LCDOUT $FE,$D0,#B1

I2CREAD DPIN,CPIN,$A0,tres,[B3]
LCDOUT $FE,$90,#B2

I2CREAD DPIN,CPIN,$A0,cuatro,[B3]
LCDOUT $FE,$C0,#B3

END


 

anything