Temporisation avec 16F84

Résolu
cs_Christian_69 Messages postés 2 Date d'inscription mercredi 11 juillet 2007 Statut Membre Dernière intervention 15 avril 2008 - 14 avril 2008 à 15:43
cs_Christian_69 Messages postés 2 Date d'inscription mercredi 11 juillet 2007 Statut Membre Dernière intervention 15 avril 2008 - 15 avril 2008 à 13:55
Bonjour à tous,


 <?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>


je cherche sur le forum une solution mais je ne trouve pas.


 


Je vous explique mon problème :


 


Je voudrais pour une petite application à base d’un PIC 16F84 utiliser le Timer comme tempo


de 4 secondes par ex, jusque là pas de problème.


Ce que je voudrais faire, c’est pouvoir réinitialiser mon Timer à 0 avant la fin de la tempo et de redémarrer un cycle.


 


Comme le ferais une minuterie :


1) on appuie sur un BP la lampe s’allume pour 4 s


2) si on ré appuie sur le BP avant les 4s on redémarre un cycle


3) sinon la lampe s’éteint après les 4s.


 


Ça paraît simple, mais la je sèche…., Je m’embrouille, j’ais l’impression de tourner en rond devant un problème simple.


 


Si quelqu’un par mis vous a une idée lumineuse (lol)


Toutes aides ou conseils de votre part seront les bienvenues.


 


Avec tous mes remerciements.


Christian.


 


 


 


 

2 réponses

edfed Messages postés 69 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 22 mars 2010 1
15 avril 2008 à 00:10
bonsoir, bon, là, c'est pas tres dur.

vu que les pics n'on pas de tests conditionels à la x86, il faut tester la condition d'un truc, genre, l'entrée du port sur lequel est branché le bouton.

ensuite, tester si le bouton est bien compris par le µC. sinon, il faut revoir la connection de ce dernier avec une resistance de push-down pour forcer l'etat de la broche a 0
connecter le bouton a +VCC

deux cas:
scruter sans interruption le bouton a chaque iteration du timer.

connecter le bouton a une interruption et a chaque interruption, faire un raz du compteur.

c'est vraiment tres tres simple a faire.

je ne me souvient plus des instructions PIC mais en gros, cet algo devrai suffire.

en 68HC11 ça donnerais ça:
;;; en mode scrutation sans interruption
ldaa [porta]
tst a,1  ;si le bouton est sur la broche 1 du port A
bre @f
ldaa raz  ; charger la valeur du copteur par defaut
staa [cnt]  ;mettre le compteur a zero
;;;;;
3
cs_Christian_69 Messages postés 2 Date d'inscription mercredi 11 juillet 2007 Statut Membre Dernière intervention 15 avril 2008
15 avril 2008 à 13:55
Merci edfed,


je vais chercher du coté des interruptions puisque j'ai la possibilité de générer une interruption lors de l'appui sur le BP ou lorsque mon timer passe de FF à 0.


Christian
0
Rejoignez-nous