X- Chenillard avec variable du type Octet

Pour ce programme on vous demande de réaliser un chenillard mais en utilisant cette fois-ci une variable de type Octet. 


Vous la nommerez LED_PortD :




Nous utiliserons 6 LED pour ce chenillard donc 6 broches du port D, allant de 0 à 5, chaque LED étant connectée à une broche de ce port.


Comment faire pour sélectionner que 6 des 8 broches de ce port? .....Pour comprendre voici une petite explication du début de l'algorithme :



Dans un premier temps nous initialisons notre variable LED_PortD de type Octet, par un "Calcul", en mettant tous les bits à 0.


Puis nous affectons à l'ensemble du portD, enfin... ceux qui nous intéressent (0 à 5), cette valeur. Il suffit de placer une "Sortie" et de la configurer comme suit :



Voilà vous n'avez sélectionné que 6 broches du PortD et pouvez maintenant y connecter vos 6 LED. Attention tout de même à respecter l'ordre de connection de vos LED sur le Port. D0 étant la broche ou vous connecterez la LED la plus à droite. Cela ne vous rappel rien ??? ... et oui tout comme les poids binaire, la LED la plus à droite sera représentative du LSB, poids 20. Celle la plus à gauche aura le poids 25. Nous n'irons pas plus loin car nous avons que 6 LED.



Quelques derniers petits conseils...


L'idée dans cet algorithme et d'allumer et d'éteindre successivement les LED connectées au PortD en commençant bien sur par toutes les LED éteintes.

Vous devez donc vérifier si la condition des LED éteintes est vraie pour ensuite mettre la variable LED_PortD à 1 (0b00000001). 

Cela aura donc pour effet d'allumer la LED connecté à la broche D0, et d"éteindre les autres.



Mais comment faire pour ensuite décaler mon 1 sur la gauche afin d'allumer les autres LED? ....  (exemple : 0b00000010)



Flowcode nous permet cela... Dans la fonction "Calcul" vous pouvez effectivement réaliser des décalages sur la gauche, voir sur la droite. 


...Je ne vous en dis pas plus, Flowcode bénéficie d'une aide qui vous sera très précieuse :  Cliquez sur le point interrogation en bas à gauche, vous en saurez plus.







Question 10.1 : 

Proposer un algorithme permettant de réaliser ce chenillard à 6 LED.


Question 10.2 : 

Dans le mode "Déboguer" effectuer une simulation afin de vérifier le bon fonctionnement de votre algorithme. 

Que remarquez vous?


Question 10.3 : 

Faire apparaître l'état de la variable LED_PortD lors du débogage, précisez les valeurs que prend la variable LED_PortD et  Fournir une explication du dysfonctionnement relevé à la question 10.2.


Question 10.4 : 

Proposer un nouvel algorithme permettant de remédier à cela.


Question 10.5 : 

Effectuer la simulation sous Proteus et vérifier le fonctionnement. Vous utiliserez le schéma structurel du précédent exercice.

Effectuer une capture d'écran pour votre compte rendu.


Question 10.6 : 

Pour finir passez au test réel.

Créé avec HelpNDoc Personal Edition: Importer et exporter des documents Markdown