Bonjour, je suis débutant dans le domaine de la programmation en langage C, je dois utiliser un programme permettant le décodage d'une trame de DCF77 de façon à obtenir la date et l'heure

Ce programme est inseré dans un PIC18F452

On a choisit de visualiser à 165ms d'ou les valeurs D7 et B7 en effet :
165ms / 16.10^-6 = 10312
FFFF = 65535
65535 – 10312 = 55223 ==> d'ou la valeur D7B7 en héxa

a part ce calcul je ne comprends pas le programme est ce que vous pourriez m'expliquer comment il fonctionne s'il vous plait.

Merci d'avance

Voici le programme :

#include <htc.h>

void interrupt my_isr(void)
{
if(INT0IF) //Front sur B0
{

T0CON = 0x03;
TMR0L = 0xD7;
TMR0H = 0xB7;
TMR0ON = 1;
INT0IF = 0;

}
if(TMR0IF) // débordement du timer 0
{
TMR0ON = 0;
if(RB1)
{
RD0=1;
}
else
{
RD0=0;
}
TMR0IF = 0;
}
}

void main()
{
IPEN = 1;
GIEH = 1;
TRISB = 0x03;
TRISD = 0x00;
RD0=0;
TMR0IE=1;
INT0IE = 1;
INTEDG0 = 1;
while(1)
{
}
}