domingo, 9 de febrero de 2014

MICROCONTROLADORES PIC 31: WHILE(MIENTRAS) EN XC8.

          En el siguiente ejemplo realizado para programar el PIC16F84A  con el XC8, se comenta sobre la utilización de la instrucción WHILE para realizar ciclos repetitivos(bucles); en este ejemplo se programa el pic mediante while anidados. 
              
            El vídeo es el siguiente:


            El diagrama de flujo y el esquema del circuito se muestra a continuación:


            El programa realizado en el XC8 utilizado en el ejemplo es el siguiente:

#pragma config FOSC = XT        // Oscillator Selection bits (XT oscillator)
#pragma config WDTE = OFF       // Watchdog Timer (WDT disabled)
#pragma config PWRTE = ON       // Power-up Timer Enable bit (Power-up Timer is enabled)
#pragma config CP = OFF         // Code Protection bit (Code protection disabled)

#include <xc.h>
#define _XTAL_FREQ 4000000

void main(void) {
    TRISBbits.TRISB2=1;       //entrada
    TRISBbits.TRISB3=0;        //salida
    TRISBbits.TRISB4=0;       //salida
    TRISBbits.TRISB5=1;       //entrada

    PORTBbits.RB3=0;
    PORTBbits.RB4=0;

    while(1){

        while(PORTBbits.RB2==0){                         //bucle exterior
            __delay_ms(2);
            PORTBbits.RB3=~PORTBbits.RB3;

                while(PORTBbits.RB5==0){                     //bucle anidado
                    __delay_ms(1);                                      //dentro del bucle
                    PORTBbits.RB4=~PORTBbits.RB4;     //exterior
                }
        }

    PORTBbits.RB3=0;                               
    PORTBbits.RB4=0;
    }
    return;
}



No hay comentarios:

Publicar un comentario