Hibou inuit de © Kenojuak Ashevak

Jean DEMARTINI
Professeur des Universités
Docteur es Sciences
Ingénieur

Cours actifs

Automatique

Servo-mécanismes discrets

Physique/Ingéniérie

Mécanique des fluides

Processeurs digitaux

Machines Programmables

Architectures DSP

Traitement du signal

Processus stochastiques

Filtres numériques

Projets Polytech'Nice-Sophia

Projets 2007

Projets 2006

Conférences

La Vidéo Surveillance du futur

Les métiers de l'Ingénieur

Réflexions sur le génie logiciel

Une brève histoire des techniques

Ma page GNU/Linux

Mon PmWiki

Archives

API & RLI

La commande floue

Les Fondements du Numérique

L'information, la Machine et le Programme

La logique séquentielle

La programmation fonctionnelle

Mathématiques pour la physique

Méthodes formelles pour l'informatique

Réseaux pour les nuls

Forum  ♦ Annonces

jean.demartini@unice.fr

Login  ♦ Logout

pmwiki-2.2.0-beta68

Testeur pour Ascenseurs

Testeur pour Ascenseurs

Communication Port série - Interface RS232 sur PIC

Allumage de diodes

1. Sur la plaque de programmation

La première étape pour allumer une diode est de programmer un PIC. Nous avons donc choisi le 16F628 fournit par M. Lescroart, et nous l'avons programmé avec le programmateur MPLAB ICD 2. Afin de ne pas brûler les étapes et de ne pas avoir à gérer trop de problèmes en même temps, nous n'avons pas effectué ces tests avec le système Hyperterminal, RS232, Plaque d'essais. En effet, la carte de programmation offre diverses fonctionnalités de tests grâce à ses diodes et interrupteurs. L'objectif était donc de programmer le 16F628 et d'allumer les diodes présentes sur la carte.

Cette étape a été longue et nous a posé beaucoup de problèmes. En effet, nous avions trouvé les semaines précédentes divers codes d'allumage de diodes, mais aucun pour un 16F628. Par exemple, les codes proposés par Bigonof sont prévus pour le 16F84, PIC obsolète qui n'est plus commercialisé.

Nous pensions tout d'abord qu'il suffisait de changer le nom dans la déclaration du PIC et l'appel de sa bibliothèque, mais même lorsque les compilations fonctionnaient, la programmation ne donnait aucun résultat sur les diodes de la carte qui restaient éteintes.

En consultant des exemples d'initialisation en assembleur sur le site de Microchip, nous avons remarqué que chaque PIC se déclare différemment, et pas seulement au niveau de son nom. En effet, les adresses mémoire et les registres ont des valeurs spécifiques, dépendant des capacités du PIC.

En se basant sur les exemples d'initialisation du 16F628, et en écrivant nous-même un code simple pour agir sur les diodes, nous sommes parvenus à les allumer. Notre programme paramètre les ports B du PIC en mode sortie (out), car ce sont les sorties sur lesquelles sont branchées les diodes. Il suffit ensuite de spécifier le numéro du port avec l'instruction bsf pour allumer une led ou bcf l'éteindre.

Ce premier test réussi nous a servi de base pour élaborer plusieurs petits programmes, de plus en plus évolués : - Allumage des 4 diodes - Extinction des 4 diodes - Allumage des diodes en chaine - Clignotement des diodes - Chenillard des diodes

Pour le clignotement des diodes, le premier essai nous donnait un allumage continu. Pourtant le programme allume puis éteint toutes les diodes, en boucle. Ce problème est dû à la fréquence : en effet, nous utilisons le quartz interne au PIC à 4 Mhz. Or cette fréquence est trop élevée pour l'oeil humain qui n'a pas le temps de voir l'extinction des diodes entre deux allumages. Il a donc fallu ajouter une temporisation entre chaque action, ce qui a nécessité également de longues recherches.

Le résultat le plus visuel et le plus complet est le chenillard, dont voici le code : Chenillard1

La seconde étape consiste en l'allumage d'une diode par simple appui sur un interrupteur. Nous avons donc utilisé dans un premier temps l'interrupteur intégré sur la plaque de programmation pour réaliser ce test. Après divers tests au niveau du code assembleur, nous sommes parvenus à un résultat satisfaisant, dont voici le code : Interrupteur1

Allumage d'une diode à l'aide d'un interrupteur sur la plaque de programmation

Allumage d'une diode à l'aide d'un interrupteur sur la plaque de programmation

2. Sur une plaque d'essais

Nous avons récupéré auprès de l'école une plaque d'essais à trous ainsi qu'un ensemble de fils et ponts adaptés, une LED, un interrupteur, une alimentation stabilisée et un oscilloscope. Nous avons effectué un premier test avec le PIC programmé précédemment avec le chenillard. Ne disposant que d'une diode, le résultat doit produire un clignotement régulier de celle-ci. Ce premier test est réussi.

Tests sur plaque d'essais

Tests sur plaque d'essais

Recent Changes (All) | Edit SideBar Page last modified on March 23, 2006, at 10:57 PM Edit Page | Page History