. Bonjour, est ce qq peut m'aider à me passer un bout de programme qui permet de générer un signal carré sur 8 bits à partir d'un pic en langace C.Merci en avance
-----
25/07/2012, 16h01
#2
invite3ad61e0c
Date d'inscription
janvier 1970
Messages
148
Re : Programme PIC
Salut,
Je pense que ça manque de précision là... Un signal carré sur 8 bits tu veux dire un signal carré synchrone sur chaque pin de ton portB???
25/07/2012, 16h38
#3
micka_ch
Date d'inscription
octobre 2010
Localisation
Vicques (CH)
Messages
330
Re : Programme PIC
Bonjour,
Je ne connait pas la syntaxe pour un PIC mais utilisé l'interruption overflow d'un Timer pourrait faire l'affaire.
on fait c est un signal carré 0, 5 V, je la ferais sortir sur 8 bits afin de la récupérer ensuite à la sortie de convertisseur numérique analogique. l'objectif sera de controler la durée des paliers de signal à l'entrée de DAC.
Aujourd'hui
A voir en vidéo sur Futura
25/07/2012, 16h47
#5
invitedcb4caf0
Date d'inscription
janvier 1970
Messages
39
Re : Programme PIC
Merci, je vais réfléchir à votre réponse
25/07/2012, 16h52
#6
invite3ad61e0c
Date d'inscription
janvier 1970
Messages
148
Re : Programme PIC
+1 pour Micka... En effet si tu veux vraiment contrôler la fréquence de ton signal carré un overflow de timer est le mieux, après avec un pic c'est très simple notamment sur le timer0.
Après je ne sais pas si tu veux exactement le même signal sur chaque broche mais tu peux même utilisé un PWM, s'il y en a un sur ton pic et attention aux conso en sortie, comme ça pas de prise de tête!
PS : N'oublie pas de configurer le TRISB en sortie
25/07/2012, 17h14
#7
invitedcb4caf0
Date d'inscription
janvier 1970
Messages
39
Re : Programme PIC
pour clarifier les choses, je dois générer un signal carée 0,5V puis avec une conversion analogique numérique, je dois récupérer le signal à la sortie codé sur 8 bits, ce signal peut etre restituer à l'aide d'un dac . Merci
26/07/2012, 08h26
#8
micka_ch
Date d'inscription
octobre 2010
Localisation
Vicques (CH)
Messages
330
Re : Programme PIC
Bonjour,
Ce que j'ai proposé c'est pour faire un signal carré mais ce que tu veux c'est plutôt un signal triangulaire. Je ferais quelque chose de ce genre :
Code:
interrupt [TIM0_OVF] void timer0_overflow_isr(void)
{
static bool up_down;
static U8 etape;
switch(etape)
{
case 1 :
up_down = 1;
PORTB = 0;
etape = 2;
break;
case 2 :
PORTB = 64;
if( up_down)
etape = 3;
else
etape = 1;
break;
case 3 :
PORTB = 128;
if( up_down)
etape = 4;
else
etape = 2;
break;
case 4 :
PORTB = 192;
if( up_down)
etape = 5;
else
etape = 3;
break;
case 5 :
PORTB = 255;
up_down = 0;
etape = 4;
break;
}
}
26/07/2012, 09h50
#9
invitedcb4caf0
Date d'inscription
janvier 1970
Messages
39
Re : Programme PIC
merci bien mica, c'est plutôt un signal carrée que je veux générer. pouvez vous me dire à quoi correspondre les valeurs que vous avez mis sur le port B. et si je veux générer le signal sur 8 bits est ce que je dois faire 8 étapes. Merci encore
26/07/2012, 10h16
#10
micka_ch
Date d'inscription
octobre 2010
Localisation
Vicques (CH)
Messages
330
Re : Programme PIC
Je sais pas combien de paliers tu veux faire, j'en ai mis 5 comme exemple. Avec 8 bits, tu peux faire jusqu’à 255 paliers.
Le code que j'ai mis devrais créer un signal de la sorte :
En bleu la valeur numérique du PORTB et en rouge la tension de sortie du DAC.
Salutations
26/07/2012, 11h29
#11
invitedcb4caf0
Date d'inscription
janvier 1970
Messages
39
Re : Programme PIC
ok j'ai compris de coup si je vous controler la durée des paliers il me faut juste mettre un délai à chaque palier!. Merci bcp tu m as vraiment aidé je te tiens au courant si ça marche