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

16f84 et 16f628



  1. #1
    alienarea

    16f84 et 16f628


    ------

    bonjour à tous

    j'ai entendu dire que l'on pouvait remplacer le 16F84 par le 16F628 ,j'ai essayé mais sans résultat .Alors j'ai peut-être merdé,faut-il compiler le prog en mode 16f628 et ensuite le transférer ,mais ma carte programme est pour le 16f84 ou bien compiler le 628 en mode 16f84 ???
    (j'utilise les mêmes programmes car ayant une petite crainte de ne plus pouvoir me procurer de 16F84A )
    pour info:
    n'étant pas une bete en prog, j'utilise un interpréteur basic (plus simple pour moi ) une petite carte de prog 16f84 et 24c16 et NtPicProg

    -----

  2. Publicité
  3. #2
    DavidDB

    Re : 16f84 et 16f628

    Salut,

    Je ne sais pas comment travaille l'interpréteur Basic, mais si tu utilises le PORTA <0:3> il faut au minimum désactiver le mode comparateur du PIC...

    Pour le reste, cela devrait passer.

    David.

  4. #3
    alienarea

    Re : 16f84 et 16f628

    salut
    peus-tu developper un peu car j'avoue ,je plane .

  5. #4
    DavidDB

    Re : 16f84 et 16f628

    Tu les utilisent les I/O RA<0:3> dans ton programme ???

    En ASM pour mettre en numérique RA<0:3> il faut ajouter les deux lignes suivantes dans le programme :

    movlw 0x07
    movwf CMCON ; invalider le mode comparateur et I/O en numérique

    David.

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

    Re : 16f84 et 16f628

    donc si j'ai bien compris (je doute fort) j'integre cette routine assembleur dans le programme basic .
    pour etre simple ,je veux que le porta.2 soit une entrée pour un bouton.
    en basic je pratique de cette façon.
    exemple:
    TRISA = %00100 "je suppose pareil en ASM le porta est déclaré en sortie sauf RA2 "
    main:
    if porta.2 = 1 then
    gosub jeu2
    else
    gosub jeu1
    endif
    Goto main


    comment ferais-tu ? sachant que l'on peut faire ça (exemple integration ASM):
    ASM
    bsf PORTA, 0 ; Set bit 0 on PORTA
    bcf PORTB, 0 ; Clear bit 0 on PORTB
    ENDASM

    je pense que c'est plus parlant. is not it ??

  8. #6
    gedonet

    Re : 16f84 et 16f628

    Bonjour
    Si je peux me permettre un conseil, il y a le 16F88, qui a le même brochage que le F84 ou F628 mais qui a encore plus de module (CAN) et un oscillateur reglable en cours de fonctionnement qui monte à 8MHz.
    Gilles

  9. Publicité
  10. #7
    alienarea

    Re : 16f84 et 16f628

    merci gedonet
    pour ces infos ,mais ma preocupation est la compatibilité ,as-tu des infos ?
    en attente d'une réponse de DavidDB.
    merci.

  11. #8
    gedonet

    Re : 16f84 et 16f628

    Resalut
    Pour la compatibilité, il y a les configs qui sont differentes sur un 16F84, 628 et 88, mais le reste se ressemble beaucoup.
    Pour le detail sur CMCON dont te parle DavidDB, le probleme est pour le 16F628 ou la valeur de CMCON au reset est 0x00 ce qui configure par defaut RA0, RA1, RA2 et RA3 comme des entrées/sorties pour les comparateurs. Ce "defaut" est corrigé sur le 16F88 ou la valeur sur reset de CMCON est 0x07. Donc si tu utilises un 16F628 et que tu utilises RA0, RA1, RA2 et RA3 en I/O classique, il te faut en premier ecrire 0x07 dans CMCON.
    Je ne connais pas ton basic pour pic mais cela doit ressembler à quelque chose comme cela: CMCON=0x07.
    Gilles

  12. #9
    gedonet

    Re : 16f84 et 16f628

    En complement à mon precedent message
    Pour des infos sur la configuration, tu peux charger sur le site de Bigonoff les fichiers maquettes pour ces pics. C'est destiné à la programmation en assembleur, mais les explications sur le rôle de chaque bit des registres à configurer reste valable pour tous les langages. Il se trouve que j'ai ecrit les fichiers pour le 16F628 et le 16F88. C'est en français et relativement facile à comprendre et cela evite de te plonger à chaque fois dans le data sheet, d'autres l'ont fait pour toi.

  13. #10
    alienarea

    Re : 16f84 et 16f628

    voila j'ai trouvé ,en vérité ,il me manquait le fichier include (p16f628.inc)
    donc j'ai mis ce fichier,j'ai prog mon pic 16f628 ,j'ai testé,une partie du programme fonctionne (bonne nouvelle) mais je n'ai pas acces au bouton poussoir sur RA2,donc j'ai ouvert ce fichier (p16f628.inc) et j'ai vu la fameuse ligne:
    CMCON EQU H'001F'
    donc la question ,que dois-je mettre à la place ,car je suppose que H veut dire Hexadecimal ????

  14. #11
    DavidDB

    Re : 16f84 et 16f628

    Non, pas CMCON EQU H'001F'

    Cette ligne, c'est l'adresse physique de CMCON; il faut modifier la valeur de cette adresse avec une ligne du style proposé par Gilles (CMCON=0x07)

    Pour les variables en RAM, pas de problème ton compilo fera le nécessaire automatiquement.

    David.

  15. #12
    alienarea

    Re : 16f84 et 16f628

    ok super ça marche.
    j'ai donc integré ces 4 lignes , et surprise ,l'extase (LOL)

    asm
    movlw 0x07
    movwf CMCON
    endasm

    Merci mille fois David pour tes infos.
    il faut m'excuser,car je débute ,et je suis faciné par ces petites betes, dommage que ça n'existait pas il y a 25 ans.
    j'ai fait un peu d'assembleur en 1986 sur (automate PB400,PB80,PB100)mais ces loin tout ça.
    je prefere travailler sous basic (plus simple surtout pour de petites APP).
    RAVI d'avoir eu à faire à tes service.
    WILLIAM

  16. Publicité
  17. #13
    Gérard

    Re : 16f84 et 16f628

    Citation Envoyé par alienarea Voir le message
    ok super ça marche.
    j'ai donc integré ces 4 lignes , et surprise ,l'extase (LOL)

    asm
    movlw 0x07
    movwf CMCON
    endasm

    Merci mille fois David pour tes infos.
    il faut m'excuser,car je débute ,et je suis faciné par ces petites betes, dommage que ça n'existait pas il y a 25 ans.
    j'ai fait un peu d'assembleur en 1986 sur (automate PB400,PB80,PB100)mais ces loin tout ça.
    je prefere travailler sous basic (plus simple surtout pour de petites APP).
    RAVI d'avoir eu à faire à tes service.
    WILLIAM
    Bonjour,
    Je viens de prendre le train en marche.

    Quel est ton compilateur Basic ?
    Moi aussi je travaille (je m'amuse ) en Basic. J'ai Proton+.

    Je pense que CMCON = 7 suffisait, le compilo fait le reste.

  18. #14
    alienarea

    Re : 16f84 et 16f628

    bonjour Gerard
    cette syntaxe n'existe pas sur mon interpreteur.donc integration de ces 4 lignes.
    asm
    movlw 0x07
    movwf CMCON
    endasm
    @+

  19. #15
    Gérard

    Re : 16f84 et 16f628

    Bonjour,
    OK pour les 4 instructions.
    Perso, j'ai ce compilateur : http://www.picbasic.org/proton_compiler.php
    inconvénient : le prix (voir Sélectronic)
    avantage : excellent

    Ici, tu peux trouver un autre compilateur : http://www.lextronic.notebleue.com/rayon.php?id=212

  20. #16
    DavidDB

    Re : 16f84 et 16f628

    Salut,

    cette syntaxe n'existe pas sur mon interpreteur.donc integration de ces 4 lignes
    C'est bizarre, car dans le fichier .inc le registre CMCON est bien indiqué (post#10)...
    Donc, il suffit simplement d'un truc du genre "CMCON =" pour placer une valeur dans le registre.

    David.

  21. #17
    alienarea

    Re : 16f84 et 16f628

    salut
    c'est vrai que Proton accepte CMCON = 7.
    je travail avec MCS pour le moment.
    je travail également avec les BasicStamp (BS2) et bientot avec un PICBASIC-3H avec PICBASIC STUDIO.
    plus besoin de ce casser la tete car ça fonctionne.
    je prendrai des 628 au lieu des 84.
    par contre j'aurai souhaité trouver des APP pour le 628 qui l'exploite un peu plus qu'avec des prog de 84.
    merci encore pour vos réponses
    William

  22. #18
    Gérard

    Re : 16f84 et 16f628

    Citation Envoyé par alienarea Voir le message
    salut
    c'est vrai que Proton accepte CMCON = 7.
    je travail avec MCS pour le moment.
    je travail également avec les BasicStamp (BS2) et bientot avec un PICBASIC-3H avec PICBASIC STUDIO.
    plus besoin de ce casser la tete car ça fonctionne.
    je prendrai des 628 au lieu des 84.
    par contre j'aurai souhaité trouver des APP pour le 628 qui l'exploite un peu plus qu'avec des prog de 84.
    merci encore pour vos réponses
    William
    Je ne suis pas sûr que tu puisses utiliser des 628 ou 84 si tu travailles avec des PICBASIC qui sont des PIC avec interpréteur Basic intégré.
    Ils sont plus chers que des PIC "normaux" sans interpréteur Basic.

  23. Publicité
  24. #19
    alienarea

    Re : 16f84 et 16f628

    bonjour Gerard
    je n'ai pas dit ça.
    ""(je travail également avec les BasicStamp (BS2) et bientot avec un PICBASIC-3H avec PICBASIC STUDIO.)""
    le PICBASIC-3H est equipé d'un 16F877 si je ne me trompe pas.
    et ce programme à l'aide de PICBASIC STUDIO et d'un cordon USB.
    voir le site COMFILE TECNOLOGY.
    @+

Discussions similaires

  1. prog 16f628 ds un 16f84 ?
    Par triac dans le forum Électronique
    Réponses: 13
    Dernier message: 30/06/2007, 14h52
  2. PIC 16f84-16f628
    Par saw2007 dans le forum Électronique
    Réponses: 1
    Dernier message: 09/02/2007, 11h40
  3. Pic 16f628
    Par thomas-galvan dans le forum Électronique
    Réponses: 9
    Dernier message: 16/12/2006, 16h15
  4. 16f628 et LVP
    Par maho dans le forum Électronique
    Réponses: 7
    Dernier message: 02/02/2005, 05h58
  5. pic 16f628
    Par thierrydesbois dans le forum Électronique
    Réponses: 3
    Dernier message: 16/02/2004, 15h21
Découvrez nos comparatifs produits sur l'informatique et les technologies.