bonjour, je suis étudiant en premiére année de bts et je dois expliquer ce programme mais je ne comprends pas, pouvez vous m'aidez svp
#include <htc.h>
unsigned char tab[60],i,dcf_minute,dcf_heure;
void interrupt my_isr(void)
{
if(INT0IF==1) //Front sur B0
{
if(INTEDG0==1)
{
T0CON = 0b00000011;
TMR0L = 00;
TMR0H = 00;
T1CON = 0b11100000;
TMR1L = 00;
TMR1H = 00;
TMR0ON = 1;
TMR1ON = 1;
INT0IF = 0;
INTEDG0 = 0; // int front descendant sur INT0
}
if(INTEDG0==0)
{
if((TMR1H*100 + TMR1L)< 18750)
{
tab[i]=0;
}
else
{
if((TMR1H*100 + TMR1L)< 31250)
{
tab[i]=1;
}
}
i=i+1;
INT0IF = 0;
INTEDG0 = 1;
}
}
if(TMR0IF)
{
i=0;
INTEDG0 = 1;
TMR0IF = 0;
}
}
void main()
{
IPEN = 1; // valide la prioritée des int
GIEH = 1; // valide toutes les int non masquées
TRISB = 0x01;
// TRISD = 0x00;
// RD0=0;
TMR0IE=1; // valide debordement TMR0
INT0IE = 1; // valide int sur INT0
INTEDG0 = 1; // int front montant sur INT0
i=0;
while(1)
{
dcf_minute=tab[21]+tab[22]*2+tab[23]*4+tab[24]*8+tab[25]*16+tab[26]*32+tab[27]*128;
}
}
-----