[PIC12F508] Comment marche le prescaler ?

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From French to

Threaded View
Bonjour,

Sur un PIC12F508, je rencontre un problème pour utiliser le prescaler en
amont du timer TMR0.

J'ai réglé le taux de pré-division sur 256 (PS0 = PS1 = PS2 = 1)
J'ai assigné le prédiviseur au timer (PSA = 0)
J'ai choisi comme horloge source l'horloge interne (T0CS=0)

Et dans le simulateur en mode debug je constate que mon timer est incrémenté
à chaque instruction alors que, si j'ai bien compris, cela devrait être
toutes les 256 instructions (si on néglige les instructions de test avec
branchement).

En fait tout se passe come si le prédiviseur n'était pas utilisé.

J'ai essayé avec des taux de prédivision différents, ça ne change rien, il
s'incrémente toujours de la même façon.

Je vous précise que j'utilise le MPLAB X IDE v1.41.

Si vous avez une idée sur l'origine du problème ... ?

Merci.

Pascal.


Re: [PIC12F508] Comment marche le prescaler ?

Quoted text here. Click to load it

essayes ce logiciel gratuit :
ca donne le code pour les timers des pics selon une frequence qu'on veut avoir
ca te donnera le code à taper pour avoir ce que tu veux
en plus c'est gratuit...

http://pictimer.picbingo.com/downloads/setup.exe

--
----------
Kripton

We've slightly trimmed the long signature. Click to see the full one.
Re: [PIC12F508] Comment marche le prescaler ?
Le 20/09/2012 16:40, Kripton a écrit :
Quoted text here. Click to load it
Read again!
The timer is incremented by every instruction cycle!! ( FOSC / 4 )
André


Re: [PIC12F508] Comment marche le prescaler ?
"Kripton" a écrit dans le message de groupe de discussion :
505b2acf$0$6128$ snipped-for-privacy@news.free.fr...

Quoted text here. Click to load it

Merci je vais aller voir.
Mais pour info, si sous le simulateur du MPLAB ça ne fonctionne pas, la
réalisation elle fonctionne très bien !
Ca ressemble à un bug du simulateur...
Pascal.


Re: [PIC12F508] Comment marche le prescaler ?

Quoted text here. Click to load it

moi j'ai eu le probleme inverse ...
sous plusieurs simulateurs le code fonctionne très bien
(en plus très simple mais des interruptions à 2 niveaux)
et en reel le pic est bloqué rien ne se passe ...
si je ne mets qu'un niveau d'interruption, le montage reel fonctionne ...

--
----------
Kripton

We've slightly trimmed the long signature. Click to see the full one.
Re: [PIC12F508] Comment marche le prescaler ?
"Kripton" a écrit dans le message de groupe de discussion :
505b49fa$0$1717$ snipped-for-privacy@news.free.fr...

Quoted text here. Click to load it

Je n'utilise pas les interruptions.
En début de programme, je lance le TMR0 sur l'horloge interne, pré-divisée
par 256
Ensuite, selon l'état de 2 entrées GPx scrutées en boucle, je propage -ou
pas- l'état d'un des bits du TMR0 sur 2 sorties GPx, le but étant de
produire des créneaux à une certaine fréquence quand une entrée est activée.
En hard ça fonctionne très bien.
En simulation sous MPLab, à chaque cycle d'instruction le TMR0 s'incrémente,
sans tenir compte de la pré-division.
Pascal.


Site Timeline