I. Temporisation à une seule boucle A. Algorigramme et programme

publicité
TEMPORISATION LOGICIELLE
TD
a)
TD TEMPORISATION LOGICIELLE
La temporisation logicielle permet d’attendre un lapse de temps entre deux événements :
clignotement d’un voyant, attente entre l’affichage de deux messages successifs, etc. Elle permet aussi
de laisser le temps à un périphérique d’accomplir une tâche : Conversion analogique numérique et
numérique analogique, exécution d’une instruction d’un afficheur, etc. Pour réaliser une temporisation
logicielle il suffit de répéter n fois un certain nombre d’instructions.
I.
Temporisation à une seule boucle
•
Ecrire le programme associé à l’algorigramme ci-dessus. Pour la
variable n, on utilisera l’accumulateur A. Faire apparaître le nombre
de cycles de chaque instruction.
[ __ ]
________________________________________
[ __ ]
________________________________________
[ __ ]
________________________________________
n=0?
non
[ __ ]
• Quelle est la valeur de n pour obtenir une temporisation de 100ms ?
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
Initialisation de la
variable n
Décrémentation de n
Limite de ce programme
___________________________________________________________________________________
A. Algorigramme et programme en assembleur 68HC11
Début de
Temporisation
PAGE 1 / 2
RTS
• L’accumulateur A peut-il contenir une telle valeur ?
___________________________________________________________________________________
___________________________________________________________________________________
• Quelle est la durée maximale de la temporisation obtenue avec ce programme sachant que
l’accumulateur A n’a que 8 bits ?
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
oui
___________________________________________________________________________________
Fin de
Temporisation
___________________________________________________________________________________
___________________________________________________________________________________
• Exprimer le nombre de cycles machines effectués par ce programme en fonction de n.
___________________________________________________________________________________
___________________________________________________________________________________
• En déduire la valeur de n pour obtenir une temporisation de 500µs sachant qu’un cycle machine
dure 500ns.
2.
Augmentation de la durée de la temporisation
• Proposer une modification de ce programme afin d’augmenter la durée de la temporisation.
___________________________________________________________________________________
[ __ ] ___________________________
* Initialisation de la variable n.
___________________________________________________________________________________
[ __ ] ___________________________
* ______-1 résultat stocké dans _______.
___________________________________________________________________________________
[ __ ] ___________________________
* Branchement conditionnel: Z=0? si oui
___________________________________________________________________________________
* branchement à CONT.
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
[ __ ]
RTS
* Fin du S/prg TEMPO.
• Exprimer le nombre de cycles machines effectués par ce nouveau programme en fonction de n.
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
PDF Creator - PDF4Free v2.0
http://www.pdf4free.com
TEMPORISATION LOGICIELLE
TD
• Quelle est la durée maximale de la temporisation obtenue avec ce programme ?
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
• Calculer la valeur de n pour obtenir les 100ms désirées.
PAGE 2 / 2
• Retrouver le programme associé à cet algorigramme. On appellera NBTEMP le nombre de
temporisations élémentaires. On utilisera l’accumulateur A pour NBTEMP et le registre X pour
n.
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
• Exprimer le nombre de cycles machines effectués par ce programme en fonction de NBTEMP
et n.
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
II.
Temporisation à plusieurs boucles
• Quelle est la durée maximale de la temporisation obtenue avec ce programme ?
___________________________________________________________________________________
Pour augmenter la durée des temporisations, on utilise plusieurs boucles imbriquées.
___________________________________________________________________________________
A. Algorigramme
___________________________________________________________________________________
Temporisation
___________________________________________________________________________________
Initialisation du nombre de
temporisations élémentaires
Initialiser de n
Décrémenter n
NON
___________________________________________________________________________________
• Déterminer les valeurs de n et NBTEMP pour obtenir une temporisation de 3s.
Méthode :
§
Exprimer n en fonction de NBTEMP et de la Durée de la temporisation.
§
Calculer n pour des valeurs de NBTEMP. La valeur de NBTEMP à retenir est celle
qui permet d’avoir la valeur de n immédiatement inférieure à 65535.
___________________________________________________________________________________
___________________________________________________________________________________
=0?
OUI
Décrémenter le nombre de
temporisations élémentaires
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
NON
=0?
___________________________________________________________________________________
OUI
Fin
PDF Creator - PDF4Free v2.0
___________________________________________________________________________________
http://www.pdf4free.com
Téléchargement