Objectifs : Le but de ce TP est de réaliser un GBF numérique piloté

publicité
.
TD 12
GBF NUMERIQUE
BTS TPIL
LANGAGE C
Objectifs : Le but de ce TP est de réaliser un GBF numérique piloté
par le port parallèle. Nous utiliserons la carte convertisseur numérique
analogique. Il s’agit d’un réseau R-2R. Le convertisseur convertit les
mots binaires codés sur 8 bits en une tension analogique allant de 0 à
5V. Ex(0 sera converti en 0V et 255 sera converti en 5 V)
1.
REALISATION D’UN SIGNAL RECTANGULAIRE
On visualisera la sortie du CNA sur un oscilloscope. On souhaite réaliser un signal rectangulaire de fréquence , Valeur
max, et rapport cyclique variable.
1. Réalisation d’un signal carré avec Umax=5V, fréquence F=0.5Hz et rapport cyclique ½
Taper le code suivant :
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
int main(void)
{
while(1)
{
_outp(0x378,255) ;
sleep(1000) ;
_outp(0x378,0) ;
sleep(1000) ;
}
system("pause");
}
Vérifier à l’oscilloscope le signal obtenu.
2. En vous aidant du code précédent, réalisez un programme qui permet de générer un signal rectangulaire.
L’utilisateur pourra choisir la fréquence, le rapport cyclique et la hauteur du signal (entre 0 et 5 V évidemment)
1
Attention : la fonction sleep ne peut pas descendre en dessous de 10 ms (durée des instructions qui la compose). Ce
qui veut dire que l’on ne pourra pas descendre en dessous de 50 Hz durant ce TP ! ! ! !
On rappelle que le rapport cyclique s’exprime Ton / T
2.
REALISATION D’UN SIGNAL TRIANGULAIRE
1. Construction du motif du signal
Il s’agit de répéter indéfiniment un motif. Ce motif est constitué d’une rampe montante (incrémentation d’une variable de 1
en 1) puis d’une rampe descendante (décrémentation d’une variable de 1 en 1). On laisse un temps plus ou moins long
entre chaque incrémentation (fonction sleep) afin de faire varier le temps de monté ou de descente.
2. Permettre à l’utilisateur de choisir la valeur max et la fréquence du signal (attention la fréquence sera très faible à
cause de la fonction sleep
3. On pourra améliorer le système pour pouvoir diminuer la fréquence. On réalisera des incrémentations avec des pas
plus grands. Mais le signal triangulaire peut être « déformé »
3.
FINALISATION
Nous allons maintenant regrouper les 2 fonctions dans le même programme. L’utilisateur pourra donc choisir entre un
signal rectangulaire ou triangulaire.
L’utilisateur pourra choisir la valeur max et la fréquence du signal ainsi que le rapport cyclique (exprimé en pourcentage)
dans le cas du signal rectangulaire.
2
Téléchargement