Autor Tema: entradas por pines  (Leído 4254 veces)

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

Desconectado STICK_MASTER

  • PIC10
  • *
  • Mensajes: 30
entradas por pines
« en: 04 de Julio de 2008, 21:56:57 »
buenas noches

resulta q en esta ocasion necesito hacer un control de pulsos altos "high" y bajos "low" en un dos pines de un micro 16f877a

conozco la instruccion if(input_pinb0) ; esta me sirve para entradas de pulsos altos pero como hago si necesito decirle al micro que haga algo con una entrada baja y otra cosacon una entrada alta

mil gracias de antemano :-/
Lo importante no es de lo que dispones lo importante es como lo uses

Desconectado firepic

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1130
    • JC Servicios
Re: entradas por pines
« Respuesta #1 en: 04 de Julio de 2008, 22:49:09 »
Buenas noches.
Podrías usar un sencillo if... else...
No sé qué compilador usas, pero en el CCS sería algo así:
Código: C
  1. while(TRUE) //ciclo infinito
  2. {
  3.      if(input(PIN_B0))
  4.      {
  5.        //Código a ejecutar si la entrada está en alto
  6.       }
  7.       else
  8.       {
  9.        //Código a ejecutar si la entrada está en bajo
  10.        }
  11. }

Espero te sirva. Saludos, nos leemos!  :mrgreen:
"Por la presunción solo se ocasiona una lucha, pero con los que consultan juntos hay sabiduría" (Proverbios 13:10).
Visita Mi Sitio Web

Desconectado Gonzalo_BlackHawk

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 519
Re: entradas por pines
« Respuesta #2 en: 04 de Julio de 2008, 23:01:22 »
Hola stick, estaba escribiendo la respuesta cuando firepic me la saco de las manos  :D. Sin resentimientos fire.

Para no ponerme triste dejo otra opción, esta define la entrada baja en forma explícita por si necesitas analizar los estados bajos y altos en dos partes distintas del código.

Código: C
  1. if(input(PIN_B0)) {
  2.        // Lo que hay que hacer cuando la entrada es uno.
  3. }
  4.  
  5. // Aca coloca el código que quieras.
  6.  
  7. if(! input(PIN_B0)){
  8.        // Lo que hay que hacer cuando la entrada es cero.
  9. }

Saludos.
"Siempre piensa si el jugo vale la exprimida..."

"La muerte esta tan segura de vencer que nos da toda una vida de ventaja."

Desconectado firepic

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1130
    • JC Servicios
Re: entradas por pines
« Respuesta #3 en: 04 de Julio de 2008, 23:03:31 »
 :D Hombre, que parece que siempre estamos escribiendo al mismo tiempo!  :D
Esa está muy buena Gonzalo!  :)
Un cordial saludo!  :mrgreen:
"Por la presunción solo se ocasiona una lucha, pero con los que consultan juntos hay sabiduría" (Proverbios 13:10).
Visita Mi Sitio Web

Desconectado STICK_MASTER

  • PIC10
  • *
  • Mensajes: 30
Re: entradas por pines
« Respuesta #4 en: 05 de Julio de 2008, 14:38:55 »
Gonzalo, Firepic muchas gracias resolvieron mi duda

Un saludo desde Colombia :-/
Lo importante no es de lo que dispones lo importante es como lo uses

Desconectado alex_angeluz01

  • PIC10
  • *
  • Mensajes: 14
Re: entradas por pines
« Respuesta #5 en: 06 de Julio de 2008, 20:36:38 »
ola se como configurar pero tengo que llamar una rutina para revisar en el puerto b si esta activo ono el pulsador antes de colocar el porgrama

Desconectado firepic

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1130
    • JC Servicios
Re: entradas por pines
« Respuesta #6 en: 07 de Julio de 2008, 11:55:47 »
Saludos Alex.
No entiendo muy bien tu pregunta, tal vez si tratas de explicarte mejor se te puede dar una respuesta.
Ok nos leemos!
"Por la presunción solo se ocasiona una lucha, pero con los que consultan juntos hay sabiduría" (Proverbios 13:10).
Visita Mi Sitio Web

Desconectado alex_angeluz01

  • PIC10
  • *
  • Mensajes: 14
Re: entradas por pines
« Respuesta #7 en: 09 de Julio de 2008, 00:25:27 »
ola sip mira tengo esto
if( input(PIN_B0==0))
   DATO 1;
Aca vamos a poder seleccionar con 4 pulsadores en el puerto B , 4 secuencias distintas de los leds colocados en el puerto D.
los pulsadores se me activan con 0 sip  pero tengo que ir a revisar en el pulsador si esta en 0 para hacer eso :D por que tenemos pull up :D en la praqeuta del entrenador :D

       

Desconectado scientist

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 999
Re: entradas por pines
« Respuesta #8 en: 09 de Julio de 2008, 00:36:15 »
pues  mira, esta mal como escribiste if( input(PIN_B0==0)), ya que cuando ponemos if( input(PIN_B0)) le decimos SI el puerto b0 detecta nivel alto, entonces haz ........., el 'else' sirve para decirle, sino es cero, entonces haz otra cosa, si quieres poner para diferentes puertos, solamente por if (input(pin_bX)) 4 veces, para el puerto que quieras, espero haberme explicado, ejemplo


Código: [Seleccionar]

if (input(pin_b0)){
/////hago una cosa
}

if (input(pin_b1)){
////////hago lo otro
}



y asi sucesivamente, saludos
NO le digas a DIOS que tienes un gran problema, dile a tu problema que tienes un GRAN DIOS!!
Alma mia y castillo mio, mi Dios en quien yo confiare....

Desconectado firepic

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1130
    • JC Servicios
Re: entradas por pines
« Respuesta #9 en: 09 de Julio de 2008, 10:18:36 »
Pues Alex, tal como te ha dicho scientist, tienes mal hecha la sintaxis del input. La instrucción input en CCS te devuelve un valor TRUE cuando el pin está en alto, y un valor FALSE cuando está en bajo.
La sintaxis correcta sería la que te dejo Gonzalo, poniendo un negador que anteceda a la instrucción:

Código: C
  1. if(!input(PIN_B0))
  2. {
  3.         // código a ejecutarse cuando el pin está en nivel bajo.
  4. }

Entonces lo que primero se ejecuta es el input, que si está en valor bajo el RB0, devolverá un FALSE, pero con el negador, cambia a TRUE, por lo cual se cumple la condición del if y se ejecuta el código respectivo. Entonces quedaría tal como te lo ha colocado scientist, pero con los negadores antes del input, ya que como has dicho los pulsadores cuando se activan colocan nivel bajo.
Otra cosa es que no deberías tener problemas con las pull-up. De todos modos un pulsador que se active en 0 siempre lleva una resistencia de Pull-up.

Mientras vayas desarrollando tu proyecto puedes ir subiendo tus avances.
Saludos, nos leemos!  :mrgreen:
"Por la presunción solo se ocasiona una lucha, pero con los que consultan juntos hay sabiduría" (Proverbios 13:10).
Visita Mi Sitio Web

Desconectado alex_angeluz01

  • PIC10
  • *
  • Mensajes: 14
Re: entradas por pines
« Respuesta #10 en: 09 de Julio de 2008, 23:08:33 »
ok grax si ya se como empesar pero tengo uqe activar los pulsadores y tengo resistencuias pull up y estan se activan con cero como hago para qeu se activen cuando sea cero sin qeu el me mire si esta en cero o no :D

Desconectado firepic

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1130
    • JC Servicios
Re: entradas por pines
« Respuesta #11 en: 09 de Julio de 2008, 23:11:26 »
Monta un esquema de cómo tienes conectado el pulsador, para saber si lo estás haciendo correctamente.
Saludos, nos leemos!  :mrgreen:
"Por la presunción solo se ocasiona una lucha, pero con los que consultan juntos hay sabiduría" (Proverbios 13:10).
Visita Mi Sitio Web

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: entradas por pines
« Respuesta #12 en: 09 de Julio de 2008, 23:45:43 »
.. estan se activan con cero como hago para qeu se activen cuando sea cero sin qeu el me mire si esta en cero o no :D

 :shock: :shock:

Si a "el" te refieres al PIC  :D, la mejor manera es hacerlo por interrupciones, pero de igual manera "el" debe "mirar" si hay un cambio de estado en los pines para asignar por codigo que es lo que se quiere hacer con la accion de cada pulsador.

Saludos.
El papel lo aguanta todo

Desconectado firepic

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1130
    • JC Servicios
Re: entradas por pines
« Respuesta #13 en: 10 de Julio de 2008, 00:08:48 »
Hombre, con razón yo no entendí Miguel... ustedes entre colombianos como que se entienden mejor  :D
A ver qué dice Alex sobre lo que le mencionas.
Saludos, nos leemos!  :mrgreen:
"Por la presunción solo se ocasiona una lucha, pero con los que consultan juntos hay sabiduría" (Proverbios 13:10).
Visita Mi Sitio Web

Desconectado alex_angeluz01

  • PIC10
  • *
  • Mensajes: 14
Re: entradas por pines
« Respuesta #14 en: 11 de Julio de 2008, 01:34:38 »
a OK ya entendi grax :D :-/


 

anything