Autor Tema: Cómo obtener 8 bits de cualquier pin del PIC  (Leído 4924 veces)

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

Desconectado todovale22

  • PIC10
  • *
  • Mensajes: 10
Cómo obtener 8 bits de cualquier pin del PIC
« en: 06 de Diciembre de 2004, 22:00:00 »
Hola  para todo los del foro .ya que soy nuevo en esto de los pic  voy a ir despasio
 con mis preguntas  , como dije soy nuevo en los temas  de los pic pero
 creo que podre lograr todo lo que me proponga. yo en aserlo  , claro que para eso
 ase falta de gente como ustedes que  veo que ayudan y ayudan  con gente como uno  eso esta mas que bien  Bueno de mi parte lo felicito a todo los que integran este foro y que  venga la pregunta .....

 ??? como  se ase  para sacar de un pin del pic 16f84 ya sea del puertob,

 ejem,,,  sacar 8 bit  o 16 bit  se puede sacar ??? como ay que ir colocando  las intruciones  , si ay algun  gaucho que me lo esplique despasio esta bien  y si es con ejemplo mejor todavia   muchas gracias y espero sus respuesta


Desconectado Micom

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 783
RE: Cómo obtener 8 bits de cualquier pin del PIC
« Respuesta #1 en: 06 de Diciembre de 2004, 22:46:00 »
Mira compa lo primero que tienes que hacer es lo mismo que hicimos todos, Estudiar ya que tu pregunta suena algo ilogica, primero te sugiero que busques en el inicio de esta misma pagina, ahi encontraras cosas interesantes, ademas hay un subforo para los principiantes hasta hay iniciado un curso, en fin.

Te felicito por empezar y te aconsejo que busques info para leer antes de preguntar. suerte
El programador GTP USB PLUS es un super programador
GRACIAS dobles amigo SISPIC

Tan solo queda seguir sobreviviendo

Desconectado todovale22

  • PIC10
  • *
  • Mensajes: 10
RE: Cómo obtener 8 bits de cualquier pin del PIC
« Respuesta #2 en: 07 de Diciembre de 2004, 21:30:00 »
GRacias .micom por responder
 
 pero me parese que no era la respuesta esperada o bien no me supe  esplicar
 si bien dije  soy nuevo en los temas de los pic o microcontroladores  no es para que usted me mande aver  otras pagina.¿ pero que creo que la culpa la tuve yo por no saber esplicarme  ok gracias  lo mismo
 

 !!! pero la pregunta era como se ase para sacar 8bit de cualquier pin del pic para
darselo a otro IC  EJEM.. ( CD4094  SN74164  EN FIN  ESO ERA GRACIAS
   

     Saludo  ,,,

Desconectado manex_1987

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1127
RE: Cómo obtener 8 bits de cualquier pin del PIC
« Respuesta #3 en: 08 de Diciembre de 2004, 07:40:00 »
Usa las comunicaciones seriales. En PBP y PROTON vienen implementadas como SERIN y SEROUT, no se como son en assembler...

salu2

Desconectado fenix_jn

  • PIC18
  • ****
  • Mensajes: 418
RE: Cómo obtener 8 bits de cualquier pin del PIC
« Respuesta #4 en: 08 de Diciembre de 2004, 20:32:00 »
Ok, supongo que preguntas en assembler... bueno, para sacar datos en forma serial comun y corriente, debes implementar dos pines, uno que generara el la señal de reloj y otro que es la salida de datos, ahora estoy suponiendo que va a pasar los datos a un registro de desplazamiento.

El programa te kedaria mas o menos asi


send_bit    bcf    ptoa, out
                  bcf    ptoa, clk
                  btfsc status, c
                  bsf    ptoa, out
                  call    retardo
                  bsf    ptoa, clk
                  call    retardo
                  return

send_byt   movwf datao
                  movlw 8
                  movwf count
                  bcf       status, c
next           rlf         datao, f
                  call       send_bit
                  decfsz  count, f
                  goto     next
                  return


Ahora los registros te quedan asi
datao ---> Registro de salida de 8 bits
count --->  Contador de bits
ptoa ---> PORTA o cualkier puerto que desees usar (PORTB) (Sorry lo lei despues que publique el mensaje)
clk    ----> el pin que predispongas para hacer el CLK
out   ----> el pin que predispongas para hacer el DATA

No escribi la rutina de retardo porque eso depende de tus necesidades y las caracteristicas del chip (no se a que velocidad kieres transmitir ni a cual chip),
el area en negrita dispone como transmitira el PIC si empezando por el MSB (bit mas significativo) o por el LSB (bit menos significativo), en este caso esta configurado para enviar el MSB, si kieres transmitir el LSB primero, cambia el "rlf" por "rrf", tb debes ajustar la rutina de trsnmision (send_bit) de acuerdo al tipo de chip porq algunos capturan en el flanco ascendente otros en el descendente.

Como puedes ver he colocado la rutina como una subrutina de llamada para usarla debes poner el valor en el registro W que deseas transmitir, bien sea mediante un literal (constante) o cargando el valor desde otro registro y luego llamar la rutina de esta forma:



Caso 1: Constante
main    ...            ;Programa
           movlw   6
           call        send_byt
           ....           ;Continua programa

Caso 2: Desde otro registro
main .....
         movf    registro_de_entrada, w
         call      send_byt



Como ves debes ajustar la rutina, no la uses tal como la escribi, ya con esto tienes el modelo basico de la transmision, lo demas sera ajustes de tiempo y un poco de codigo. Este modelo se aplica a transmisiones de 8 bits, para manejar mas bits el codigo posee unos ligeros cambios pero esta el principio de funcionamiento es el mismo.

Finalmente un par de consejos: Primero, trata de cambiar el titulo de tu topico, esto es porq asi los demas sabremos de que se trata antes de entrar y ya tener una idea de como ayudar y mejora un poco tu ortografia, yo no escribo extremadamente bien pero creo q deberias corregir un poco lo que escribes.

Desconectado todovale22

  • PIC10
  • *
  • Mensajes: 10
RE: Cómo obtener 8 bits de cualquier pin del PIC
« Respuesta #5 en: 09 de Diciembre de 2004, 22:29:00 »
Gracias.micom por responder

pero me párese que no era la respuesta esperada o bien no me supe explicar
si bien dije soy nuevo en los temas de los PIC o microcontroladores no es para que usted me mande haber otras pagina. ¿ Pero que creo que la culpa la tuve yo por no saber explicarme ok gracias lo mismo


!!! Pero la pregunta era como se ase para sacar 8bit de cualquier pin del PIC para
dárselo a otro IC EJEM.. ( CD4094 SN74164 EN FIN ESO ERA GRACIAS
;..............................................................................................................................................
  Bueno espero que así este bien escrito   gracias por tu respuesta  . pero are un comentario sobre
 Tu pedido  con el tema de la falta de ortografía   se que ay que escribir dentro lo mejor posible o
 Escribir bien como se debe . pero si bien  es  cierto  que ay falta de ortografía
 Este foro ¿ enseña  tema de PIC o a escribir?  gracias y perdona si mi falta de ortografía te molesto
 ..............................
   gracias    fénix_jn

        probare  lo que dices con respeto  como debo de escribir para sacar 8 BIT    

Desconectado Micom

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 783
RE: Cómo obtener 8 bits de cualquier pin del PIC
« Respuesta #6 en: 09 de Diciembre de 2004, 22:32:00 »
Exelente explicacion. Saludos
El programador GTP USB PLUS es un super programador
GRACIAS dobles amigo SISPIC

Tan solo queda seguir sobreviviendo

Desconectado peddrorolo

  • PIC12
  • **
  • Mensajes: 56
RE: Cómo obtener 8 bits de cualquier pin del PIC
« Respuesta #7 en: 10 de Diciembre de 2004, 01:25:00 »
Buenos días a todos.
Hola todovale22, no te enfades por los comentarios sobre ortografía que te ha hecho micom. En este foro intentamos ayudar tanto de programación como de cualquier otra cosa. Además tienes razón en que no escribes muy bien y no está demás si alguien te indica los fallos. Sin animo de ofenderte te voy a indicar algunos.
Tú escribiste lo siguiente:

Gracias.micom por responder pero me párese que no era la respuesta esperada o bien no me supe explicar si bien dije soy nuevo en los temas de los PIC o microcontroladores no es para que usted me mande haber otras pagina. ¿ Pero que creo que la culpa la tuve yo por no saber explicarme ok gracias lo mismo !!! Pero la pregunta era como se ase para sacar 8bit de cualquier pin del PIC para dárselo a otro IC EJEM.. ( CD4094 SN74164 EN FIN ESO ERA GRACIAS ;.............................................................................................................................................. Bueno espero que así este bien escrito gracias por tu respuesta . pero are un comentario sobre Tu pedido con el tema de la falta de ortografía se que ay que escribir dentro lo mejor posible o Escribir bien como se debe . pero si bien es cierto que ay falta de ortografía Este foro ¿ enseña tema de PIC o a escribir? gracias y perdona si mi falta de ortografía te molesto .............................. gracias fénix_jn probare lo que dices con respeto como debo de escribir para sacar 8 BIT

Las palabras que he coloreado están mal escritas.
en vez de párese sería parece
en vez de ase sería hace
en vez de ay sería hay

Si más un saludo y sigue participando con tus dudas.

Desconectado Elena2000

  • PIC24F
  • *****
  • Mensajes: 722
RE: Cómo obtener 8 bits de cualquier pin del PIC
« Respuesta #8 en: 10 de Diciembre de 2004, 06:05:00 »
Hola a todos,

Ya he cambiado el asunto de este tema para que sea más explicativo sobre lo que se discute.
Vamos chicos, será mejor centrarse en el problema electrónico de nuestro amigo todovale22 y tratar de ayudarle con los pics, que es lo que realmente nos interesa en este foro. Cada uno se expresa ortográficamente cómo puede o cómo le han enseñado. Está muy bien ayudar a los demás en lo que sea, pero creo que en este caso todovale22 nos ha pedido ayuda con respecto a los pics, no referente a sus posibles errores gramaticales; que además todos los tenemos, ¡¡y eso no es incompatible con saber electrónica !!
A relajarse, nenes, que además hoy por fin es viernes!!!!

Rebotado

Desconectado marmatar

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1220
    • MSTools
RE: Cómo obtener 8 bits de cualquier pin del PIC
« Respuesta #9 en: 10 de Diciembre de 2004, 10:05:00 »
Hola todovale22...
Creo que es evidente que tu pregunta no fué clara en un principio y si bien no es imprescindible escribir correctamente, es cierto que ayuda en enfocarse directamente en el contenido de la pregunta.

Por supuesto no molestan las faltas, pero las correcciones no creo que deban tomarse a mal ya que son en tono constructivo, aunque es cierto que el foro sea específicamente de PICs y electrónica.
Después de todo, está en vos tomar o dejar la corrección.
Para los correctores y corregidos, tomen en cuenta que no hay ninguna reglamentación en el foro que recomiende no tener faltas de ortografía, ni tampoco que impida mencionar o corregir esos errores, así que cada uno tiene la libertad de decir lo que quieran... lo importante es no desvirtuar la escencia del foro, que es compartir información sobre PICs, electrónica, etc. y mantener el canal de comunicación con respeto y, tratando de no herir susceptibilidades.

Está clarísimo que ser un habilidoso en electrónica no tiene mucha relación con comerse un par de haches, comas o acentos... pero convengamos que ésto trae problemas cuando se llegua al extremo de necesitar decodificar el mensaje para poder comunicarse.... ésto va en único perjuicio del que pregunta, ya que muchos foristas saltean la pregunta porque prefieren contestar alguna en que la complicación se de en lo técnico pero no en decodificar... como es el caso de las contracciones del tipo SMS, por ejemplo.

Hay forisas que se esfuerzan en escribir en español, como es el caso de personas de Brasil, Portugal u otros... aquí veo que si bien sufren éstas mismas consecuencias, se contempla ese esfuerzo en las respuestas, pero tambien noto que las correcciones de términos o palabras no son tomadas por ellos como un insulto.

En definitiva, la vida es un conjunto de experiencias... la experiencia es el aprendizaje en base a los errores corregidos... por lo tanto, si el foro es una gran experiencia, sea de PICs o de otras vivencias, y el código que utilizamos para comunicarnos es una de ellas, entonces tratemos de ser mas flexibles y menos susceptibles.... después de todo, aquí estamos para aprender y compartir.
Como dice Elena, hoy es viernes, a relajarse durante el fin de semana, y todovale22 a probar si lo que te pasó fenix_in es lo que necesitas... y de paso si puedes, pégate una vuelta por el tema de principiantes, en mi caso encuentro cosas muy didácticas que siempre ayudan.-

Un abrazo a todos...
marmatar

Lo posible ya está hecho, entonces hagamos lo imposible - Platón

Desconectado todovale22

  • PIC10
  • *
  • Mensajes: 10
RE: Cómo obtener 8 bits de cualquier pin del PIC
« Respuesta #10 en: 10 de Diciembre de 2004, 20:56:00 »
   Hola , gracias muchachos por   el aliento que me dan pero
  No me ofendí cuando me dijo el amigo  que tenia falta de ortografía
 ¿saben por que : jejeje
 Por que  tenia razón  pero  ya verán que  Siempre verán   falta de ortografía
 Pero  bueno yo escribo así  pero tratare  de escribir lo mejor que pueda

   Gracias    y  un abraso a  todos

Desconectado peddrorolo

  • PIC12
  • **
  • Mensajes: 56
RE: Cómo obtener 8 bits de cualquier pin del PIC
« Respuesta #11 en: 13 de Diciembre de 2004, 01:53:00 »
Hola todovale22.
Para contestar a tu pregunta, si se puede sacar tanto 8 bits como 16 bits por un pin de IO del pic 16f84.
Antes de empezar a poner código, deberíamos saber si necesitas solamente los datos del pin o necesitas usar dos pines uno para sacar los datos y otro para sacar un clock con el cual sincronizar los datos con el otro dispositivo. También neceasitamos saber a que velocidad sacaremos los datos por el pin.
Bueno ya iras posteando las necesidades y respondiendo a estas preguntas, mientras tanto un fragmento de codigo en c:

// Inicializaciones del dispositivo.
// Aqui pones las inicializaciones, los device, include, define, etc

void main(void)
{
  int dato,i;
  for(i=0;i<8;i++)
  {
     rotate_left(dato,1);
     Pin de salida=C;
     delay_ms(1);
  }
}

Esto lo tendrías que hacer con el compilado de CCsC, que comúnmente se utiliza en este foro. Dato es la variable de 8 bits que quieres transmitir, Pin de salida es el pin por el cual quieres sacar la información, deberá estár configurado corectamente con TRIS y el puerto que sea. Luego te he puesto un retardo de 1 ms pero yo lo haría por interrupción del Timer, si es así me lo dices y vamos completando el código.
Se me olvidaba, C es el carry.

Un saludo Pedro.

Desconectado todovale22

  • PIC10
  • *
  • Mensajes: 10
RE: Cómo obtener 8 bits de cualquier pin del PIC
« Respuesta #12 en: 13 de Diciembre de 2004, 20:00:00 »
       Hola.  Bueno gracias ( peddrorolo)   por  el comentario

     Pero no ay duda que yo de entrada no puse bien lo que
 Quería  hacer   Fue mi culpa pero voy a ser algo mejor pondré
 
El circuito eléctrico así verán que es lo que  yo quiero armar  y con todo
Ustedes que son un bocho  seguro lo lograremos   solo un cosa mas como pego
Una imagen  para que todo las vean y así puedan opinar gracias a todos
   
                   saludo ,,,,

Desconectado Micom

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 783
RE: Cómo obtener 8 bits de cualquier pin del PIC
« Respuesta #13 en: 13 de Diciembre de 2004, 20:38:00 »
Hay dos formas una que inclullas tu imagen en alguna pagina web y que inclullas la direccion en  otro mensaje y la otra es colocarla en el almacen pero creo que ahun no tienes nivel para hacerlo si quieres mandamelo y lo subo al almacen. Suerte
El programador GTP USB PLUS es un super programador
GRACIAS dobles amigo SISPIC

Tan solo queda seguir sobreviviendo

Desconectado todovale22

  • PIC10
  • *
  • Mensajes: 10
RE: Cómo obtener 8 bits de cualquier pin del PIC
« Respuesta #14 en: 13 de Diciembre de 2004, 21:40:00 »
ok gracias.  Micom  ya  la termino y te la paso a tu correo  

              gracias


 

anything