PIC 12F675, programmation quasi-impossible
Répondre à la discussion
Affichage des résultats 1 à 17 sur 17

PIC 12F675, programmation quasi-impossible



  1. #1
    invite838879e5

    PIC 12F675, programmation quasi-impossible


    ------

    Le dilemme le plus stupide et le plus idiot : j'ai passé la nuit à effacer un 12F675, à essayer de nombreuses combinaisons de programme en basic (je programme avec Mikroelectronica, en passant par Icprog ...), et je me suis rendu compte que n'importe quelle boucle ne fonctionne absolument pas (à pars la boucle infini while true wend). Au départ, je voulais un microcontroleur qui sait lire une roue codeuse, effectuer des boucles à compteur ... et je me retrouve avec une chose inutile, qui ne sait que commander la seule entrée possible du pic .., aussi utile qu'un court-circuit.
    J'ai peut-être mal choisi la version d'Icprog, du pic, du logiciel de programmation, des cablages, du programme (? j'ai essayé avec les boucles les plus simples ....), et on me dira certainement de bien dilapider mon argent, pour autre chose, comme un nouveau pic, et puis tant qu'à faire le nouveau circuit imprimé qui va avec, mais j'ai peu de patience pour un projet, sensé se créer rapidement ... et de plus j'ai peu de temps pour cela.

    Maintenant, s'il n'y a pas de solution, ni de possibilité de compréhension de ce phénomène de non-obéissance de la machine, je risque bien de me passer de tout pic, et de tout ordinateur (tant qu'à faire ...). Si quelqu'un a eu le même problème que moi, qui m'envoie un message (que je risque de lire une semaine après ce message). Sinon, qu'on me donne tout les solutions alternatives pour patienter encore.

    -----

  2. #2
    invite7a49d0d5

    Cool Re : PIC 12F675, programmation quasi-impossible

    Bonsoir,

    c'est pas normal...
    fait un programme tout simple pour tester,
    cad fait clignoter une led sur une sortie (RB1 ici), style

    Code:
    TrisB.1 = 1
    main:
    PortB.1 = 1
    delay_ms(500)
    PortB.1 = 0
    delay_ms(500)
    goto main
    si ça ne fonctionne pas, envoye le code et schéma...
    de la led et du pic...

    tu peux aussi tenter de le programmer avec WinPic ou WinPic800, gratuits...

    56454445
    3B4F29
    ______________________________ __________
    46554D4552204E4520545545205041 53203B4F29

  3. #3
    invite838879e5

    Re : PIC 12F675, programmation quasi-impossible

    j'ai dèjà essayé ça, ça marche à merveille.

  4. #4
    invite7a49d0d5

    Cool Re : PIC 12F675, programmation quasi-impossible

    Citation Envoyé par madrisol Voir le message
    j'ai dèjà essayé ça, ça marche à merveille.
    re ;O]

    donc ça viens pas du programmateur...

    bon ben envoyes le code...
    d'une led qui ne clignote pas...

    sinon t'as pas un second pic?

    56454445
    3B4F29
    ______________________________ __________
    46554D4552204E4520545545205041 53203B4F29

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

    Re : PIC 12F675, programmation quasi-impossible

    Es-tu sûr que le PIC est programmé ?
    Peux-tu le relire ?
    As-tu dévalidé le CAN dans l'init ?
    Es-tu sûr de ton programmateur ?

    Il y encore d'autres questions, poste ton programme qu'on y jette un oeil.

  7. #6
    invitef86a6203

    Re : PIC 12F675, programmation quasi-impossible

    le Pic12F675 à 2 particularités.

    1) Comme le MCLR est programmable , pour le mettre en mode programmation, il faut appliquer Vpp avant le Vcc.
    Si le programmateur ne le fait pas, un double support qui a un transistor qui alimente le Vcc à partir de la commande Vpp fait l'affaire.
    Certains utilisent un BS170, moi je met un 2n2222, ça fonctionne parfaitement.

    2) Le pic12F675 ne programme que les zéros , il faut donc l'effacer entièrement avant chaque programmation.

  8. #7
    invite838879e5

    Re : PIC 12F675, programmation quasi-impossible

    J'efface toujours entièrement le pic, et j'ai un deuxième pic. De plus, j'ai fait des manips environ une trentaine de fois et je sais que mon programmateur marche à chaque fois. Mais lorsque je mets des boucles à l'intérieur du programme, il fait comme si les instructions à l'intérieur n'existait pas. J'ai essayé :

    main:
    dim k as byte

    while true
    GPIO.4=1
    delay_ms(2000)
    GPIO.4=0
    for k = 0 to 10
    GPIO.4=1
    delay_ms(30000)
    next k
    wend
    end.

  9. #8
    Gérard

    Re : PIC 12F675, programmation quasi-impossible

    Citation Envoyé par madrisol Voir le message
    J'efface toujours entièrement le pic, et j'ai un deuxième pic. De plus, j'ai fait des manips environ une trentaine de fois et je sais que mon programmateur marche à chaque fois. Mais lorsque je mets des boucles à l'intérieur du programme, il fait comme si les instructions à l'intérieur n'existait pas. J'ai essayé :

    main:
    dim k as byte

    while true
    GPIO.4=1
    delay_ms(2000)
    GPIO.4=0
    for k = 0 to 10
    GPIO.4=1
    delay_ms(30000)
    next k
    wend
    end.
    Est ce que GPIO.4 passe à 1 puis à 0?
    Dans la boucle, GPIO.4 est mis à 1 et reste à 1, il n'y a pas de changement.
    Ce n'est qu'une tempo de 11 fois 30 000 ms.

  10. #9
    invite838879e5

    Re : PIC 12F675, programmation quasi-impossible

    dans la boucle, il doit rester pendant 5 min à 1, et j'ai oublié de modifier le registre TRISIO=%00000011
    Et même il n'arrive pas à passer la boucle, il fait juste un clignotement de led ... .

  11. #10
    invite838879e5

    Re : PIC 12F675, programmation quasi-impossible

    Si quelqu'un peut m'aider à faire des boucles et des conditions en assembleur (peut-être que cela fonctionnera mieux).

  12. #11
    invitef86a6203

    Re : PIC 12F675, programmation quasi-impossible

    verifie les bits de config.
    notament le watch dog qui fait des reset s'il est mis en route.

  13. #12
    samaudio

    Re : PIC 12F675, programmation quasi-impossible

    Citation Envoyé par madrisol Voir le message
    Si quelqu'un peut m'aider à faire des boucles et des conditions en assembleur (peut-être que cela fonctionnera mieux).
    Bonjour,
    Je programme le 12F675 avec mikrobasic sans problème, si tu veux, je peux te donner un projet complet, c'est peut être dans la config de l'oscillateur qu'il y a un problème.
    Science sans conscience n'est que ruine de l'âme. (Rabelais)

  14. #13
    invitef86a6203

    Re : PIC 12F675, programmation quasi-impossible

    il faudrait mettre une tempo après
    GPIO.4=0
    sinon on aura pas le temps de le voir s'éteindre.


    TrisB.1 = 1
    main:
    dim k as byte

    while true
    GPIO.4=1
    delay_ms(2000)
    GPIO.4=0
    delay_ms(2000) ' #### ici ####
    GPIO.4=1
    for k = 0 to 10
    delay_ms(30000)
    next k
    wend
    end.

  15. #14
    invite838879e5

    Re : PIC 12F675, programmation quasi-impossible

    La boucle ne marche pas, j'ai essayé. Il y a le clignotement, mais rien ne se passe, pas d'allumage de led pendant 30 s au moins. De plus, j'utilise un oscillateur interne, non calibré (Icprog me le dit à chaque fois, et utilise la valeur de 3FFFF), avec noclkout.

  16. #15
    invitef86a6203

    Re : PIC 12F675, programmation quasi-impossible

    ton prog fait un flash puis rien pendant 5 minutes.
    10 x 30 secondes. (pas facile à voir)
    il est préférable de laisser clignoter pour voir si ça fonctionne ou non.
    Et pour programmer GPIO4 en sortie il faut faire un TRISA pas un TRISB
    pour une sortie c est 0 en asm , à moins que le compilateur inverse le sens...

    TrisA.1 = 0
    main:
    dim k as byte

    while true
    GPIO.4=0
    delay_ms(500)
    GPIO.4=1
    delay_ms(500)
    wend
    end.

  17. #16
    invitef86a6203

    Re : PIC 12F675, programmation quasi-impossible

    le pic12F675 a une valeur OSCCAL qui est à la fin de la zone programme.
    03FFh
    on doit normalement faire un
    call 3FFh
    movwf OSCCAL

    pour mettre la valeur dans l'OscCal

    Le problème est que quand on efface cette valeur est effacé !
    Il faut d'abord la sauver , normalement le programmateur doit le faire , mais pas sur.
    Donc à vérifier.

    Si cette valeur est effacée il faudra la remettre , normalement il faudrait le recalibrer pour connaitre la vraie valeur.
    A défaut pour les tests on peut mettre 0x80 qui est la moitié et mettre un "0x3480" à l'adresse 0x03ff qui est un "retlw 0x80".

    Que fait le compilateur?
    s'il appelle cette valeur et quelle est effacée , le prog se plantera, car il va l'appeler sans arrêt en passant de l'adresse 0x3ff à l'adresse 0x0 une zone effacée contenant 0x3FFF (la data ! pas l'adresse) qui correspond à un NOP.

  18. #17
    invite7a49d0d5

    Cool Re : PIC 12F675, programmation quasi-impossible

    Citation Envoyé par freepicbasic Voir le message
    ton prog fait un flash puis rien pendant 5 minutes.
    10 x 30 secondes. (pas facile à voir)
    il est préférable de laisser clignoter pour voir si ça fonctionne ou non.
    Et pour programmer GPIO4 en sortie il faut faire un TRISA pas un TRISB
    pour une sortie c est 0 en asm , à moins que le compilateur inverse le sens...
    +1 (au post #15)

    il faut que ça clignote à 1Hz...
    cad utiliser "while" et que ça fonctionne...
    avant de chercher à aller plus loin (5mn...)...

Discussions similaires

  1. impossible d'ecrire en eeprom d'un 12f675.
    Par invite5bc606db dans le forum Électronique
    Réponses: 11
    Dernier message: 23/01/2009, 09h08
  2. Pic 12F675 et bouton poussoir
    Par invite92bb58f7 dans le forum Électronique
    Réponses: 8
    Dernier message: 18/04/2008, 17h47
  3. Polynôme (quasi impossible)
    Par invite01b26842 dans le forum Mathématiques du supérieur
    Réponses: 7
    Dernier message: 07/12/2007, 23h39
  4. MPLAB : PIC reconnu, mais programmation impossible
    Par Toufinet dans le forum Électronique
    Réponses: 3
    Dernier message: 15/06/2007, 18h38
  5. Programmeur pour PIC 12F675
    Par invitedf0aab05 dans le forum Électronique
    Réponses: 3
    Dernier message: 23/06/2003, 19h35
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...