Informatique Industrielle : Exercices Décalage à droite et décalage à gauche
Télécharger PDFObtenir le pack complet des cours, TDs, TPs et projets sur Informatique Industrielle : Microprocesseur & Microcontrôleur!
Vous souhaitez maîtriser les microprocesseurs et Microcontrôleurs ? Ne cherchez plus, nous avons le pack parfait pour vous.
Accédez à une collection complète des supports de cours, des travaux dirigés (TD) corrigés, des travaux pratiques (TP) et des projets.
Obtenir le pack maintenant1/9 N. ROUSSAFI Décalages Décalage à droite et décalage à gauche Rappel : En assembleur 1. RLF f,d : Rotation logique à gauche (décalage circulaire à gauche) de la variable stockée à l’adresse f. Résultat dans f si d = 1 ou dans w si d = 0. 2. RRF f,d : Rotation logique à droite (décalage circulaire à droite) de la variable stockée à l’adresse f. Résultat dans f si d = 1 ou dans w si d = 0. En mikroC 1. X = X<<1 : un décalage simple (non rotatif) à gauche 2. X = X>>1 : un décalage simple (non rotatif) à droite
2/9 N. ROUSSAFI Décalages Introduction : Dans les exercices suivants, on va utiliser le montage suivant : Pour les programmes en assembleur on va utiliser la structure suivante :
3/9 N. ROUSSAFI Décalages Remarque : On peut modifier le délai en modifiant les valeurs qu’on donne cptr1, cptr2 et cptr3. 4/9 N. ROUSSAFI Décalages
Exercice 1
On désire réaliser le jeu de lumière suivant : C RB7 RB6 RB5 RB4 RB3 RB2 RB1 RB0 LEDS 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 → led allumée 0 → led éteinte La dernière ligne n’est pas affichée. Mais, elle peut être utilisée pour la programmation. 1. Ecrire un programme en assembleur 2. Ecrire un programme en mikroC 5/9 N. ROUSSAFI Décalages
Exercice 2
On désire réaliser le jeu de lumière suivant : C RB7 RB6 RB5 RB4 RB3 RB2 RB1 RB0 LEDS 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 → led allumée 0 → led éteinte La dernière ligne n’est pas affichée. Mais, elle peut être utilisée pour la programmation. 1. Ecrire un programme en assembleur 2. Ecrire un programme en mikroC 6/9 N. ROUSSAFI Décalages
Exercice 3
On désire réaliser le jeu de lumière qui regroupe les 2 jeux précédents selon le tableau suivant : RB7 RB6 RB5 RB4 RB3 RB2 RB1 RB0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 → led allumée 0 → led éteinte 1. Ecrire un programme en assembleur 2. Ecrire un programme en mikroC 7/9 N. ROUSSAFI Décalages
Exercice 4
On désire réaliser le jeu de lumière suivant : C RB7 RB6 RB5 RB4 RB3 RB2 RB1 RB0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 1 0 0 0 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 → led allumée 0 → led éteinte La dernière ligne n’est pas affichée. Mais, elle peut être utilisée pour la programmation. 1. Ecrire un programme en assembleur 2. Ecrire un programme en mikroC 8/9 N. ROUSSAFI Décalages
Exercice 5
On désire réaliser le jeu de lumière suivant : C RB7 RB6 RB5 RB4 RB3 RB2 RB1 RB0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 → led allumée 0 → led atteinte La dernière ligne n’est pas affichée. Mais, elle peut être utilisée pour la programmation. 1. Ecrire un programme en assembleur 2. Ecrire un programme en mikroC 9/9 N. ROUSSAFI Décalages
Exercice 6
On désire réaliser le jeu de lumière qui regroupe les 2 jeux précédents selon le tableau suivant : RB7 RB6 RB5 RB4 RB3 RB2 RB1 RB0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 1 1 1 0 0 0 0 1 1 1 1 0 0 0 1 1 1 1 1 0 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 1 0 0 0 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 → led allumée 0 → led atteinte 1. Ecrire un programme en assembleur 2. Ecrire un programme en mikroC
