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