Répondre à la discussion
Affichage des résultats 1 à 9 sur 9

processus avec PIC16F84A



  1. #1
    aabdoos

    Red face processus avec PIC16F84A


    ------

    re les amis , j'espere que vs etes tous tres bien et merci pour vos reponses dans mon dernier topic.
    bon, cette foie je veux savoir est ce qu'il y a une possibilite de programmer des processus (process) avec l'assembleur PIC ?
    (je travail avec un pic16f84a).
    comment ca des processus ?
    alors c'est de programmer 1,2 ou plusieurs programmes(ou blocs de code) dans un meme PIC mais, qui, l'aure de la mise en courant du pic , s'executent s'eparement ,
    expl:
    -un code qui test l'etat de l'entree B1
    -code qui fait sortir un signal horloge de la broche B2 pour un autre systeme externe
    -code qui utilise le port A comme sortie codee BCD pour afficheur 7digits.
    -.......etc
    MAIS l'important ,c'est qu'ils s'executent separement
    je ne veux pas faire un seul bloc de code qui fait tous ce travail.je sais que c'est possible mais ma question est bien claire
    c'est un peux pareil au "THREADS"(si vous ete un developpeur .) .
    j'espere que j'ai bien explique,merci d'avance pour vos reponses

    -----

  2. #2
    Xavier35

    Re : processus avec PIC16F84A

    Oui, il te "suffit" de mettre en place un system de commutation de tâche.

  3. #3
    FSE

    Re : processus avec PIC16F84A

    Confirmation du POST #2
    En 1996 Avec un PIC16C84!!!
    Dans un Médaillon d'appel pour personnes agées
    5 taches sont implantées en assembleur
    Acquittement infirmière
    Emission Urgence
    Emission Service
    AutoEmission
    Ecoute InfraRouge
    Ca doit donc être aussi possible dans un PIC moins ancien

  4. #4
    aabdoos

    Red face Re : processus avec PIC16F84A

    Citation Envoyé par Xavier35
    Oui, il te "suffit" de mettre en place un system de commutation de tâche.
    merci pour vos reponses.
    Mr Xavier35, voulez vous dire par system de commutation de tache, un systeme electronique(circuits logiques ) externe, ou bien un code ASM qui controle l'execution des autres blocs de codes ?
    l'essenciel pour moi, c'est que mon pic repond a n'importe quel interruption ou processus ou appel externe, meme si il y a 1,2 ou plusieurs appels a la foie. je veux applique la methode du PIPELINE ici et que mes sous programmes s'executent semultanement,avec liberte sans depandance des autres sous programmes .
    si par example un PIC est entrain d'execute un code ordinaire(comteur par expl) et soudain, une interruption et survenue sur une des entree, normalement le processeur laisse la tache en cours et ce deplace a une adresse spicifique pour executer le sous programme de l'interruption.Mais moi je veux le contraire..je veux que le processeur ce charge des deux taches en meme temps comme si il ya deux processeur mais en realite il n'ya qu'un seul mais qui travail en parallel.

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

    Re : processus avec PIC16F84A

    Citation Envoyé par aabdoos
    si par example un PIC est entrain d'execute un code ordinaire(comteur par expl) et soudain, une interruption et survenue sur une des entree, normalement le processeur laisse la tache en cours et ce deplace a une adresse spicifique pour executer le sous programme de l'interruption.
    Je vais t'expliquer comment j'ai un jour fait avec un 8051.
    qui devais êrte capable de répondre à des raffale d'interruption.
    L'or d'une interupt, la routine sauve les info qui doivent l'être, et pousse sur le stack l'addresse du bout de programe qui vas les traiter avant de faire un RTI. Ainssi, le traitement réel se fait hors interupt et n'en bloque pas d'autre.

    Une autre facon de faire, mettre en place une queue de tâche a faire...

    Sinon, tu peux mettre en place un syteme de commutation de tâche préenptif, mais c'est beaucoup plus lourd

  7. #6
    Grulou

    Re : processus avec PIC16F84A

    Ce genre de procedure se font d'habitude de la sorte:

    Une fonction main qui tourne en boucle qui teste les condition :
    Tel porte a l'état haut?
    Tel valeur sur tel registre?
    ... ....

    Quand une condition est vrai la fonction main appelle alors une sous procédure déterminée...

    Le probleme de ce fonctionnement c'est que si deux conditions sont validées en même temps, elles seront exécutée l'une apres l'autre, et si l'une d'entre elle prend du temps (par exemple des pauses au milieu du bazard) la deuxieme procédure devra attendre longtemps...

    Il faut alors se penché vers des systeme temps réel mais la mémoire du 16f84a est un peu faible pour implémenter un tel systeme dedans, bien que je pense que certain aurait déjà écrit une sorte de systeme pour ... sans trop savoir ce que ça donne

  8. #7
    FSE

    Re : processus avec PIC16F84A

    Pour éviter qu'une tache gène les autres 2 possibilités :
    Découper chaque tache en pas A chaque tour (round robbin) :effectuer un pas seulement par tache si la tache est active
    Si une tempo est nécessaire, le pas chargé de la tempo doit faire bouger le compteur de temps correspondant de 1 le tester et passer à la tache suivante qui elle se trouve si active à son propre pas abandonné au passage précédent
    J'organise toujours mes applis ainsi . dans certains cas des tempos courtes peuvent être évitées . Au lieu d'attendre en boucle ou avec des nop par exemple l'équilibrage du CAD le processeur va faire autre chose d'utile
    EN C ça se fait avec des switch imbriqués

  9. #8
    aabdoos

    Wink Re : processus avec PIC16F84A

    Mais ca resterais toujours impossible pour mon projet, par ce que ce dernier comporte des delais qui vont j'usqua 5 et 10 seconde et il faux tester des rafales de fins de courses et boutons, et commander 2 moteurs pas a pas puis enfin afficher des infos sur un double afficheur 7 digit.
    je crois que je vais utiliser 2 ou 3 PIC16F84A pour acheminer ce travail (2 ou 3 par ce que c tout ce que g pu trouver dans le marcher (au maroc)).
    bon merci les gars pour votre aide et votre temps, et a tres bientot

  10. #9
    FSE

    Re : processus avec PIC16F84A

    c'est un cas idéal pour une approche multitache avec un seul PIC
    scruter les entrées
    aller gérer les tempos (sans s'y arrêter)
    aller voir s'il faut un pas de plus pour les moteurs(sans s'y arrêter) si oui le faire
    aller gérer d'autres fonctions (sans s'y arrêter)
    retourner scruter les entrées et ainsi de suite

Discussions similaires

  1. PIC16f84a
    Par clinon dans le forum Électronique
    Réponses: 33
    Dernier message: 06/08/2007, 02h31
  2. alarme auto avec PIC16F84A
    Par sofiene2005 dans le forum Électronique
    Réponses: 4
    Dernier message: 25/02/2007, 09h47
  3. pic16f84A
    Par spike 03100 dans le forum Électronique
    Réponses: 5
    Dernier message: 06/02/2007, 19h22
  4. Developpement appli avec pic16f84a
    Par chental dans le forum Électronique
    Réponses: 7
    Dernier message: 05/12/2006, 08h39
  5. Timer PIC16F84A...??
    Par bimo dans le forum Électronique
    Réponses: 3
    Dernier message: 27/06/2006, 12h30
Découvrez nos comparatifs produits sur l'informatique et les technologies.