Exercices tests et sauts conditionnels et inconditionnels -

Informatique Industrielle : Exercices Tests et sauts conditionnels et inconditionnels

Télécharger PDF

Obtenir 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.

pack complet des cours, TDs, TPs et projets sur Informatique Industrielle : Microprocesseur & Microcontrôleur

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 maintenant

1/5 N. ROUSSAFI Tests et sauts Tests et sauts conditionnels et inconditionnels Rappel : Instructions de sauts conditionnels BTFSC f,b BTFSS f,b DECFSZ INCFSZ Instructions de sauts inconditionnels GOTO k CALL k RETURN RETLW RETFIE Types de tests : Un seul choix Si la condition est vraie faire choix et continu sinon continu. If (condition) {faire choix ;} 2 choix Si la condition est vraie faire choix 1 sinon faire choix 2. If (condition) {faire choix 1;} else {faire choix 2;}

2/5 N. ROUSSAFI Tests et sauts

Exercice 1

Dans le montage suivant, la led est allumée si l’interrupteur I est fermé et elle est éteinte s’il est ouvert. On donne l’algorithme suivant : 1) Choisir et configurer le PIC 2) Initialisation : configuration des ports 3) Test : RA0 = 0 ? (interrupteur fermé ?) 4) Si non → RA4 = 1 (led éteinte), aller à 3 5) Si oui → RA4 = 0 (led allumée), aller à 3 1. Donner l’organigramme 2. Ecrire un programme en assembleur 3. Ecrire un programme en mikroC

3/5 N. ROUSSAFI Tests et sauts

Exercice 2

Soit le montage suivant : Le montage fonctionne de la manière suivante :  Lorsque l’interrupteur M/A est ouvert (RB5 = 1) le moteur est arrêté (RB0 = 0), la led verte (RB6=0) est éteinte et la led jaune est allumée (RB7=1).  Lorsque l’interrupteur M/A est fermé (RB5 = 0) le moteur tourne (RB0 = 1), la led verte est allumée (RB6 = 1) et la led jaune est éteinte (RB7 = 0). On donne l’algorithme suivant : 1) Choisir et configurer le PIC 2) Initialisation : configuration des ports 3) Test : RB5 = 0 ? (interrupteur fermé ?) 4) Sinon → RB7 = 1, RB6 = 0 et RB0 = 0, aller à 3 5) Si oui → RB7 = 0, RB6 = 1 et RB0 = 1, aller à 3

4/5 N. ROUSSAFI Tests et sauts 1. Donner l’organigramme 2. Ecrire un programme en assembleur 3. Ecrire un programme en mikroC

Exercice 3

On désire réaliser un comparateur hexadécimal (4 bits) selon le schéma suivant : (PORTB) = b7b6b5b4b3b2b1b0 (nombreA) = 0000b3b2b1b0 (nombreB) = 0000b7b6b5b4

5/5 N. ROUSSAFI Tests et sauts On donne l’algorithme suivant : 1) Choisir et configurer le PIC 2) Déclarer les variables nombreA et nombreB 3) Initialisation : configuration des ports 4) Lire le PORTB : (PORTB) = b7b6b5b4b3b2b1b0 5) (PORTB)  (nombreA) : (nombreA) = b7b6b5b4b3b2b1b0 6) (PORTB)  (nombreB) : (nombreB) = b7b6b5b4b3b2b1b0 7) Permuter le quartet de poids fort (b7b6b5b4) et le quartet de poids faible (b3b2b1b0) du (nombreB) : (nombreB) = b3b2b1b0 b7b6b5b4 8) Masquer le quartet de poids fort de (nombreA) : (nombreA) = (nombreA) ET 00001111 = 0000b3b2b1b0 9) Masquer le quartet de poids fort de (nombreB) : (nombreB) = (nombreB) ET 00001111 = 0000b7b6b5b4 10) Faire la soustraction : (nombreA) - (nombreB) 11) Test : résultat = 0? 12) Sinon : aller à 15 13) Si oui : allumer led verte (leds rouge et jaune éteintes) (PORTA) = 0x01 14) Aller à 4 (boucler) 15) Test : résultat > 0 ? 16) Sinon : aller à 19 17) Si oui : allumer led rouge (leds verte et jaune éteintes) (PORTA) = 0x02 18) Aller à 4 (boucler) 19) Allumer led jaune (leds verte et rouge éteintes) (PORTA) = 0x04 20) Aller à 4 (boucler) 1. Donner l’organigramme 2. Ecrire un programme assembleur 3. Ecrire un programme mikroC

Partagez vos remarques, questions ou propositions d'amélioration ici...

Enregistrer un commentaire (0)
Plus récente Plus ancienne

Publicité 1

Publicité 2