Autor Tema: como cargar imagenes a una memoria eeprom externa en el isis proteus  (Leído 2595 veces)

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

Desconectado franco_96

  • PIC10
  • *
  • Mensajes: 4
como cargar imagenes a una memoria eeprom externa en el isis proteus
« en: 23 de Septiembre de 2015, 22:17:17 »
hola amigos, soy estudiante de mecatronica y para recibirme necesito hacer un trabajo final, en el cual e estado trabajando y me encontré con un problema, una parte de mi trabajo es hacer un menú con un pic y un lcd gráfico y le e subido muchas imágenes a la memoria del pic  ( 16f887 ) y no me deja seguir desarrollando el menú, por lo que pensé en ingresar las imágenes (archivo.inc) en una memoria externa, hay esta el problema e buscado en todas partes y no encuentro como hacerlo.
PSD: yo quiero simularlo en el isis proteus y me pide un archivo "Binary image files" , para programar el pic uso visual basic (proton ide)

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re: como cargar imagenes a una memoria eeprom externa en el isis proteus
« Respuesta #1 en: 23 de Septiembre de 2015, 22:59:42 »
El archivo que te pide es simplemente cualquier archivo .bin que posea los valores de la memoria EEPROM.

Las imagenes los tenes en valores hexa ?, deberias tener un archivo con esos valores (no en ASCII, sino en hexa, como lo es un binario)

Lo unico que se me ocurre para hacerlo es realmente hacer un programita que pase los valores que queres de las imagenes a un archivo binario. O buscar uno por internet que lo haga.

Desconectado franco_96

  • PIC10
  • *
  • Mensajes: 4
Re: como cargar imagenes a una memoria eeprom externa en el isis proteus
« Respuesta #2 en: 24 de Septiembre de 2015, 15:34:55 »
muchisimas gracias ya pude cargar el archivo en la memoria eeprom del isis proteus, al archivo le cambie el nombre solo le agregue .bin y funciono, ahora mi otro problema es q yo usaba a la imagen como un include para presentarlo en el lcd gráfico, y estoy desorientado de como codificar con el proton ide para que presente la imagen en la pantalla.
mi codificación anterior era:
Device 16F887
Xtal 4
All_Digital 1
LCD_DTPort PORTC
LCD_ENPin PORTB.0
LCD_RWPin PORTB.1
LCD_RSPin PORTB.2
LCD_CS1Pin PORTB.4
LCD_CS2Pin PORTB.3
LCD_Type graphic
Internal_Font On
Font_Addr 0
TRISD=255
Dim b As Byte
Dim y As Byte
Dim x As Byte
Dim a As Word
Dim z As Byte
Cls
b=4
DelayMS 500
 
inicio:
 For y=0 To 7
  For x=0 To 127
   a=(y*128)+x
   z= CRead ale+ a
   LCDWrite y,x,[z]
   Next x
  Next y
  DelayMS 200
  GoTo inicio
  End
  Include "ale.inc"

pero ahora no se como sustituir el include por el archivo que recupero de la memoria.
probé con esta codificación, pero solo muestra lineas en la pantalla :

Device 16F887
Xtal 4
All_Digital 1
LCD_DTPort PORTD
LCD_ENPin PORTB.0
LCD_RWPin PORTB.1
LCD_RSPin PORTB.2
LCD_CS1Pin PORTB.4
LCD_CS2Pin PORTB.3
LCD_Type graphic
Internal_Font On
Font_Addr 0
TRISD=255
Dim b As Byte
Dim y As Byte
Dim x As Byte
Dim a As Word
Dim z As Byte
Dim f As Word
Cls
b=4
DelayMS 500
Symbol Control %10100001
 I2CIn PORTC.4,PORTC.3,Control,x,[f] 
inicio:
 For y=0 To 7
  For x=0 To 127
   a=(y*128)+x
   z= CRead f + a
   LCDWrite y,x,[z]
   Next x
  Next y
  DelayMS 200
  GoTo inicio
  End

para codificar el pic yo uso proton ide visual basic si me pudieras dar una mano con este problema te lo agredeseria ¡¡¡

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re: como cargar imagenes a una memoria eeprom externa en el isis proteus
« Respuesta #3 en: 24 de Septiembre de 2015, 17:09:15 »
Yo no programo en BASIC, pero al ponerlo en una memoria externa, vas a tener que leer esa memoria para poder obtener los datos y luego pasarlos al LCD.

Como podes leer posicion por posicion de memoria, como tambien seguro que lo permite la memoria poder leer varias posiciones a la misma ves, entonces podrias hacer una especie de buffer, en el que una interrupcion del modulo que uses para comunicarte con la memoria I2C/SPI pida la proxima posicion o se detenga por que el buffer esta lleno.

Como el 16887 no posee un puerto externo para eso y DMA,va a ser mucho mas lento.

Desconectado RALF2

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2060
Re: como cargar imagenes a una memoria eeprom externa en el isis proteus
« Respuesta #4 en: 24 de Septiembre de 2015, 18:15:47 »
En la variable Z debes tener el byte leido de la memoria que debe estar en una posicion x, luego de leer esa posicion debes incrementar la siguiente posicion a leer de la memoria y repetir el proceso.
El problema que veo es que al utilizar una memoria i2c si lo pruebas en fisico tendras un retraso en la visualizacion de la imagen es decir la imagen no te aparecera de una; sino que se ira formando linea a linea y mas si la memoria se comunica por I2C.

Saludos