Programme PIC16F876

Résolu
leroi976 Messages postés 6 Date d'inscription vendredi 2 novembre 2007 Statut Membre Dernière intervention 3 mars 2009 - 1 mars 2009 à 23:53
leroi976 Messages postés 6 Date d'inscription vendredi 2 novembre 2007 Statut Membre Dernière intervention 3 mars 2009 - 3 mars 2009 à 20:24
je veux créer un programme permettant de sortir des impulsions sur une sortie d'un port. je veux cadencer une horloge sur cette sortie. quand je dois faire. merci d'avance.

9 réponses

SebLinck Messages postés 212 Date d'inscription mardi 17 mai 2005 Statut Membre Dernière intervention 23 juin 2011
2 mars 2009 à 09:09
Salut,
Il faut reformuler ta question...
"impulsions sur la sortie d'un pour" (port d'un PC ou d'un PIC ?)

Cordialement,
Sébastien.
3
romain60112 Messages postés 70 Date d'inscription mercredi 1 octobre 2008 Statut Membre Dernière intervention 17 avril 2013 1
2 mars 2009 à 10:24
Bonjour,


Peux tu nous donner plus de précision sur ton environement de développement et réellement ce que tu souhaite faire avec quoi, comment ect...


Dans l'esprit pour cracher une horloge sur µC c'est sa :


Tant que je sais pas quoi
{ // Etat haut
 Mettre a 1 le port ou la PIN que tu veux.
 Appel du sous programme tempo X // ICI
 
 // Etat bas
 Mettre a 0 le port ou la PIN que tu veux.
 Appel du sous programme tempo X // ICI


}


Cordialement,
Romain
3
romain60112 Messages postés 70 Date d'inscription mercredi 1 octobre 2008 Statut Membre Dernière intervention 17 avril 2013 1
3 mars 2009 à 08:28
Bonjour,

Tout dépend la précision que tu souhaite avoir. Pour les delays tu peut les utiliser comme sa mais ils sont imprécis :


#define PIN_CLOCK  RB5 
#define  CLK_H  1
#define CLK_L  0


void main(void)
 { // Configuration de la broche B5 en sortie
  trisb = trisb & 0xdf;
  portb = (portb & 0xdf) | 0x20;
  
  PIN_CLOCK = CLK_H; // Ton état haut
  delay_ms(5);  // Ta tempo de 5ms
  PIN_CLOCK = CLK_L; // Ton état bas
  delay_ms(5);  // Ta tempo de 5ms
 }


Aprés si tu veux plus de précision, utilise un timer, c'est le même principe sauf qu'a la place de "delay_ms" tu fait appel a ton "sous programme timer" et la c'est précis.
Si non tu peux encore faire un compteur ou un décompteur qui aura le même fonctionnement.


Cela ta t-il éclairé ?
Cordialement,
Romain
3
romain60112 Messages postés 70 Date d'inscription mercredi 1 octobre 2008 Statut Membre Dernière intervention 17 avril 2013 1
3 mars 2009 à 18:30
   Quand tu fait appel à delay_ms(X) tu sort du main() et tu va dans le sous programme de la bibliothèque de ton compilo delay_ms(X). 
   Dans ce sous programme tu y reste X temps et a coté tu ne fait rien, tu attends.
   
   Maintenant quand tu utilise un timer, tu peux gérer deux tâches à la fois (Une tâche dans ton main() et une tâche de fond dans ton timer). C'est aussi l'avantage du timer.

   Le plus simple étant biensur d'utiliser la fonction delay_ms. Aprés tout dépend de ce que tu veux faire derrière et de la taille de ton projet.
   
   Cordialement,
   Romain
3

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
leroi976 Messages postés 6 Date d'inscription vendredi 2 novembre 2007 Statut Membre Dernière intervention 3 mars 2009
2 mars 2009 à 22:30
je dois le faire sortir sur un PIN un cadencement de 10ms à l'état haut et 10ms à l'état bas. je na sais pas si je dois avec un delay_ms() car c'est en temps réel.
0
leroi976 Messages postés 6 Date d'inscription vendredi 2 novembre 2007 Statut Membre Dernière intervention 3 mars 2009
2 mars 2009 à 22:31
je dois sortir sur un PIC en temps réel. je me demande si je ne dois pas utiliser un "delay" ou pas. merci
0
leroi976 Messages postés 6 Date d'inscription vendredi 2 novembre 2007 Statut Membre Dernière intervention 3 mars 2009
2 mars 2009 à 23:00
je compile en C j'ai oublié.
0
leroi976 Messages postés 6 Date d'inscription vendredi 2 novembre 2007 Statut Membre Dernière intervention 3 mars 2009
3 mars 2009 à 18:15
parfaitement claire je vous remercie de votre aide.
le delay_ms ne vas pas dérranger l'interruption qui sera faite?
0
leroi976 Messages postés 6 Date d'inscription vendredi 2 novembre 2007 Statut Membre Dernière intervention 3 mars 2009
3 mars 2009 à 20:24
ok merci mec, tu es trop fort. je ne comprends rien en C je commence à prendre des repères. merci pour ton aide.
0
Rejoignez-nous