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

TEMPORISATION LOGICIELLE TD PAGE 1 / 2
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
A. Algorigramme et programme en assembleur 68HC11
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.
[ __ ] ________________________________________
[ __ ] ________________________________________
[ __ ] ________________________________________
[ __ ] RTS
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.
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
a) Limite de ce programme
Quelle est la valeur de n pour obtenir une temporisation de 100ms ?
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
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 ?
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
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.
___________________________________________________________________________________
___________________________________________________________________________________
Début de
Temporisation
Initialisation de la
variable n
n = 0 ?
Décrémentation de n
Fin de
Temporisation
oui
non
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com
TEMPORISATION LOGICIELLE TD PAGE 2 / 2
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.
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
II. Temporisation à plusieurs boucles
Pour augmenter la durée des temporisations, on utilise plusieurs boucles imbriquées.
A. Algorigramme
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.
___________________________________________________________________________________
___________________________________________________________________________________
Quelle est la durée maximale de la temporisation obtenue avec ce programme ?
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
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.
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
OUI
OUI
Décrémenter n
Temporisation
Décrémenter le nombre de
temporisations élémentaires
= 0 ?
NON
= 0 ?
NON
Initialisation du nombre de
temporisations élémentaires
Initialiser de n
Fin
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com
1 / 2 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !