Caída de voltaje en el pin de E / S del microcontrolador AVR Tiny

1

I Estoy trabajando en un proyecto basado en un microcontrolador AVR Tiny85 que se interconecta con un LED RGB. Para probar los pines de E / S de Tiny Board, he escrito un código de prueba de muestra para alternar la E / S.

Código de prueba

#include <avr/io.h>     
#include <util/delay.h>

// This program will turn the LEDs on for 100ms, 
// then off for 200ms, endlessly.

int main(void)
{
  // Set Port B pins for 3 and 4 as outputs
  // PORTB bit 3 = physical pin #2 on the ATTINY85
  // PORTB bit 4 = physical pin #3 on the ATTINY85

  DDRB = 0x18;  // In binary this is 0001 1000 (note that is bit 3 and 4)
  // AVR-GCC also would accept 0b00011000, by the way.

 // Set up a forever loop 
 for ( ; 1==1 ; )  // loop while 1 equals 1
  {
    // Set Port B pins for 3 and 4 as HIGH (i.e. turn the LEDs on)
    PORTB = 0x18;   // If we wanted only PB4 on, it'd be PORTB=0x10

    // Use a function (defined in delay.h) to pause 500 milliseconds
    _delay_ms(500);

    // Set PORTB to be all LOWs (i.e. turn the LEDs off)
    PORTB = 0x00;

    // Delay for a 500ms
    _delay_ms(500);
  }

return 1;
}

Issues:

Cuando conduzco el pin de E / S como 1 o 0, la salida debería alcanzar el Vcc o el GND respectivamente. Pero cuando conecto el LED a GND y una de estas E / S (Pin 3 y 4), el pin dirige el LED hasta VCC, pero para la condición de apagado, la E / S aún tiene algo de voltaje en relación con GND. En este caso, el LED no está completamente apagado.

¿Cuál podría ser la posible razón de este problema? Por favor consejo

Gracias

Salida del alcance:

He cambiado el tiempo de retardo a 500 ms para obtener una indicación visual del estado ON y OFF

Schamatic:

    
pregunta Kunal Sonone

0 respuestas

Lea otras preguntas en las etiquetas