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

Pb de programmation en PIC



  1. #1
    Aurelien62fr

    Pb de programmation en PIC


    ------

    Bonsoir tous le monde, je viens de m'inscrire sur ce forum donc d'abord je tiens a saluer tous le monde .
    Bon j'ai tous de meme un petit probleme, je viens de me mettre a la programmation de PIC16F84 donc je programme en ASM.
    Mon projet conciste pour le moment a diriger un robot equiper d'un switch a l'avant permettant de detecter les colision et de 2 moteur pour se diriger.
    donc pour l'instant j'ai fais ce programme :

    List p=16F84a
    __config H'3FF9'
    #include "P16F84a.INC"

    COMPTEUR: EQU 0x0C

    ORG 0x00
    goto DEBUT
    ORG 0x05

    DEBUT: bsf STATUS, RP0
    clrf PORTA
    movlw b'01111100'
    movwf PORTB
    movlw b'00000111'
    movwf TMR0
    bcf STATUS, RP0
    clrf PORTA

    DEPART: movlw b'00000110'
    movwf PORTA
    btfss PORTB, 2
    goto RECUL
    call DELAY1S
    goto DEBUT


    RECUL: movlw b'00001001'
    movwf PORTA


    DELAY1S: movlw .100
    movwf COMPTEUR
    DELAY10MS: movlw 0xD8
    movwf TMR0
    DEL10: btfss INTCON, 2
    goto DEL10
    bcf INTCON, 2
    decfsz COMPTEUR, F
    goto DELAY10MS
    return

    END


    Grace a ceci , quand il percute un mur (donc portb, 2) il recule pdt 1 sec, seulement voila, j'aimerai aussi qu'il fasse un demi tour, donc pour cela qu'il active un seul moteur pdt 1sec puis qu'il reprenne dps le debut, et la je bloque je n'arrive pas a lui faire comprendre sa.
    Quelqu'un a une idée ?
    Merci de votre aide et bonne soirée

    -----

  2. Publicité
  3. #2
    Lataupeben

    Re : Pb de programmation en PIC

    pas tout compris ton programme il faut que tu puisse commander tes moteur independament dans les deus sens

    pourrais tu faire la liste de ce que tu as en entré et en sortie
    (ou sont tes moteur comment il sont cablé etc...)

  4. #3
    Lataupeben

    Re : Pb de programmation en PIC

    si g compris

    PORTA
    bit 0 : moteur 1 recul
    bit 1 : moteur 1 avance
    bit 2 : moteur 2 recul
    bit 3 : moteur 2 avance

    avec ca ton programe donne

    List p=16F84a
    __config H'3FF9'
    #include "P16F84a.INC"

    COMPTEUR: EQU 0x0C

    ORG 0x00
    goto DEBUT
    ORG 0x05

    DEBUT: bsf STATUS, RP0
    clrf PORTA
    movlw b'01111100'
    movwf PORTB
    movlw b'00000111'
    movwf TMR0
    bcf STATUS, RP0
    clrf PORTA

    DEPART: movlw b'00000110'
    movwf PORTA
    btfss PORTB, 2
    call RECUL
    call DELAY1S
    call DEMITR
    call DELAY1S
    goto DEBUT


    RECUL: movlw b'00001001'
    movwf PORTA
    return

    DEMITR : movlw b'00001010' u 00000101 (selon le sens du demi tour)
    movwf PORTA


    DELAY1S: movlw .100
    movwf COMPTEUR
    DELAY10MS: movlw 0xD8
    movwf TMR0
    DEL10: btfss INTCON, 2
    goto DEL10
    bcf INTCON, 2
    decfsz COMPTEUR, F
    goto DELAY10MS
    return

    END

  5. #4
    Aurelien62fr

    Re : Pb de programmation en PIC

    Donc chaque moteur est branché sur un pont en H commander par les sortie RA0 et RA1 pour le moteur gauche et RA2 et RA3 pour le moteur droit.
    de cette maniére le programme les actionnes de cette maniere :
    movlw b'00001001' : marche avant
    movlw b'00000110' : marche arriere
    movlw b'00000001' : marche avant pour un moteur
    movlw b'00000010' : marche arriere pour un moteur.

    Mon idée etait de mettre a la suite de mon etiquette RECUL :
    call DELAY1s
    movlw b'00000010'
    movwf PORTA

    mais si je met ceci, le robot ne fias tourner qu'une roue en marche arriere et si j'actionne le switch il me fais tourner les 2 roue dans la marche avant il me semble.
    Voila merci d'avoir prit le tps de me lire

  6. A voir en vidéo sur Futura
  7. Comparatifs

    Gagnez du temps et de l'argent grâce à nos comparatifs de produits. Parmi nos sujets :
  8. #5
    Aurelien62fr

    Re : Pb de programmation en PIC

    je viens de lire ta reponse, je vais essayer sa merci

  9. #6
    Lataupeben

    Re : Pb de programmation en PIC

    moi g fais des demi tour puissant je met une roue en marche avant et l'autre en marche arriere donc en 1 seconde tu va faire pe etre plusieur tour

    g transformer RECUL en sous programme
    et rajouté le sous programe DEMITR

    il va pe etre y avoir des erreur de compilation car je suis un debutant pareil et j'ai pas encore reussi a programmer mes pic
    "je crois meme qu'il sont grillé" c pas drole

    a tu réaliser ton propre programateur ? (si oui a patir de quel shéma?)

  10. Publicité
  11. #7
    Aurelien62fr

    Re : Pb de programmation en PIC

    bon voila j'ai essaye, donc avec ton prog voici ce quil se passe :

    je demarre le robot, il va tout droit, au bout d'une temporisation il fais demi tour, et recommence a aller tout droit.
    Si j'enclencle le switch il fais demi tour non stop.
    Voila, je ne comprend pas comment faire.
    Merci pour ton aide, c'est sympatique, je vais essayer de continuer a chercher dans cette voie

  12. #8
    Aurelien62fr

    Re : Pb de programmation en PIC

    Citation Envoyé par Lataupeben
    moi g fais des demi tour puissant je met une roue en marche avant et l'autre en marche arriere donc en 1 seconde tu va faire pe etre plusieur tour

    g transformer RECUL en sous programme
    et rajouté le sous programe DEMITR

    il va pe etre y avoir des erreur de compilation car je suis un debutant pareil et j'ai pas encore reussi a programmer mes pic
    "je crois meme qu'il sont grillé" c pas drole

    a tu réaliser ton propre programateur ? (si oui a patir de quel shéma?)
    je veux bien t'envoyer le schéma d'un programmateur que j'avais fais, mais dps peu il refuse de fonctionner, j'ai donc acheter un programmateur en port Serie chez conrad, et je suis tranquille.
    Pour tes pics sa m'etonnerai quel ne soit fonctionnel sinon elle ne se laisserai meme pas programmer.
    Tu as essayer de mettre la ligne que j'ai au debut de mon programme ?

  13. #9
    Lataupeben

    Re : Pb de programmation en PIC

    je suis bete

    je te remet juste le programme principal (les sous programme restant intact)

    DEPART: movlw b'00000110'
    movwf PORTA ; le robot avance
    btfss PORTB, 2 ; on test si le bouton est appuyer
    goto DEPART ; sinon on retourne au début et on avance
    call RECUL ; si oui
    call DELAY1S ; on recule 1 sec
    call DEMITR ; on tourne 1 seconde
    call DELAY1S ; et on repart
    goto DEBUT

    il va peut etre on recul demi tour on recul demitour etc..

    dans ce cas remplace btfss par btfsc

    je reste a ta disposition

  14. #10
    Lataupeben

    Re : Pb de programmation en PIC

    Citation Envoyé par Aurelien62fr
    Tu as essayer de mettre la ligne que j'ai au debut de mon programme ?
    de quel ligne parle tu ?

  15. #11
    Aurelien62fr

    Re : Pb de programmation en PIC

    merci c'est fort sympatique, pour le programmateur, je numeriserai le shema dmeain et te l'enverrai.
    Bon je tenterai le programme demain, pour le moment je vias me coucher, examen demain matin
    Bonne soirée

  16. #12
    Aurelien62fr

    Re : Pb de programmation en PIC

    Citation Envoyé par Lataupeben
    de quel ligne parle tu ?
    List p=16F84a
    __config H'3FF9'
    #include "P16F84a.INC"

    celle ci

  17. Publicité
  18. #13
    Lataupeben

    Re : Pb de programmation en PIC

    elle sert a quoi??

    je v essayer

    a tu resolu ton probleme?

  19. #14
    Aurelien62fr

    Re : Pb de programmation en PIC

    Pour mon probleme, j'essayerai probablement demain apres midi apres mes exam.
    Pour la ligne, on me la conseiller, je crois quel sert a preciser l'adresse a laquelle il faut ecrire dans la puce, et donc a lauqelle elle doit demarrer.

  20. #15
    Lataupeben

    Re : Pb de programmation en PIC

    non aparament le

    __CONFIG est le registre ou l'on configure le watchdog le code protection le power reset et le type d'oscilateur (d'apres le cour de bigonoff)

  21. #16
    Aurelien62fr

    Re : Pb de programmation en PIC

    ah oui, je confirme.
    la ligne que je t'ai donne et pour un oscillateur XT.
    Bon je vais me coucher, bonne soirée, et encore merci.
    probablement a demain et bonne chance pour ta programmation.
    Tente Icprog pour programmer ta puce, sa peut aider

  22. #17
    Lataupeben

    Re : Pb de programmation en PIC

    faut que j'essaye ic-prog et que j'essaye aussi sur un autre pc
    (mon 166 mhtz pe etre la cause du probleme)

    sinon je v essayer de racheter un pic on sait jamais

  23. #18
    Aurelien62fr

    Re : Pb de programmation en PIC

    Bonjour. Voila j'ai essayé ton programme, et sa marche a merveille, merci beaucoup, en plus grace a tes explications detaillé j'ai trés bien compris.
    Bonne journée et bonne chance pour ton probleme.

    PS : si tu veux toujour du schéma de mon ancien programmateur esite pas

  24. Publicité
  25. #19
    Aurelien62fr

    Re : Pb de programmation en PIC

    Voila j'ai ameliorer le prog, pour que quand il touche le switch droit il tourne a gauche et quand il touche le switch gauche il tourne a droite.
    Bon maintenant je rencontre un nouveau probleme.
    J'ai voulu faire quelque chose pour que le robot ne se declenche que lorsqu'il entend un bruit, donc pour cela j'ai ajouter cette etiquette sous l'etiquette debut :

    SON: btfsc PORTB, 4
    goto DEBUT
    call DEPART
    return

    Avec sa si le detecteur de son n'est pas brancher il bouge pas, mais des que je le branche ou si je le laisse brancher en mettant en marche le robot, il demarre tout de suite.
    j'avias donc ajouter sous la premiere ligne Call DELAY1S pour qu'il comprenne qu'il doit entendre le son pdt 1 sec, et malheuresement, si je met sa il reste a l'arret sans jamais demarrer. Que faire ?
    Le detecteur sonore est brancher a la suite donc en port 4

    PS : si sa interresse quelqu'un je suis d'accord pour créer un post qui presente les schéma ainsi que le programme une foi celui ci terminé

  26. #20
    Bigonoff

    Re : Pb de programmation en PIC

    Salut
    -----

    Si tu veux mon avis, il est préférable de commencer par représenter les fonctions de ton programme en ordinogrammes ou pseudo-code, avant de commencer à écrire le code en lui-même.
    Ca permet d'éviter des erreurs de structuration de programme.

    PS : si sa interresse quelqu'un je suis d'accord pour créer un post qui presente les schéma ainsi que le programme une foi celui ci terminé
    Ca intéresse probablement pas mal de personnes.
    Si tu veux, je peux le mettre en ligne sur mon site, page "réalisations".

    A+
    Bigonoff
    Vive l'Internet libre

  27. #21
    Aurelien62fr

    Re : Pb de programmation en PIC

    Apparement, la forme de mon programme est correct, mais le seul defaut, c'est que dés que mon entré 4 reçoit une information, le programme se declenche, donc il est logique que lorsque je branche mon detecteur sa demarre ainsi que lorsque j'allume le robot detecteur brancher (la simple initialisation de la carte contenant le micro envoi une impulsion sur la sortie et donc sur l'entrée de ma pic).

    PS : Pour les schémas je metterais tout au propre et une foi le programme terminée, et bien je veux bien le mettre sur ton site, merci de ta proposition

    Sa donne sa pour le moment :

    List p=16F84a
    __config H'3FF9'
    #include "P16F84a.INC"

    COMPTEUR: EQU 0x0C

    ORG 0x00
    goto DEBUT
    ORG 0x05




    DEBUT: bsf STATUS, RP0
    clrf PORTA
    movlw b'01111100'
    movwf PORTB
    movlw b'00000111'
    movwf TMR0
    bcf STATUS, RP0
    clrf PORTA

    SON: btfsc PORTB, 4
    goto DEBUT
    call DEPART
    return


    DEPART: movlw b'00001001' ;Marche avant
    movwf PORTA ;le robot avance
    btfss PORTB, 2 ;on test si le bouton est appuyé
    goto PORT3 ;sinon on retourne au debut
    call RECUL ;si oui on recul
    call DELAY1S ;pendant 1 sec
    call DEMITR ;on fais demi tour
    call DELAY1S ;pendant une seconde
    goto DEPART ;on reprend depuis le debut


    PORT3: btfss PORTB, 3
    goto DEPART
    call RECUL
    call DELAY1S
    call DEMITR2
    call DELAY1S
    goto DEPART


    RECUL: movlw b'00000110'
    movwf PORTA
    return

    DEMITR: movlw b'00000101'
    movwf PORTA
    return

    DEMITR2: movlw b'00001010'
    movwf PORTA
    return

    DELAY1S: movlw .100
    movwf COMPTEUR
    DELAY10MS: movlw 0xD8
    movwf TMR0
    DEL10: btfss INTCON, 2
    goto DEL10
    bcf INTCON, 2
    decfsz COMPTEUR, F
    goto DELAY10MS
    return

    END

  28. #22
    Lataupeben

    Re : Pb de programmation en PIC

    toujours interessé par les shémas

    bigonoff: une realisation de programateur completerai bien ton site qui est bien
    cela manque sur ton site on est obligé d'aller voir ailleur pour le programateur


    tu ve que ton robot demarre quand il entend du bruit pendant une seconde

    et apres il reprend le programme normal (l'ancien que tu as fais )

    ?????????????????????????????? ??????????????


    tu test ton entrée 4 si elle est a 1 tu attend 1s et tu reteste

    ca donne

    SON: btfsc PORTB, 4
    goto DEBUT
    call DELAY1S
    btfsc PORTB, 4
    goto DEBUT
    call DEPART
    return

    Voila au bout de 1 seconde de bruit le robot demarre
    1 s c'est pe etre un peu longt (tu pe refaire une tempo de 1/2 s)

    Si tu manque d'idée tu peu faire suivre la lumiere a ton robot
    (2 photo résistance , 1 ampli op montée en comparateur et un joli programme)

  29. #23
    Lataupeben

    Re : Pb de programmation en PIC

    g plein d'idée et je pe pas les faire
    ca me gave ca

  30. #24
    etronics

    Re : Pb de programmation en PIC

    Salut

    tu as de bonnes idées qui ont dejas étés réalisés sur le robot Monty , tu as plein d' exemples de programmation sur le site de laulau : http://www.ifrance.com/robotmonty/

    @+++ dan

  31. Publicité
  32. #25
    Aurelien62fr

    Re : Pb de programmation en PIC

    Citation Envoyé par Lataupeben
    toujours interessé par les shémas

    bigonoff: une realisation de programateur completerai bien ton site qui est bien
    cela manque sur ton site on est obligé d'aller voir ailleur pour le programateur


    tu ve que ton robot demarre quand il entend du bruit pendant une seconde

    et apres il reprend le programme normal (l'ancien que tu as fais )

    ?????????????????????????????? ??????????????


    tu test ton entrée 4 si elle est a 1 tu attend 1s et tu reteste

    ca donne

    SON: btfsc PORTB, 4
    goto DEBUT
    call DELAY1S
    btfsc PORTB, 4
    goto DEBUT
    call DEPART
    return

    Voila au bout de 1 seconde de bruit le robot demarre
    1 s c'est pe etre un peu longt (tu pe refaire une tempo de 1/2 s)

    Si tu manque d'idée tu peu faire suivre la lumiere a ton robot
    (2 photo résistance , 1 ampli op montée en comparateur et un joli programme)
    Merci, je viens de finir le programme.
    Donc maintenant il suit la lumiere
    Bonne soirée, je postes les schéma ainsi que le programme le plus tot possible, il me faut le tps de tous mettre au propre

  33. #26
    Bigonoff

    Re : Pb de programmation en PIC

    Salut
    ------

    bigonoff: une realisation de programateur completerai bien ton site qui est bien
    cela manque sur ton site on est obligé d'aller voir ailleur pour le programateur
    C'est simplement parce que tu as mal regardé

    Il y a un programmateur dans la rubrique "Réalisations pratiques"

    A+
    Bigonoff
    Vive l'Internet libre

  34. #27
    Lataupeben

    Re : Pb de programmation en PIC

    Citation Envoyé par Bigonoff
    Salut
    ------



    C'est simplement parce que tu as mal regardé

    Il y a un programmateur dans la rubrique "Réalisations pratiques"

    A+
    Bigonoff
    Autant pour moi je vais voir.

Discussions similaires

  1. erreur 0X00 programmation PIC plus questions sur les PIC
    Par ROTT dans le forum Électronique
    Réponses: 4
    Dernier message: 22/07/2007, 14h36
  2. programmation pic
    Par parain dans le forum Électronique
    Réponses: 5
    Dernier message: 16/06/2007, 00h34
  3. programmation de pic en C
    Par jim@ dans le forum Électronique
    Réponses: 5
    Dernier message: 22/05/2007, 15h16
  4. Programmation Pic
    Par bouah dans le forum Électronique
    Réponses: 4
    Dernier message: 06/01/2007, 20h59
  5. Programmation de pic
    Par KHEOPS1982 dans le forum Électronique
    Réponses: 2
    Dernier message: 09/10/2005, 19h42
Découvrez nos comparatifs produits sur l'informatique et les technologies.