PIC18F parpadea led

0

Hola, estoy intentando parpadear el LED con 18f4550, y no estoy teniendo éxito.

He definido el PORTD como salida, TRISD = 0;

Estoy tratando de parpadear led con un retraso de 50 ms en mplabx y xc8,

No quiero usar los LATDbits para configurar el led en Alto. En lugar de eso estoy intentando

PORTD = 0b00000000; formato.

Muestra

#include<pic18f4550>
#define _XTAL_FREQ 2000000

void main(void)
{
 TRISD=0; //output
    while(1)
      {
         PORTD = 0b10000000; // Dont want to use LATDbits.RD0=1;
         __delay_ms(50);
         PORTD = 0b01000000;
        __delay_ms(50);
   } 
} 

Si estoy usando LATDbits.RD0 = 1; entonces está funcionando bien como se supone que debe ser. Pero quiero usar PORTD = 0b00000000; Formato porque es poco conveniente. ¿Estoy haciendo algo mal?

    
pregunta Sanju

1 respuesta

3

Si está utilizando RD0 para el LED, el orden de sus asignaciones de bits PORTD se invierte. Cambie a PORTD = 0b00000001; etc.

Como mencionó Matt, se prefiere el uso de LATD para las salidas.

    
respondido por el Tut

Lea otras preguntas en las etiquetas