[PIC12F508] Comment marche le prescaler ?

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.

Reply to
CoolAuMiers
Loading thread data ...

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...

formatting link

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

the ESR Repository @ http://kripton2035.free.fr/esr-repository.html
the Geiger Repository @ http://kripton2035.free.fr/geiger-repositor.html
Reply to
Kripton

Read again! The timer is incremented by every instruction cycle!! ( FOSC / 4 ) André

Reply to
Andre

"Kripton" a écrit dans le message de groupe de discussion :

505b2acf$0$6128$ snipped-for-privacy@news.free.fr...

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.

Reply to
CoolAuMiers

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

the ESR Repository @ http://kripton2035.free.fr/esr-repository.html
the Geiger Repository @ http://kripton2035.free.fr/geiger-repositor.html
Reply to
Kripton

"Kripton" a écrit dans le message de groupe de discussion :

505b49fa$0$1717$ snipped-for-privacy@news.free.fr...

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.

Reply to
CoolAuMiers

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.