Autor Tema: Ayuda: Indicar posición media en un potenciómetro  (Leído 2728 veces)

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

Desconectado BlueDemon

  • PIC10
  • *
  • Mensajes: 10
Ayuda: Indicar posición media en un potenciómetro
« en: 29 de Marzo de 2011, 01:31:29 »
Hola a todos, tengo que colocar un led en un Atmega16 que me indique cuando el potenciómetro de cada conversor A/D está en la mitad.

El puerto de salida es PORTC y los leds están puestos a GND, o sea que prenden con un 1 lógico.

Este código está andando para la primera parte: El encendido de los leds, no se como hacer para apagarlos :S

//LED ADC0
if(channel==0)
  {
   if(midiMsg[3]>=63 && midiMsg[3]<=65)
     PORTC|=0x01;  //ENCIENDE EL LED CORRESPONDIENTE AL PIN 1 DEL PORTC
   else
     //SI EL LED ESTA APAGADO, LO SIGO DEJANDO APAGADO
     //SI EL LED ESTA PRENDIDO, LO APAGO
    PORTC=PORTC;  //INSTRUCCION INUTIL PARA QUE NO ME DE ADVERTENCIAS NI ERRORES AL COMPILAR
  }

//LED ADC1
if(channel==1)
  {
   if(midiMsg[3]>=63 && midiMsg[3]<=65)
     PORTC|=0x02;  //ENCIENDE EL LED CORRESPONDIENTE AL PIN 2 DEL PORTC
   else
     PORTC=PORTC;
  }

//LED ADC2
if(channel==2)
  {
   if(midiMsg[3]>=63 && midiMsg[3]<=65)
     PORTC|=0x04;  //ENCIENDE EL LED CORRESPONDIENTE AL PIN 3 DEL PORTC
   else
     PORTC=PORTC;
  }

//LED ADC3
if(channel==3)
  {
   if(midiMsg[3]>=63 && midiMsg[3]<=65)
     PORTC|=0x08;
   else
     PORTC=PORTC;
  }

.
.
.
.

Agradecería su ayuda!

Saludos!

Desconectado BlueDemon

  • PIC10
  • *
  • Mensajes: 10
Re: Ayuda: Indicar posición media en un potenciómetro
« Respuesta #1 en: 29 de Marzo de 2011, 12:25:03 »
Problema solucionado:

//LED ADC0
if(channel==0)
  {
   if(midiMsg[3]>=63 && midiMsg[3]<=65)
     PORTC|=0x01;
   else
     PORTC &= ~(0x01);
  }

//LED ADC1
if(channel==1)
  {
   if(midiMsg[3]>=63 && midiMsg[3]<=65)
     PORTC|=0x02;
   else
     PORTC &= ~(0x02);
  }

//LED ADC2
if(channel==2)
  {
   if(midiMsg[3]>=63 && midiMsg[3]<=65)
     PORTC|=0x04;
   else
     PORTC &= ~(0x04);
  }

//LED ADC3
if(channel==3)
  {
   if(midiMsg[3]>=63 && midiMsg[3]<=65)
     PORTC|=0x08;
   else
     PORTC &= ~(0x08);
  }

//LED ADC4
if(channel==4)
  {
   if(midiMsg[3]>=63 && midiMsg[3]<=65)
     PORTC|=0x16;
   else
     PORTC &= ~(0x16);
  }

//LED ADC5
if(channel==5)
  {
   if(midiMsg[3]>=63 && midiMsg[3]<=65)
     PORTC|=0x32;
   else
     PORTC &= ~(0x32);
  }


 

anything