programme en PIC 16f84a
Répondre à la discussion
Affichage des résultats 1 à 6 sur 6

programme en PIC 16f84a



  1. #1
    invitedc3cc90b

    programme en PIC 16f84a


    ------

    bonjour
    voila jai ecris un programme pour mon uc 16F84A et jai voulu savoir si cela est bon car cote compilation c est bon mais ma carte ne marche pas .Je travail avk un quartz de 4MHZ et des capacites de 27nF et j utilise 2 entrees type bouton poussoir une cable sur RB0 et l autre sur RB1 le programme est ecris sur "mikroC" voila le cahier de charge:

    quand j appuye sur RB0 l interruption s active je fais clignoter les 4 sorties du PortA(RA0,RA1,RA2,RA3) pendant une duree determine ensuite il test si RB1 est a l etat haut il active les sorties RA3,RA2,RA1et RA0 en meme temps sinon il ya un bit qui s incrémente et qui sera affecter au PORTA et celui la sera initialise quand il va arriver a la valeur 14 voila le programme :

    Code:
         char *text = "mikroE";
    
    unsigned i=1;
    unsigned j;
    
    void interrupt()
    {
    	if(INTCON.INTF)
      {
    
       	for(j=0 ;j<6;j++)
                  {
                  PORTA=0;
                  Delay_ms(1000);
                  PORTA=16;
                  Delay_ms(1000);
                  }
    
     if(PORTB==2)
      PORTA=15;
     else
      PORTA=i;
         if(i==14) i=1;
         i++;
     }
    INTCON.INTF=0;
    
    }
    
    void main()
    {
    	INTCON.GIE=1;
    	INTCON.INTE=1;
    	TRISA=0;
    	TRISB=1;
    	while(1)
    	{
    
    	}
    }
    et merci pour votre aide

    Merci d'utiliser les balises "code" pour une meilleur visibilité

    -----

  2. #2
    Gérard

    Re : programme en PIC 16f84a

    Bonjour,
    Je suppose que tu as mis RBIE du registre INTCON à 1 pour valider les IRQ sur le port B.

  3. #3
    invite5637435c

    Re : programme en PIC 16f84a

    Salut,

    27nF (!?), je pense que tu voulais dire 22pF pour le quartz.

  4. #4
    invite5637435c

    Re : programme en PIC 16f84a

    Code:
    void main()
    {
      OPTION_REG.F7=0;  // Pull-up activé (pas nécessaire si déjà montés en hard
      OPTION_REG.F6=1;  // Interruption sur front montant de RB0
    	INTCON.GIE=1;
    	INTCON.INTE=1;
    	TRISA=0;
    	TRISB=1;
    	while(1)   // Le programme boucle ici
    	{
    
    	}
    }
    il faut ajouter ces 2 lignes dans ton code, si tu as déjà mis des pull-up externes la première ligne n'est pas utile.

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

    Re : programme en PIC 16f84a

    Salut,
    je voix que t'as fais le sous programe d'interuption mais verifie bien que à l'adresse 0x004h de la mémoire programme il saute au sous programme

    Code:
    Start       org       0x000,zprog	        ;le programme commence ici
    			goto prog
    			org   0x004,zprog  ;interruption
    			goto interupt

  7. #6
    invitedc3cc90b

    Re : programme en PIC 16f84a

    merci les amis pour vos coup de pouce maintenaint la chose devienne plus claire

Discussions similaires

  1. programmation PIC 16F84A
    Par invitedc3cc90b dans le forum Électronique
    Réponses: 4
    Dernier message: 21/11/2007, 09h54
  2. Programme et config d'un PIC 16F84A
    Par inviteaa61387f dans le forum Électronique
    Réponses: 9
    Dernier message: 21/01/2007, 21h35
  3. Pic 16f84A
    Par invite29d9c8de dans le forum Électronique
    Réponses: 2
    Dernier message: 18/12/2006, 10h01
  4. pic 16f84A
    Par invite29d9c8de dans le forum Électronique
    Réponses: 3
    Dernier message: 27/11/2006, 20h15
  5. Programmateur PIC 16f84A
    Par invite178930ab dans le forum Électronique
    Réponses: 14
    Dernier message: 04/06/2005, 17h14
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...