PIC 16F84 et Interruptions
Répondre à la discussion
Affichage des résultats 1 à 9 sur 9

PIC 16F84 et Interruptions



  1. #1
    invite713fbb16

    PIC 16F84 et Interruptions


    ------

    Bonsoir, après avoir lu plein de documentation sur les interruptions sur un 16F84 je me suis lancé (et j'ai simulé sur isis proteus).


    Voici mon programme:

    Code:
    void interrupt()
    {
     INTCON.INTF = 0 ;
     PORTB = 0xFF;
     Delay_ms(1000);
     PORTB = 0x00;
     Delay_ms(1000);
     }
    
    void main(){
    
    int i;
    TRISB=0x01;
    PORTB=0x00;
    
    
    while(1)
     {
      INTCON.GIE= 1;
      INTCON.INTE = 1;
      OPTION_REG = 0b01000111 ;
     
      for(i=2;i<=255;i=i*2)
         {
          Delay_ms(100);
          PORTB=i;
          }
    
      while(i>=2)
         {
          PORTB=i;
          Delay_ms(100);
          i=i/2;
          }
     }
    }
    Donc voila, quand je simule, tout marche bien, sauf que quand je lance l'interruption, elle marche niquel, mais si je relance une deuxième fois l'interruption, rien ne se passe.

    Quand j'arrête la simulation et je la redémarre, elle me fais la même chose.

    Quelqu'un peux m'expliquer d'ou viens problème s'il vous plait ?

    Le programme en HEX:

     Cliquez pour afficher

    -----

  2. #2
    Forhorse

    Re : PIC 16F84 et Interruptions

    J'y connais rien au C, mais je dirais qu'il manque l'équivalent d'un RETFIE à la fin de ta routine d'interruption.
    Ensuite j'espère que c'est juste pour faire une essais, car une interruption doit être la plus courte et la plus rapide possible. Là une routine qui dure 2 secondes c'est pas envisageable pour une application serieuse.

  3. #3
    Gérard

    Re : PIC 16F84 et Interruptions

    Qu'est ce qui doit "lancer" ton interruption ?

  4. #4
    invite713fbb16

    Re : PIC 16F84 et Interruptions

    Merci pour vos réponses, alors je réponds ^^.

    Oui j'ai remarqué que mon interruption était un longue, mais elle "rentre" dans le programme donc bon de ce coté j'suis tranquil, surtout qu'elle se lance une première fois.

    Ben ce qui lance l'interruption c'est le changement d'état sur PORTB.RB0 comme je l'ai indiqué sur cette instruction dans le void main()

    Code:
    INTCON.INTE = 1;

  5. A voir en vidéo sur Futura
  6. #5
    Gérard

    Re : PIC 16F84 et Interruptions

    Non, INTE autorise l'interruption mais ne la déclenche pas.
    C'est un changement d'état sur RB0 qui déclenche l'interruption quand INTE est positionné ainsi que GIE.

  7. #6
    invite713fbb16

    Re : PIC 16F84 et Interruptions

    Ben oui, j’effectue le changement d'état grâce au logiciel de simulation.

    Ou peut être que je n'ai pas bien compris ta réponse, tu pourrais développer un petit peu s'il te plait ?

  8. #7
    Gérard

    Re : PIC 16F84 et Interruptions

    La vraie vie n'est pas de la simulation.
    Tu prends une plaque sans soudure, tu câbles et tu testes.

  9. #8
    RISC

    Re : PIC 16F84 et Interruptions

    Salut,

    Tu trouveras ici des tutoriels pour les PIC16.
    N'utilises pas le compilateur CC5X qui est un vieux compilateur (préferres la version gratuite (=lite) du compilateur HiTech pour PIC10/12/16).

    Il existe un plugin pour Proteus dans MPLAB (menu TOOLS)

    Ton programme comporte plusieurs erreurs. Il existe pas mal d'exemples pour faire clignoter une LED...cherches un peu sur internet et dans ce forum car ce sujet a été traité des centaines de fois)

    a+
    Dernière modification par RISC ; 19/12/2011 à 10h03.

  10. #9
    lolito2000

    Re : PIC 16F84 et Interruptions

    Je teste et je te dis...

Discussions similaires

  1. Interruptions pic 18f2550
    Par inviteb36a878a dans le forum Électronique
    Réponses: 1
    Dernier message: 01/05/2010, 18h16
  2. Interruptions PIC
    Par flolarajasse dans le forum Électronique
    Réponses: 95
    Dernier message: 19/04/2010, 07h38
  3. PIC interruptions simultanées
    Par invite85bfc8b3 dans le forum Électronique
    Réponses: 4
    Dernier message: 16/06/2008, 12h45
  4. interruptions PIC 18F452
    Par invite86ad2abe dans le forum Électronique
    Réponses: 3
    Dernier message: 09/03/2005, 19h37
  5. interruptions portB PIC
    Par romelec dans le forum Électronique
    Réponses: 6
    Dernier message: 02/05/2004, 10h12
Découvrez nos comparatifs produits sur l'informatique et les technologies.