Temporisation avec 16F84 [Résolu]

cs_Christian_69 2 Messages postés mercredi 11 juillet 2007Date d'inscription 15 avril 2008 Dernière intervention - 14 avril 2008 à 15:43 - Dernière réponse : cs_Christian_69 2 Messages postés mercredi 11 juillet 2007Date d'inscription 15 avril 2008 Dernière intervention
- 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.


 


 


 


 
Afficher la suite 

Votre réponse

2 réponses

edfed 69 Messages postés mercredi 12 décembre 2007Date d'inscription 22 mars 2010 Dernière intervention - 15 avril 2008 à 00:10
+3
Utile
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
;;;;;
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de edfed
cs_Christian_69 2 Messages postés mercredi 11 juillet 2007Date d'inscription 15 avril 2008 Dernière intervention - 15 avril 2008 à 13:55
0
Utile
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
Commenter la réponse de cs_Christian_69

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.