besoin d'aide programme
Répondre à la discussion
Affichage des résultats 1 à 3 sur 3

besoin d'aide programme



  1. #1
    invite09ccbdeb

    besoin d'aide programme


    ------

    bonjour j'ai besoin d'aide sur ce programme que je ne comprends pas

    #include <htc.h>

    unsigned char tab[60],i,dcf_minute,dcf_heure;
    unsigned int TIMER1;

    void interrupt my_isr(void)
    {
    if(INT0IF) //Front sur B0
    {
    if(INTEDG0==1) //si front montant sur INT0
    {
    // timer 0 permet de mesurer le start bit ?
    T0CON = 0b00000100; //configuration du timer 0 ?
    TMR0L = 0xE4; //chargement timer 0 à 0x48E4 ? environ 1,5s
    TMR0H = 0x48;
    TMR0ON = 1; //mise en fonction timer 0

    //timer 1 permet de mesurer largeur impulsion ?
    T1CON = 0b00110100; //configuration du timer 1 ?
    TMR1L = 00; //chargement timer 1 à 0x0000
    TMR1H = 00;
    TMR1ON = 1; //mise en fonction timer 1
    INTEDG0 = 0; //INT0 sur front descendant
    }
    else
    {
    if(INTEDG0==0) //si front descendant sur INT0
    {
    TMR1ON = 0;
    TIMER1 = TMR1H*0x100 + TMR1L; //mise en mémoire du contenu du timer 1
    if(TIMER1 < 18750)
    {
    tab[i]=0; //si impulsion < 150ms mise à 0 valeur tableau
    }
    else
    {
    if(TIMER1< 32000)
    {
    tab[i]=1; //si impulsion < 250ms mise à 1 valeur tableau
    }
    }
    i=i+1; //incremente indice tableau
    dcf_seconde++;
    INTEDG0 = 1; //INT0 sur font montant
    }
    }
    INT0IF = 0; //validation INT0
    }
    if(TMR0IF) //si interruption timer 0 detection bit start
    {
    i=0; //indexe tableau initialisé
    INTEDG0 = 1; //INT0 sur font montant
    TMR0IF = 0; //validation TIMER 0
    dcf_seconde = 0;
    }
    }

    void main()
    {
    IPEN = 1; // valide la prioritée des int
    GIEH = 1; // valide toutes les int non masquées
    TRISB = 0x03;
    TMR0IE=1; // valide debordement TMR0
    INTEDG0 = 1; // int front montant sur INT0
    INT0IE = 1; // valide int sur INT0
    i=0;
    while(1)
    {
    dcf_heure=tab[29]+tab[30]*2+tab[31]*4+tab[32]*8+tab[33]*16+tab[34]*32;
    dcf_minute=tab[21]+tab[22]*2+tab[23]*4+tab[24]*8+tab[25]*16+tab[26]*32+tab[27]*128;
    }
    }


    -----

  2. #2
    invitea674c8fa

    Re : besoin d'aide programme

    Quelques conseils:

    1) Utilises les balises [code ] et [/code ] pour éclaircir tout ca
    2) Dis nous quelle(s) partie(s) tu ne comprends pas, et surtout, ce que tu comprends dedans.

    A+

  3. #3
    invite09ccbdeb

    Re : besoin d'aide programme

    void interrupt my_isr(void)
    {
    if(INT0IF) //Front sur B0
    {
    if(INTEDG0==1) //si front montant sur INT0
    {
    // timer 0 permet de mesurer le start bit ?
    T0CON = 0b00000100; //configuration du timer 0 ?
    TMR0L = 0xE4; //chargement timer 0 à 0x48E4 ? environ 1,5s
    TMR0H = 0x48;
    TMR0ON = 1; //mise en fonction timer 0

    //timer 1 permet de mesurer largeur impulsion ?
    T1CON = 0b00110100; //configuration du timer 1 ?
    TMR1L = 00; //chargement timer 1 à 0x0000
    TMR1H = 00;
    TMR1ON = 1; //mise en fonction timer 1
    INTEDG0 = 0; //INT0 sur front descendant
    }

    je ne comprends pas cette partie la

Discussions similaires

  1. Besoin d'aide pour premier programme PIC16F819
    Par invite057e208e dans le forum Électronique
    Réponses: 5
    Dernier message: 07/12/2008, 11h07
  2. Besoin d'aide pour un petit programme...
    Par flodimoit dans le forum Électronique
    Réponses: 7
    Dernier message: 25/09/2008, 12h56
  3. Besoin d'aide pour un programme simple svp
    Par McCorwin dans le forum Électronique
    Réponses: 23
    Dernier message: 20/08/2008, 16h35
  4. Besoin d'aide pour le programme MCNP
    Par oursgenial dans le forum Physique
    Réponses: 1
    Dernier message: 19/08/2008, 22h14
  5. Besoin d'aide avec le programme Nero 7.
    Par invitea5040bce dans le forum Logiciel - Software - Open Source
    Réponses: 5
    Dernier message: 14/09/2007, 21h39
Découvrez nos comparatifs produits sur l'informatique et les technologies.