Académique Documents
Professionnel Documents
Culture Documents
Cours 13T
Langage C et Gestion des Entres/Sorties
Guide des Travaux Pratiques
Deuxime Anne
Programme de Formation des Techniciens
Spcialiss en lectronique
DIRECTION DE LA RECHERCHE ET INGENIERIE DE LA FORMATION
Septembre 1996
RDACTION
Robert Pesant
DESSINS ET CONCEPTION GRAPHIQUE
Robert Pesant
RVISION TECHNIQUE
Robert Pesant
RVISION LINGUISTIQUE
Franois Gaudreau
COMMISSION DE VALIDATION
Formateurs de lOFPPT
Page TPii
OFPPT/TECCART
Page TPiii
OFPPT/TECCART
Modles de programme
Mthode de travail suggre
Pour chaque nouveau programme rdiger, nous nous suggrons la mthode de travail suivante.
1.
Lisez attentivement toutes les donnes du problme.
2.
Identifiez le modle de programme qui convient votre application.
Modle #1: Programme qui prsente un menu lusager, attend sa dcision,
excute la tche choisie et retourne au menu pour attendre la prochaine
intervention.
Modle #2: Programme qui excute une tche rptitive, scrute le clavier aprs
chaque cycle de cette tche, traite la demande de lusager et reprend, par la
suite, la tche en cours.
3.
Copiez, dans votre rpertoire de travail, le modle de programme qui convient le mieux
votre
application:
MODEL_1A.C,
MODEL_1B.C,
MODEL_1C.C,
MODEL_2A.C ou MODEL_2B.C.
4.
Renommez la copie du modle en fonction de votre application.
5.
Rdigez votre programme dapplication en modifiant le modle choisi.
Description du programme
Le programme rdiger simule une acquisition de donne par une carte dentres/sorties
analogique. Le convertisseur A/N (analogique/numrique) de 8 bits gnre les codes
hexadcimaux de $00 $FF pour un signal dentre de 1-5 V ou de 4-20 mA dans une rsistance
de 250 branche en parallle avec lentre. On suppose que ce signal provient dun transmetteur
de temprature dont l'tendue d'chelle est comprise entre -50 C et +100 C.
Ce programme doit effectuer les tches suivantes.
6.
Afficher un menu comportant les choix suivants:
conversion en degr Celsius;
conversion en degr Fahrenheit;
conversion en valeur de courant 4-20 mA;
conversion en tension 1-5 V;
conversion en pourcentage;
quitter en appuyant sur Q.
7.
Le retour au menu, aprs un choix de conversion, doit se faire sans utiliser clrscr() pour
viter de faire clignoter l'interface oprateur.
8.
Prsenter un message invitant lusager entrer le code hexadcimal.
9.
Prsenter un message daffichage des rsultats.
10. Accepter un code hexadcimal compris entre $00 et $FF que l'usager doit entrer
correctement pour simuler le transmetteur de temprature.
11. Effectuer les calculs ncessaires pour faire la mise l'chelle, en fonction du choix de
l'usager, et afficher le rsultat avec deux chiffres aprs le point.
12. Effacer les rsultats et le choix de l'usager lors du retour au menu.
13. Effacer l'cran en sortant au DOS.
Informations complmentaires
Introduction la mise lchelle
Les principales caractristiques dun transmetteur de signal, concernant la grandeur physique
mesure, sont les suivantes.
14. La porte minimale ( OFFSET ): limite infrieure de la grandeur mesure.
15. La porte maximale: limite suprieure de la grandeur mesure.
16. Ltendue dchelle ( SPAN ): la diffrence entre la porte maximale et la porte
minimale.
Les signaux de sortie standard sont 4-20 mA, 1-5 V, 3-15 psi, ... selon le type du transmetteur.
Dans un systme de mesure, ces signaux analogiques peuvent tre appliqus lentre dun
convertisseur analogique/numrique (A/N) dont le code hexadcimal rsultant peut tre interprt
par un programme quelconque.
Faire un calcul de mise lchelle, cest faire une rgle de trois entre une grandeur et un signal
dans le but dinterprter ce dernier.
La premire mise lchelle du programme rdiger concerne la relation qui existe entre la
temprature mesure en degr Celsius et le code hexadcimal 8 bits du convertisseur A/N fictif.
La Figure TP 4 -1 montre la technique recommande pour trouver la fonction de transfert dans
un calcul de mise lchelle.
Constantes symboliques et variables suggres
Pour faciliter le calcul de mise lchelle par votre programme, nous vous suggrons dutiliser les
constantes symboliques et les variables suivantes.
17. Constantes symboliques:
CODE_MAX:......0xFF
CODE_MIN:.......0x00
T_MAX:...............+100.0
T_MIN:................-50.0
SPAN_T:..............T_MAX - T_MIN
OFFSET_T:.........T_MIN
18. Variables:
code_in:................code hexadcimal entr au clavier. Attention au type de donne!
Indice: valeur comprise entre 0 et 255.
t_celsius:..............temprature correspondant la valeur de code_in. Attention au
type de donne! Indice: doit tre affiche avec deux chiffres aprs le point.
ratio_in:...............voir la Figure TP 4 -1. Attention au type de donne! Indice:
une fraction est comprise entre 0 et 1. Revoir le programme NOMTYPE.C du
rpertoire \CHAP.003 de la disquette COURS_13T.
Conversion degrs Celsius en degrs Fahrenheit
Avec un calcul de mise lchelle, on peut trouver la relation qui existe entre les degrs Celsius
et les degrs Fahrenheit. Sachant que
0 C == -32 F et que
100 C == 212 F,
dmontrez que............tF = ((9 / 5) * tC) + 32.
CODE_MAX
T_MAX
porte
maximale
t_celsius
grandeur
mesure
T_MIN
porte
minimale
code_in
C
CODE_MIN
Mise l'chelle
FONCTION
DE
TRANSFERT
INPUT
OUTPUT
A/ B = C / D
(t_celsius - T_MIN)
(T_MAX - T_MIN)
(code_in - CODE_MIN)
(CODE_MAX - CODE_MIN)
(t_celsius - OFFSET_T)
SPAN_T
t_celsius
ratio_in
ratio_in
SPAN_T
(code_in - CODE_MIN)
(CODE_MAX - CODE_MIN)
OFFSET_T
F I G U R E TP 4-1: M I S E
T_MAX - T_MIN
=
T_MIN
L ' C H E L L E D ' U N T R AN S M E T T E U R D E S I G N AL