Está en la página 1de 1

/* Bibliotecas a utilizar */

#include <xc.h>
#include <pic18f4550.h>

/* Bits de configuración */
#pragma config LVP = OFF // Programación en bajo voltaje deshabilitada
#pragma config WDT = OFF // Temporizador guardián deshabilitado
#pragma config FOSC = HS // Oscilador a cristal de alta frecuencia ( 4MHz a 20MHz)
#pragma config PWRT = ON // Temporizador de reset interno habilitado
#pragma config BOR = ON // Reset por falla de energia activado
#pragma config BORV = 3 // Minimo nivel de voltaje para Reset por falla de energía
#pragma config STVREN = ON // Reset debido a reescritura de la pila

/* Definición de macros == alias */


#define _XTAL_FREQ 20000000 // Oscilador a cristal de 20MHz

/*Prototipos de funciones de usuario */


void Tarea_Principal(void);

/* Variables Globales*/
char cont = 0;

/* Programa principal*/
void main(void)
{
/* Variables locales */
unsigned char k = 0;

TRISD = 0x00; // Configura Puerto D --> salida, antes de usarse


Tarea_Principal(); // LLamada a función
}

/* Código de tarea principal a ejecutar */


void Tarea_Principal(void)
{
while(2) // Ciclo infinito
{
PORTD = 0x0F; // Dato de 8 bits en Puerto D
Nop(); // Espera 1CM (4Tosc)
Nop(); // Espera 1CM (4Tosc)
__delay_ms(100); // Función retardo de 100ms
PORTD = 0xF0; // Dato de 8 bits en Puerto D
__delay_ms(100); // Función retardo de 100ms
} // Ciclo while
} // Ciclo main

También podría gustarte