TODOPIC

Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: Angelito83MZ en 10 de Julio de 2013, 09:57:22

Título: Dos Pulsadores y un Led???
Publicado por: Angelito83MZ en 10 de Julio de 2013, 09:57:22
Buenas, mi nombre es Angel, me estoy iniciando en el mundo de los Microcontroladores, tengo una consultan y sepan disculpar la sencillez de la respuesta pero la verdad que no se como se realiza..

Estoy utilizando el cmpilador ccs y quiero que dos entradas al estar en alto me reflejen una salida. Esto se hace co && o con ==?? Como seria el codigo para orientarme, o tendria que usar el If anidado.. El tema es que tengo que programar una Tabla de la verdad, entonses para 00 me da un resultado para 01 otro etc etc..

Espero puedan ayudarme. Muchas gracias..

Lo que probe pero nu funciono fue esto:

#include <18f4221.h>
#use delay (clock=4000000)
#fuses NOWDT
#fuses hs
#fuses PUT


                                                        ////
Void main ()
{

while(1)
{
       if(input(PIN_C0==1 && PIN_C1==1))

        output_high(pin_D7);
        delay_ms(1000);
}

}
Título: Re: Dos Pulsadores y un Led???
Publicado por: jukinch en 10 de Julio de 2013, 11:33:58
Hola ángel debes separar al input en dos input

       if(input(PIN_C0==1) && input(PIN_C1==1))
Título: Re: Dos Pulsadores y un Led???
Publicado por: knozis en 20 de Julio de 2013, 19:51:48

Correcto, como te dijo el amigo jukinch el codigo vendria quedando de la siguiente manera. Esto para poder hacer la comparacion entre ambas y delimitar ambas condiciones.


Código: [Seleccionar]



#include <18f4221.h>
#use delay (clock=4000000)
#fuses NOWDT
#fuses hs
#fuses PUT


                                                        ////
Void main ()
{

while(1)
{
       if(input(PIN_C0==1) && (PIN_C1==1))

        output_high(pin_D7);
        delay_ms(1000);
}

}

Título: Re: Dos Pulsadores y un Led???
Publicado por: kain589 en 21 de Julio de 2013, 06:37:30
No se si sera por version de compilador, pero creo que usando la funcion input no hace falta el igualar a 1, el codigo puede quedar:

Código: C
  1. if(input(PIN_C0) && input(PIN_C1))

Incluso si quieres que sea uno a alta y otro a baja:

Código: C
  1. if(input(PIN_C0) && !input(PIN_C1))