Autor Tema: AYUDA MANEJO DE TABLAS PIC16F84  (Leído 4098 veces)

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

josenapo

  • Visitante
AYUDA MANEJO DE TABLAS PIC16F84
« en: 29 de Marzo de 2006, 19:11:00 »
Hola amigos, estoy realizando un proyecto y necesito saber si alguien me puede ayudar como puedo leer una tabla de 800 datos, o como lo puedo organizar y como acceder despues a ella.
es urgente , por favor si alguien me puede ayudar, de preferencia un ejemplo practico.
gracias
joloayzal@hotmail.comLlorando

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
RE: AYUDA MANEJO DE TABLAS PIC16F84
« Respuesta #1 en: 29 de Marzo de 2006, 21:13:00 »
Escrito originalmente por josenapo
Hola amigos, estoy realizando un proyecto y necesito saber si alguien me puede ayudar como puedo leer una tabla de 800 datos, o como lo puedo organizar y como acceder despues a ella.
es urgente , por favor si alguien me puede ayudar, de preferencia un ejemplo practico.
gracias
joloayzal@hotmail.comLlorando


jooloayzal en general acá no se dan soluciones enlatadas para las necesidades.  

Además tu anuncion AYUDA URGENTE no provocará que todos se vuelquen a responderte más velozmente.  Es hasta ofensivo.  Si te fijas en las reglas del foro, esta MUY SUGERIDO no ponder URGENTE, SOCORRO, AUXILIO etc.

Lo que si puedo hacer es echarte una mano pero antes tienes que saber algo.
Leete este ejemplo de como se hace para leer tablas.

Implementing a Table Read

http://ww1.microchip.com/downloads/en/AppNotes/00556e.pdf

Puedes luego hacer 2 opciones.
1) O implementas 4 tablas. Cada una de 200 valores y antes de leerlas te fijas en que rango de valores está el dato para saber en que tabla leerlo.  Mas claramente
Si haces
Tabla1 de 0 a 199
Tabla2 de 200 a 399
Tabla3 de 400 a 599
Tabla4 de 600 a 799

Si tienes que leer el valor 402, entonces deberás antes saber que lo ubicas en la 3ra tabla.

2) Usar una unica tabla para los 800 valores para lo cual deberás ingeniartela más con el PCLATH y el PCL


Lo que si siempre pido es algo de esfuerzo.  Si quieres todo masticado resuelto y funcionando, contrata a un ingeniero.  Aqui estamos para echar una mano y para aprender unos de otros pero no para hacerle la tarea a todo el mundo.

Si a alguien le hacen siempre la tarea nunca hubiera aprendido nada.....
Saludos
- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
RE: AYUDA MANEJO DE TABLAS PIC16F84
« Respuesta #2 en: 29 de Marzo de 2006, 21:26:00 »
Escrito originalmente por josenapo
Hola amigos, estoy realizando un proyecto y necesito saber si alguien me puede ayudar como puedo leer una tabla de 800 datos, o como lo puedo organizar y como acceder despues a ella.
es urgente , por favor si alguien me puede ayudar, de preferencia un ejemplo practico.
gracias
joloayzal@hotmail.comLlorando


Otra lectura recomendada

http://miarroba.com/foros/ver.php?foroid=6510&temaid=1575336

Te pido entiendas que no es mala voluntad, simplemente hacerte ver que acá somos humanos que no cobramos nada y nos conectamos esporádicamente y tratamos de responder cuando podemos y como podemos sin costo alguno.

Aca no contratas un trabajo, aca solicitas ayuda entonces te pido tengas paciencia y también pongas voluntad para resolver tu problema

Saludos y bienvenido al foro.
- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
RE: AYUDA MANEJO DE TABLAS PIC16F84
« Respuesta #3 en: 30 de Marzo de 2006, 11:29:00 »
Escrito originalmente por carcass
habria que saber si josenapo tiene en cuenta que el 16f84 tiene solo 1K de memoria, una tabla de 800 bytes te deja muy pocos libres y en bloques separados.
saludos.
carcass.



Asi es , lo tengo muy presente el punto es que nuestro amigo solo pidió eso y no aclaró nada mas.

Tal vez solo esté haciendo un software que reciba un dato y devuelva otro en función a un pequeño cálculo....

A falta de especificación... también habrá una falta de sugerencias jeje.

- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado microcom

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 568
RE: AYUDA MANEJO DE TABLAS PIC16F84
« Respuesta #4 en: 30 de Marzo de 2006, 14:22:00 »


 La idea es ayudar a resolver las inquietudes de josenapo. no harle el trabajo sino darle  vaces para que siga. No soy esperto en pic estoy estudiando para colaborar mas a fondo a los cologas. los del foro soy muy expertos eso es exelente. que capacidades de resolver dudas de lo que sea.

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
RE: AYUDA MANEJO DE TABLAS PIC16F84
« Respuesta #5 en: 30 de Marzo de 2006, 18:00:00 »
Escrito originalmente por microcom


 La idea es ayudar a resolver las inquietudes de josenapo. no harle el trabajo sino darle  vaces para que siga. No soy esperto en pic estoy estudiando para colaborar mas a fondo a los cologas. los del foro soy muy expertos eso es exelente. que capacidades de resolver dudas de lo que sea.


Por supuesto que es la idea, asentar las bases para que se forme y no para que siga preguntando 20 veces lo mismo.  

Si te fijas nuestros posts,  precisamente queremos "ayudar" pero si la persona que postea no especifica mucho... tampoco hay qué responder!

Si uno no pregunta bien, uno le puede responder desde una línea hasta 5 libros!  Es por eso que hay que especificar los problemas.  La electronica y la programación son ciencias muy complejas que si uuno no acota la problemática se puede pasar años disertando y discutiendo o asesorando y aconsejando sobre una u otra cuestión.

Saludos
- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado Manofwar

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 156
RE: AYUDA MANEJO DE TABLAS PIC16F84
« Respuesta #6 en: 30 de Marzo de 2006, 18:21:00 »
Aquí tienes tu ejemplo, es una parte de mi código del servidor web, en concreto esta tabla es un flash.

Debes tener dos registros llamados OFFSET_H y OFFSET_L donde,  antes de llamar a leetabla con un call, deberás poner la posición dentro de la tabla que quieres leer.

Saludos desde Almería.
 
Codigo:
leetabla
   movlw   HIGH(tabla)   ;Carga en W el valor del PCLATH al inicio de la tabla
   addwf   OFFSET_H,W   ;Suma HIGH(tabla) y OFFSET_H   
   movwf   PCLATH      ;y el resultado se carga en el PCLATH
   movlw   LOW(tabla)   ;Carga en W el valor del PCL al inicio de la tabla
   addwf   OFFSET_L,W   ;Suma LOW(tabla) y OFFSET_F en W   
   btfsc   STATUS,C   ;Si existe acarreo
   incf   PCLATH,f   ;Sumamos 1 al PCLATH
   movwf   PCL      ;cargamos el PCL con la posición a leer de la tabla que estaba en W

tabla
   dt   0x43,0x57,0x53,0x7,0x81,0x2,0x0,0x0,0x78,0x9C,0x5D,0x91,0x4D,0x68,0x13,0x51
   dt   0x14,0x85,0xCF,0xBC,0xF7,0x66,0xE6,0x55,0x13,0x42,0xAB,0x10,0x91,0x6,0x44,0x89
   dt   0xA8,0x88,0x50,0xD,0xE8,0xA2,0x92,0xA1,0x15,0x53,0xA4,0x26,0x12,0x45,0xD1,0x4D
   dt   0x18,0x33,0x83,0x54,0xC6,0x4C,0xC8,0x54,0x48,0x5,0xB3,0x10,0xB5,0x82,0x50,0x5D
   dt   0xC8,0xF8,0x83,0x4A,0x40,0xAC,0x2E,0x14,0x4,0x37,0x16,0x84,0xAC,0xC4,0x9F,0x8D
   dt   0xA0,0x4B,0xF1,0x67,0x61,0x95,0x42,0x74,0x21,0x74,0x27,0x8C,0xF7,0x8D,0x4D,0x11
   dt   0x67,0x71,0x79,0xEF,0xBB,0xF7,0x9C,0x7B,0x86,0xD7,0x84,0x5E,0x1,0x52,0x6D,0x20
   dt   0xA1,0x61,0x94,0x45,0x51,0x94,0xE7,0x15,0xD,0xB8,0x54,0x45,0x2,0x55,0xBB,0x71
   dt   0xC2,0xC6,0xB8,0x6F,0x3B,0x87,0xED,0x46,0x0,0xBF,0xA6,0x8E,0x70,0xBD,0xAA,0xEF
   dt   0xF9,0xD,0x8C,0x1C,0x2A,0xA2,0x52,0xB3,0x4F,0xB9,0x18,0x8D,0xEF,0x81,0x3B,0x59
   dt   0x2E,0x8C,0xD0,0x54,0xD9,0xF5,0x5C,0x3B,0x70,0x51,0xF7,0xEC,0x9A,0xBF,0xCD,0xE
   dt   0xEA,0xF9,0xFA,0x69,0x2F,0xB0,0x1D,0x7F,0x37,0x3C,0x65,0xB0,0xCC,0x11,0x26,0x21
   dt   0x61,0x60,0xE9,0x93,0x9A,0x35,0x1C,0x32,0x22,0x83,0xAA,0xB2,0x99,0x14,0xA0,0x41
   dt   0x9F,0x80,0x70,0x9B,0x13,0x93,0x3E,0x9E,0x82,0xB0,0x10,0x3,0x77,0x18,0x1E,0x22
   dt   0xD4,0x61,0x52,0x4C,0x4C,0x6B,0xE0,0xE9,0xD0,0x84,0xE0,0xA6,0x4E,0xD7,0x31,0xD5
   dt   0xBD,0x80,0x50,0x42,0x72,0xC1,0xA4,0x10,0xBC,0x50,0x54,0x66,0x7A,0x91,0x66,0x62
   dt   0x81,0x34,0xAC,0x4C,0x68,0x40,0x68,0x4B,0xCD,0x1E,0xE6,0xF1,0x52,0xB3,0x9C,0x56
   dt   0xCD,0x7F,0x94,0x72,0x46,0xAA,0x6C,0x6C,0x33,0x32,0xA0,0x96,0xEC,0x23,0xA5,0x5E
   dt   0x2C,0x2C,0xEB,0xFE,0x86,0x5D,0x51,0x4E,0x97,0x54,0x3A,0x7E,0x20,0xE,0x74,0x93
   dt   0xE1,0x64,0x44,0x5,0x28,0x85,0x7D,0x90,0x2B,0xFF,0x1B,0x35,0xD1,0x41,0xE,0xEA
   dt   0xEF,0x9A,0x96,0xF3,0x69,0x5D,0xEE,0xED,0x4E,0x3A,0xAF,0x56,0x6B,0xB4,0xEC,0xC2
   dt   0xDC,0xCB,0x3D,0xBF,0xB7,0xBA,0x3F,0x5A,0x9F,0x9D,0xA1,0xE1,0xE3,0x53,0xDD,0xA9
   dt   0xEF,0xE7,0x82,0xB3,0x8F,0x1F,0xE9,0xAF,0x67,0x33,0xAB,0x3E,0x64,0x2D,0x5C,0x34
   dt   0xC,0x8D,0x84,0xE4,0x50,0x52,0xB1,0x70,0xA4,0x7B,0xA5,0xF5,0xAA,0xAD,0x21,0x8A
   dt   0x2D,0xA8,0xF6,0x67,0x37,0xD5,0xCD,0xFE,0x37,0x5F,0xD9,0xF9,0x5F,0xB3,0x63,0xC9
   dt   0x1B,0xB7,0xAF,0x5F,0xE3,0x67,0x16,0xE6,0x9F,0xDC,0xDD,0x95,0xD8,0xB7,0xFE,0x68
   dt   0xBE,0x7B,0x2C,0x7C,0x71,0x75,0xA0,0xE1,0x8C,0xB7,0xBF,0xDD,0x9F,0xDB,0x72,0x79
   dt   0x7F,0xD4,0xED,0xD4,0x36,0x14,0x2C,0xBE,0xF8,0x6C,0xFA,0xE3,0x5E,0x74,0x64,0x92
   dt   0x4C,0xB9,0x4A,0x92,0x62,0x6A,0x8B,0x40,0xC7,0xA0,0x67,0xC0,0x46,0x46,0x74,0xED
   dt   0x83,0x7B,0x8B,0xEA,0xD5,0x87,0x7A,0x50,0x10,0x1C,0x3C,0xF8,0xEE,0xBD,0x45,0x70
   dt   0x47,0xF,0x1A,0xA,0xCE,0xAF,0xF9,0xF9,0x85,0xE0,0xF6,0x1E,0x94,0xA,0x3E,0xBF
   dt   0xD5,0x52,0x30,0x7,0x8B,0xD0,0x1F,0x41,0xBB,0x92,0x9F


Saludos desde Almería, España

Desconectado Azicuetano

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1020
    • Aplicaciones Electrónicas en Alicante.
RE: AYUDA MANEJO DE TABLAS PIC16F84
« Respuesta #7 en: 30 de Marzo de 2006, 18:46:00 »
Hola josenapo!

Te recomiendo que utilices el buscador que tiene el foro. Yo he puesto la palabra "tablas" y me han salido un montón.

Concretamente te paso esta dirección:

http://miarroba.com/foros/ver.php?foroid=6510&temaid=4727179&marcar=tablas



Un saludo desde Alicante.

josenapo

  • Visitante
RE: AYUDA MANEJO DE TABLAS PIC16F84
« Respuesta #8 en: 31 de Marzo de 2006, 13:36:00 »
entiendo el mensaje......., pero antes de ingresar al foro, he leido mucha informacion sobre lo que necesito, y solo busco alguien que tenga un poco de experiencia en este campo, gracias a los que me han dado unos link, ya los he leido voy a sacar concluciones, ha.... y no necesito que me hagan el trabajo. por otra parte tienen razon de que falta informacion;
el proyecto que estoy desarrollando en almacenar en un pic16f84 una señal de audio previamente codificada, por lo poco que conosco puede almacenar unos 3 segundos de audio, suficiente para unas 6 0 7 palabras lo necesario como aplicarlos en pequeños proyectos de robotica; estoy conciente que hay integrados dedicados a ellos y de mayor capacidad de almacenamiento, pero el objetivo es ese.
la señal de audio ha sido procesada en editor de audio en wav, esa señal la he codificado en una tabla de o bits y en grupos de 255, opuede ser de mas o menos no es inconveniente, en un programa hecho en VB, la salida de audio posteriormente va a ser por un solo pin del pic y decodificandolo con una RC; he llegado hasta leer los primeros 200 datos de la tabla; mi inconveniente es que no he podido accesar al resto de alli que deseo algunas sugerencias.
si algien conoce algo sobre el tema, es bueno obtener algunos consejos.
gracias

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
RE: AYUDA MANEJO DE TABLAS PIC16F84
« Respuesta #9 en: 31 de Marzo de 2006, 13:46:00 »
Escrito originalmente por josenapo
entiendo el mensaje......., pero antes de ingresar al foro, he leido mucha informacion sobre lo que necesito, y solo busco alguien que tenga un poco de experiencia en este campo, gracias a los que me han dado unos link, ya los he leido voy a sacar concluciones, ha.... y no necesito que me hagan el trabajo. por otra parte tienen razon de que falta informacion;
el proyecto que estoy desarrollando en almacenar en un pic16f84 una señal de audio previamente codificada, por lo poco que conosco puede almacenar unos 3 segundos de audio, suficiente para unas 6 0 7 palabras lo necesario como aplicarlos en pequeños proyectos de robotica; estoy conciente que hay integrados dedicados a ellos y de mayor capacidad de almacenamiento, pero el objetivo es ese.
la señal de audio ha sido procesada en editor de audio en wav, esa señal la he codificado en una tabla de o bits y en grupos de 255, opuede ser de mas o menos no es inconveniente, en un programa hecho en VB, la salida de audio posteriormente va a ser por un solo pin del pic y decodificandolo con una RC; he llegado hasta leer los primeros 200 datos de la tabla; mi inconveniente es que no he podido accesar al resto de alli que deseo algunas sugerencias.
si algien conoce algo sobre el tema, es bueno obtener algunos consejos.
gracias



Tal vez no viste o no entendiste el código de Manofwar pero tiene mas de 255 bytes en esa tabla...

Revisa de nuevo ese código.

Saludos
- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado Manofwar

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 156
RE: AYUDA MANEJO DE TABLAS PIC16F84
« Respuesta #10 en: 31 de Marzo de 2006, 15:14:00 »
Josenapo, con el código que te he puesto más arriba y en un 16f84, puedes acceder al número de bytes que quieras y sin tener en cuenta en que posición de la memoria de programa comienza o termina la tabla. La tabla que ves en mi código tiene 495 bytes, aunque la rutina de lectura la he utilizado hasta con unos 700 bytes sin problemas.

Saludos desde Almería, España
Saludos desde Almería, España

josenapo

  • Visitante
RE: AYUDA MANEJO DE TABLAS PIC16F84
« Respuesta #11 en: 31 de Marzo de 2006, 17:25:00 »
es bueno contar con ideas y opiniones constructivas aunque no todos opinen lo mismo...
tienes razon carcass con la programacion que estoy haciendo no tengo mucho espacio para la primera tabla, estoy trabajando en reprogramarla para eliminar codigo, y la idea de manofwar es muy interesante la estoy analizando, aun no la comprendo muy bien pero alli vamos, no es la forma de codigo que estaba utilizando.
gracias amigos
voy a intentarlo, si hay alguna nueva sugerencia bienbenido sea.

Desconectado manongo_123

  • PIC10
  • *
  • Mensajes: 25
RE: AYUDA MANEJO DE TABLAS PIC16F84
« Respuesta #12 en: 31 de Marzo de 2006, 20:09:00 »
hola, nose la cantidad de codigo de programa que usaras, pues 800 bytes de corrido de los 1024 del pic 16f84 me parece poco espacio, mejor hazlo con el 16f628 que tiene el doble.

para el codigo si es una secuencia solamente tienes que simplificarlo.

tabla......addwf    pcl,f

..............retlw      (byte1)h
..............retlw      (byte2)h

todo esto x 250 que equivale una pagina, si tu quieres 800 entonces serian 3 paginas.

empiezas a poner la tabla en org 100h
luego lo que sigue en org  200h
y por ultimo en org  300h
luego en el programa de memoria cuando empieza tu secuencia le pones x 1 al pclath que es el primero y si pasa de 255 bytes ; le pones x2 al pclath y asi.

pagina1.........movlw   .1
......................movwf    pclath
programa.......movf       contador,w
......................call          tabla
......................movwf     pob    ; al puerto b como ejemplo

pero si pasa de 250 entonces clrf pclath y le pones x2.

pagina2.......movlw      .2
....................movwf       pclath
y el mismo programa


y asi sigue, ojala le sigas el hilo a esto es solo una idea de lo que tu tienes que construir.





josenapo

  • Visitante
RE: AYUDA MANEJO DE TABLAS PIC16F84
« Respuesta #13 en: 31 de Marzo de 2006, 20:53:00 »
gracias manongo_123 por la sugerencia, estoy tratando de eliminar mas codigo;
si hay alguna otra, bienbenida.

dentro del proyecto estor realizando una conversion y si alguien podria sugerirme otro metodo seria bueno, el punto es:

tengo un dato por ejemplo asi b"11001100" que equivale a un byte el objetivo del trabajo es transmitir este dato solo por un pin del pic16f84 empezando  del mas significativo osea:
1
1
0
0
1
1
0
0
en ese orden; ya lo he hecho y si trabaja, pero me parece que por alli se puede simplificar mas codigo si alguien tiene una sugerencia seria bueno.
gracias

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
RE: AYUDA MANEJO DE TABLAS PIC16F84
« Respuesta #14 en: 01 de Abril de 2006, 08:19:00 »
Escrito originalmente por josenapo
es bueno contar con ideas y opiniones constructivas aunque no todos opinen lo mismo...
tienes razon carcass con la programacion que estoy haciendo no tengo mucho espacio para la primera tabla, estoy trabajando en reprogramarla para eliminar codigo, y la idea de manofwar es muy interesante la estoy analizando, aun no la comprendo muy bien pero alli vamos, no es la forma de codigo que estaba utilizando.
gracias amigos
voy a intentarlo, si hay alguna nueva sugerencia bienbenido sea.


La rutina que te pasó manofwar es la forma más breve que tendrás de leer una tabla de > 256 elementos.  En ese punto no podras eliminar código, al menos no en el PIC que estas usando.

Si usaras un pic más avanzado, te podria indicar a que leas de la memoria FLASH directamente de a 14 bits por vez.  Pero también debieras hacer una rutina más inteligente que te permita a partir de esas lecturas de 14 bits, ir acomodando a los "bytes" que tu deseas sacar por el puerto.  Se entiende la idea?

La otra es que si solo sacaras datos como 0 y 1, no hace falta tomarlos por bytes , sacarlos por 14 bits a la vez sería exactamente lo mismo.  

Pero como te dije antes tu pic NO LO PERMITE.  A veces especificar requerimientos sobre una arquitectura que no la soporta es empezar mal un diseño.  Tenlo en cueenta.  No por mucho que sepas programar podrás resolver todos los problemas si la arquitectura es limitada.  En este caso tienes 2 limitaciones graves
1) Poco espacio de memoria de programa
2) Falta de rutinas de hardware que te permitan leer la memoria flash

Con respecto a como sacar datos de 0 y 1 que te elimine código, la verdad lo más simple es hacer un btfss y si es  0, sacar un 0 y si es 1, sacar un 1.  Luego rotar el byte y nuevamente comprobar.

Esto lo haces 8 veces y listo.  No hay nada más simple que eso.

Espero se te vaya aclarando el panorama.

Saludos
- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)


 

anything