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

Horloge interne PIC16f88



  1. #1
    Monpseudo

    Horloge interne PIC16f88


    ------

    Bonjour,

    J'ai lu , relu et encore lu la datasheet du PIC16f88 et j'ai toujours une question qui le taraude :

    - Peut-on vraiment utiliser un PIC sans quartz, ni reseau RC externe??

    Si oui, comment le configurer dans le programme?

    J'ai essayé avec le registre OSCCON :mais je n'ai hélas pas pu obtenir un fonctionnement correcte. (Pour info : je travail en assembleur).
    Cela ne vient pas du reste du programme car ce dernier fonctionne à merveille avec un quartz externe.
    Quelqu'un pourrai-t-il eclairé ma lanterne?
    Merci d'avance.

    -----

  2. Publicité
  3. #2
    gedonet

    Re : Horloge interne PIC16f88

    Bonjour
    Comme tu programmes en assembleur, tu peux utiliser le fichier maquette pour le 16F88 que j'ai ecrit et que l'on trouve sur le site de Bigonoff, ou sur mon site: http://gedonet.free.fr/aide_pic/aide_pic.htm ,le fonctionnement de l'oscillateur y est expliqué en detail.
    En gros tu disposes de deux modes pour l'oscillateur interne:
    ;_INTRC_CLKOUT (INTIO1) oscillateur interne avec Fosc/4 sur RA6 et I/O sur RA7
    ;_INTRC_IO (INTIO2) oscillateur interne avec RA6 et RA7 en I/O
    Ensuite OSCON te permet de regler la vitesse, même en cours de programme, certain changement ont besoin d'un certains nombres de cycles pour avoir une frequence stable, il y a un flag dans OSCON pour le verifier la stabilité.
    Gilles

  4. #3
    Monpseudo

    Re : Horloge interne PIC16f88

    Merci pour ton document.

    Si j'ai bien compris, je mets :

    _INTRC_IO dans la configuration et je n'ai pas besoin ni de quartz, ni de RC.
    J'essaierai ce soir.

    Encore merci pour ton document qui est vraiment bien documenté.

  5. #4
    pont2

    Re : Horloge interne PIC16f88

    Citation Envoyé par Monpseudo Voir le message
    Merci pour ton document.

    Si j'ai bien compris, je mets :

    _INTRC_IO dans la configuration et je n'ai pas besoin ni de quartz, ni de RC.
    J'essaierai ce soir.

    Encore merci pour ton document qui est vraiment bien documenté.
    Merci à vous deux (Monpseudo et Gedonet) car cela m'apporte une info plus complète que la page 35 de la data sheet qui donne bien les différents modes de l'oscillateur mais pas les directives correspondantes. C'est intéressant car ça libère deux E/S, déjà qu'il n'y en a pas assez. Il y a bien le PIC16F887 qui a 10 broches de plus, mais je n'arrive pas à trouver de Textool étroit pour ce brochage de 28, le Textool large ne va pas sur ma plaque d'essais.
    pont

  6. #5
    sdec25

    Re : Horloge interne PIC16f88

    Bonjour,
    Citation Envoyé par pont2 Voir le message
    cela m'apporte une info plus complète que la page 35 de la data sheet qui donne bien les différents modes de l'oscillateur mais pas les directives correspondantes. C'est intéressant car ça libère deux E/S, déjà qu'il n'y en a pas assez.
    La datasheet donne les modes de l'oscillateur, les bits de config et l'adresse du registre de config (page 130), mais c'est le compilateur qui interprète les directives. Pour connaître les directives il faut donc voir dans la doc du compilateur.

  7. A voir en vidéo sur Futura
  8. #6
    pont2

    Re : Horloge interne PIC16f88

    Bonjour,

    Je n'utilise aucun compilateur, juste l'assembleur de MPLAB et dans l'aide il y n'y a pas tout, pour le µC dont il est question ici, la directive de config donnée est fausse.

    . . je vais en profiter pour demander à Gedonet comment on peut modifier une routine de tempo, pour profiter de la double horloge interne, en entrée de tempo on se branche sur l'horloge lente 31,25kHz, et avant le return on se rebranche sur l'horloge rapide (page 143 de la DS).

    Tempo . . CLRF . . .varTempo
    . . . . "aller en horloge lente"
    Temp1 . DECFSZ . . varTempo,f
    . . . . . . GOTO . . . Temp1
    . . . . ." aller en clock rapide"
    . . . . . .RETURN

    Merci de me donner les deux ordres de changement d'horloge
    pont

  9. Publicité
  10. #7
    sdec25

    Re : Horloge interne PIC16f88

    Citation Envoyé par pont2 Voir le message
    pour le µC dont il est question ici, la directive de config donnée est fausse.
    Dans ce cas c'est dans le .INC qu'il faut regarder :
    Dans le fichier P16F88.inc, _INTRC_IO est défini et vaut 3FFC, ce qui correspond aux bits FOSC à 100 (= INTRC IO d'après la datasheet).
    Pour les PIC18 il y a un fichier d'aide avec toutes les directives de configuration, pour les 16F apparemment ce n'est pas le cas.
    A+.

  11. #8
    gedonet

    Re : Horloge interne PIC16f88

    Bonjour
    Pour le nom des bits de config, il faut se referer en parallele au data sheet et au fichier d'entete, le fichier P16F88.INC pour le 16F88 en assembleur, les noms peuvent être un peut differents mais on finit par s'y retrouver, pour Mplab seule les noms founit par P16F88.INC sont valides.

    Pour repondre à pont2 le passage de la frequence faible 31,25kHz à une autre frequence est la petite dificulté, il faut un certain nombre de cycle pour que la frequence soit stable, il y a le flag IOFS de OSCON qui indique que la frequence est stabilisée.
    Il y a une autre methode pour changer de vitesse, c'est d'utiliser un quartz sur l'oscillateur secondaire avec la mise à 1 du bit IESO de _CONFIG2 lors de la programmation, on selectionne l'oscillateur en cours de programme avec les bits SCS<1:0> de OSCON.
    On peut aussi faire varier la frequence de l'oscillateur interne en jouant sur le registre OSCTUNE.
    Gilles

  12. #9
    Monpseudo

    Re : Horloge interne PIC16f88

    Pour information j'ai modifié mon montage pour ne plus avoir de quartz extérieur.
    Ça marche en modifiant le bit de config mais lorsque je rajoute les lignes pour charger le registre OSCCON, ça ne fonctionne plus.

    Question :
    Il faut bien aller dans Bank1
    Charger le registre OSCON suivant les bits désirés (voir datasheet).

    Si oui, ou le placer dans le programme?

  13. #10
    gedonet

    Re : Horloge interne PIC16f88

    Bonjour
    Pour ecrire dans OSCCON, il faut être en BANK1. Tu peux ecrire dans OSCCON quand tu veux. Sachant que, au reset, OSCCON vaut 0x00, donc la vitesse la plus lente, de 31,25kHz, plus vite tu regleras ta vitesse, plus rapidement le µC demarrera.
    Gilles

  14. #11
    speedy08fr

    Re : Horloge interne PIC16f88

    bonjour pour faure tourner le pi16f88 a 8mhz avec l orloge interne
    metre le regitre osccon 0x72
    ps je travaile avec pic basic ide

  15. #12
    Monpseudo

    Re : Horloge interne PIC16f88

    J'était bien à Bank1 pour ecrire dans oscon, mais MPlab m'a jété.

    EN tout cas le bit de configuration permet bien d'utiliser l'oscillateur interne.

    Merci à tous pour votre aide.

  16. Publicité
  17. #13
    gedonet

    Re : Horloge interne PIC16f88

    Bonjour
    Pour utiliser l'oscillateur interne, il faut les directives _INTRC_CLKOUT ou _INTRC_IO dans __CONFIG _CONFIG1, il faut que SCS, bit 1 et 0 de OSCCON soient 10 en binaire ensuite il faut que IRCF, bit 6 à 4 de OSCCON prennent la valeur selon la frequence que tu veux, par exemple 111 en binaire pour 8MHz.
    Donc pour 8MHz, on charge OSCCON avec B'01110010'.
    Que veux tu dire par "mais MPlab m'a jété.", il faut être precis.
    Gilles

  18. #14
    Monpseudo

    Re : Horloge interne PIC16f88

    j'ai du décaler d'un bit la configuration du registre, c'est pour cela que ça ne fonctionnait pas comme espéré!
    Merci pour ton aide

Discussions similaires

  1. Horloge interne
    Par redareda9 dans le forum Neuropsychologie et Psychologie
    Réponses: 0
    Dernier message: 04/01/2009, 11h58
  2. Pic16F877A horloge interne ??
    Par hakim34 dans le forum Électronique
    Réponses: 18
    Dernier message: 05/11/2008, 15h56
  3. Découverte d'un nouveau mécanisme de contrôle de notre horloge interne
    Par RSSBot dans le forum Commentez les actus, dossiers et définitions
    Réponses: 2
    Dernier message: 07/09/2005, 02h22
  4. PIC 16F628-20, horloge interne 4 ou 20 Mhz
    Par maho dans le forum Électronique
    Réponses: 2
    Dernier message: 22/01/2005, 20h01
Découvrez nos comparatifs produits sur l'informatique et les technologies.