#include <xc.h>
// Configuración del microcontrolador (asegúrate de configurar los fusibles según tu necesidad)
#pragma config FOSC = HS // Oscilador de alta velocidad
#pragma config WDTE = OFF // Watchdog Timer Enable bit (WDT disabled)
#pragma config PWRTE = OFF // Power-up Timer Enable bit (PWRT disabled)
#pragma config BOREN = ON // Brown-out Reset Enable bit (BOR enabled)
#pragma config LVP = OFF // Low Voltage In-Circuit Serial Programming Disable bit (RB3 is digital I/O, HV on MCLR must be used for programming)
#pragma config CPD = OFF // Data EEPROM Memory Code Protection bit (Data EEPROM code protection off)
#pragma config WRT = OFF // Flash Program Memory Write Enable bits (Write protection off)
#pragma config CCP2MX = PORTC // CCP2 MUX bit (CCP2 input/output is multiplexed with RC1)
// Definiciones del oscilador
#define _XTAL_FREQ 20000000 // Frecuencia del oscilador 20 MHz
unsigned int count = 0; // Variable de 16 bits para contar de 0 a 500
void main(void) {
TRISD = 0x00; // Configurar PORTD como salida
while (1) {
if (count <= 500) {
LATD = count; // Mostrar el valor del contador en PORTD
__delay_ms(500); // Retardo de 500 ms
count++; // Incrementar contador
} else {
count = 0; // Reiniciar el contador cuando llega a 501
}
}
}