Autor Tema: Ayuda 16F84!!!  (Leído 2148 veces)

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

Desconectado manuelroin24

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 665
Ayuda 16F84!!!
« en: 03 de Septiembre de 2006, 13:14:02 »
Bueno les escribio pidiendo una ayuda clave estaba leyendo la data sheet del 16F84 bueno en ella dice que tiene un BUS de direcciones de 7 BITS pero en la data sheet se ve claramente que van viajando 5 bits y de pronto aparecen 7 bits al llegar a la RAM (Memoria de Datos)

De donde salen estos 2 BITS ????

Bueno esa es la primera parte ahora si esto fuera de 7 BITS la memoria de datos seria de solo 128 BYTES pero en la Hoja tecnica dice que es de 256 Bytes partida en 2 Bancos bueno si la memoria fuera de 256 Bytes esto quiere decir que el bus de direcciones seria de 8 bits ya que de esta manera podriamos direccionarnos a 256 direcciones de memoria,  como es que pasa esto de donde sacaria un bit mas si es que fuera el caso ?????
El conocimiento se consigue a base de esfuerzo...

Desconectado tapi8

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1506
Re: Ayuda 16F84!!!
« Respuesta #1 en: 04 de Septiembre de 2006, 05:48:31 »
mientras no te contesta otro que sepa mas que yo te dire que el 16f84a tiene dos bancos de RAM de 80 registros de 8 bits cada uno de los cuales los primeros de cada banco son para los registros especiales (status, options etc).
lo del BUS de 5 bits que se convierten en 7 no se de donde lo sacas pero si es verdad me quedo flipao. el BUS de direcciones lo forma el pcl (parte baja del contador deprograma) y el pclatch que es la parte alta de ese mismo contador este si tien 5 bits y en el caso del 16f84a no se usan todos porque solo tien 1024 bytes y no son necesarios todos. solo con el pcl se controlarian 256 bytes por eso a partir de ahi hay que recurrir al pclatch.
espero haberte aclarado algo
un saludo tapi8

Desconectado BrunoF

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3865
Re: Ayuda 16F84!!!
« Respuesta #2 en: 10 de Septiembre de 2006, 06:52:09 »
Hola.
Mira, la RAM esta dividida en 2 bancos.
Cada instruccion de esta familia es de 14 bits. El espacio asignado a la seleccion de RAM es de 7 bits.
Por lo tanto, el bus deberia ser de 7 bits y no de 5 como figura en el datasheet,excepto que haga referencia a el otro modelo de pic, aunque tampoco me parece correcto para este.

En total, deberian entrar al Addr Mux 8 bits. No 7. El 8vo bit, si bien no es incluido en la instruccion, sí direcciona a la memoria RAM, y es el bit 5(RP0) del registro STATUS.

Puede que sea algun error del datasheet no documentado.
Tal vez Maunix que conoce bien la arquitectura de estos "bichitos" pueda sacarte completamente de dudas. Yo la verdad que jamas me habia detenido a ver ese cuadro(pagina 8(segun contador del Acrobat Reader) del datasheet del 16F84)

Saludos.

"All of the books in the world contain no more information than is broadcast as video in a single large American city in a single year. Not all bits have equal value."  -- Carl Sagan

Sólo responderé a mensajes personales, por asuntos personales. El resto de las consultas DEBEN ser escritas en el foro público. Gracias.

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: Ayuda 16F84!!!
« Respuesta #3 en: 10 de Septiembre de 2006, 15:05:16 »
manuelroin24 , antes de responder quisiera que subieras el texto donde leíste lo que dices haber leído.

Eso aclarará todo o al menos me da el "contexto" en el que leíste lo que leíste  :) :)

Bruno, gracias por tu confianza en mis conocimientos  :wink:   , espero no defraudarte cuando manuel suba el texto!

Eso sí que sonó a frase de político no? "no los voy a defraudar!"  :D :D :D
- 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 BrunoF

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3865
Re: Ayuda 16F84!!!
« Respuesta #4 en: 10 de Septiembre de 2006, 18:33:49 »
jejeje si...la verdad que sono asi.
Fijate en la pagina 8 del datasheet Mauricio, hay un cuadro en el que se ve claramente lo que se comenta.
Saludos.
"All of the books in the world contain no more information than is broadcast as video in a single large American city in a single year. Not all bits have equal value."  -- Carl Sagan

Sólo responderé a mensajes personales, por asuntos personales. El resto de las consultas DEBEN ser escritas en el foro público. Gracias.

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: Ayuda 16F84!!!
« Respuesta #5 en: 11 de Septiembre de 2006, 08:52:59 »
manuelroin24, me puse a ver el datasheet y entiendo tus dudas, he aquí mi explicación de lo que interpreto.

1) El PIC en cuestión (como todos los de la familia 16F) tiene 127 bytes que puede acceder desde la instrucción misma.  Si uno quiere acceder más alla, entonces recurre a los bits de página RP0 y RP1.

2) En el gráfico del 16F84 falta, a mi entender, el bit de STATUS RP0 para clarificar bien el gráfico pero éste solo se usa para memoria de SFR y no para memoria de datos ya que la misma, está mapeada totalmente en el banco 0.

3) Lo que ves de 5 bits en el instruction reg considero que es erróneo, ya que el 16F83 accede hasta 0x2F (6 bits) y el 16F84 hasta 0x4F (7 bits).  En ambos casos, no sería 5 por lo cual es probable que este 5 haya quedado como "algo que se venia usando" en los 16Cx4 anteriores a este.  Tal vez me esté olvidando de algo pero al menos es mi opinión del tema. 

4) Lo que ves de 7 bits que salen del SFR es porque con direccionamiento indirecto tu puedes apuntar de 0x00 a 0x7F sin cambiar la página.  El RAM Bank #1, en la parte del 0x8C en adelante está mapeado también en página 0, es decir son la misma página (no se le hace caso al bit #8).  Por eso nuevamente son 7 bits.

Espero se te haya aclarado el punto.
- 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 juanma

  • PIC10
  • *
  • Mensajes: 16
Re: Ayuda 16F84!!!
« Respuesta #6 en: 13 de Septiembre de 2006, 15:04:48 »
¡Hola! Si ayuda en algo, yo tuve ese mismo problema de no saber cuando tenía de direccionamiento y en la gráfica de la página 3 del manual están malos 2 datos.

Lo correcto sería:

Para direccionamiento directo son 7 bits
Para direccionamiento indirecto son 8 bits

Desconectado manuelroin24

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 665
Re: Ayuda 16F84!!!
« Respuesta #7 en: 31 de Octubre de 2006, 12:21:11 »
Muchas gracias maunix como siempre ayudando pero aca el amigo me sale coinfundiendo jejejeje
El conocimiento se consigue a base de esfuerzo...


 

anything