void INIT(void);
unsigned int count = 0;
unsigned int LED_COUNT = 10;
void interrupt(){
if(INTCON.TMR0IF)
{
count = count + 1;
INTCON.TMR0IF = 0;
}
}
void main()
{
ADCON1 |= 0x0F; // Configure AN pins as digital
CM1CON1 |= 7; // Disable comparators
RCON.IPEN = 1; //enabling priotity level on interrupts
INTCON2.TMR0IP = 1; //high priority level
INTCON.GIE = 1; //global interrupt enable
INTCON.PEIE = 1; //disable all peripheral interrupts
T0CON.T08BIT = 1; //Timer0 is a 8 bit counter
T0CON.T0CS = 0; //increments w/ the internal clock
T0CON.PSA = 0; //prescalar assigned/enabled
T0CON.T0PS0 = 1; //Assign prescalar
T0CON.T0PS1 = 1;
T0CON.T0PS2 = 0;
INTCON.TMR0IE = 1; //enabling TMR0 interrupt on overflow
INTCON.TMR0IF = 0;
T0CON.TMR0ON = 1; //Timer0 is "ON"
while(LED_COUNT > 1)
{
INIT();
}
while(1)
{
Delay_ms(1);
}
}
void INIT(void)
{
TRISD = 0x00;
PORTD = 0x04;
Delay_ms(100);
PORTD.RD2 = !PORTD.RD2;
Delay_ms(100);
LED_COUNT = LED_COUNT - 1;
}