Vous êtes sur la page 1sur 7

Royaume du Maroc

OFFICE DE LA FORMATION PROFESSIONNELLE ET DE LA PROMOTION DU TRAVAIL

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

Langage C et Gestion des Entres/Sorties

Guide des Travaux Pratiques

TECCART INTERNATIONAL 2000 inc.


3155, rue Hochelaga,
Montral, Qubec (Canada)
H1W 1G4

RDACTION
Robert Pesant
DESSINS ET CONCEPTION GRAPHIQUE
Robert Pesant
RVISION TECHNIQUE
Robert Pesant
RVISION LINGUISTIQUE
Franois Gaudreau

COMMISSION DE VALIDATION
Formateurs de lOFPPT

Les droits de reproduction et de diffusion de ce document sont cds par Teccart


International 2000 inc. lOffice de la Formation Professionnelle et de la Promotion du
Travail du Royaume du Maroc, pour sa propre utilisation au Maroc.
Mis part lOFPPT, toute reproduction, en tout ou en partie, par quelque procd que ce
soit, est interdite.

Imprim Montral, le j May


272067493.doc

Les modles de programme

Page TPii

OFPPT/TECCART

Langage C et Gestion des Entres/Sorties

Guide des Travaux Pratiques

TABLE DES MATIRES


TP4. MODLES DE PROGRAMME
0TP4.1 Mthode de travail suggre
1TP4.2 Description du programme
2TP4.3 Informations complmentaires
0TP4.3.1 Introduction la mise lchelle...........................................................................
1TP4.3.2 Constantes symboliques et variables suggres.....................................................
2TP4.3.3 Conversion degrs Celsius en degrs Fahrenheit .......................................
3TP4.4 Conception du programme par tapes
3TP4.4.1 Exercice #1: ECHELLE1.C...................................................................................
4TP4.4.2 Exercice #2: ECHELLE2.C...................................................................................

Les modles de programme

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 x SPAN_T) + OFFSET_T

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

Conception du programme par tapes


Exercice #1: ECHELLE1.C
19. Excutez le programme ECHELLE1.EXE du rpertoire \TP.004 de la disquette
COURS_13T.
20. Excutez galement le programme ECHELLE2.EXE du rpertoire \TP.004 de la
disquette COURS_13T.
21. Lisez attentivement la description du programme ECHELLE2.C. Identifiez le modle de
programme qui convient le mieux cette application. Utilisez ce modle de
programme pour rdiger ECHELLE1.C, car vous aurez le modifier pour obtenir
ECHELLE2.C. Alors autant dbuter du bon pied.
Modle de programme:
#1 ou #2
Fichier source choisi:
______________.C
22. Crez le rpertoire de travail C:\BC_DATA\TP.004.
23. Appelez BC partir de ce rpertoire de travail.
24. Rdigez le programme ECHELLE1.C partir du fichier source du modle de programme
choisi. Ce programme doit raliser les tches suivantes.
Effacer lcran.
Afficher le titre (c.f. excution de ECHELLE1.EXE).
Afficher la ligne de menu Une touche pour une conversion, Q pour
quitter .
Prsenter le message invitant lusager entrer le code hexadcimal.
Prsenter le message daffichage des rsultats.
Accepter un code hexadcimal compris entre $00 et $FF que l'usager doit entrer
correctement pour simuler le transmetteur de temprature.
Effectuer les calculs ncessaires pour faire la mise l'chelle en degr Celsius
seulement et afficher le rsultat, avec deux chiffres aprs le point.
Effacer les rsultats et le choix de l'usager lors du retour la ligne de menu.
Effacer l'cran en sortant au DOS.
25. Faites une copie de secours de votre fichier source dans le rpertoire \TP.004 sur une
disquette de donnes.
26. Nettoyez votre rpertoire C:\BC_DATA\OBJ_EXE en prvision des prochains exercices.
Exercice #2: ECHELLE2.C
27. Appelez BC partir de votre rpertoire de travail C:\BC_DATA\TP.004.
28. Enregistrez le programme ECHELLE1.C en lui donnant le nom ECHELLE2.C.
29. Modifiez le programme ECHELLE2.C pour ajouter les autres conversions:
conversion en degr Fahrenheit;
conversion en valeur de courant 4-20 mA;
conversion en tension 1-5 V;
conversion en pourcentage.
30. Faites une copie de secours de votre fichier source dans le rpertoire \TP.004 sur une
disquette de donnes.
31. Nettoyez votre rpertoire C:\BC_DATA\OBJ_EXE en prvision des prochains exercices.