Répétitions de Systèmes Programmés Enfouis

Tutoriel

Vous pouvez télécharger la version actuelle du tutoriel destinée à vous permettre de réaliser plus facilement un circuit électronique.

Pour les retardataires

Les étudiants pressés peuvent se procurer le kit de la firme Velleman dont les caractéristiques sont reprises ici. Ce kit vous permettra de programmer des pics jusqu'au 16f876.

Exemples de code Assembler pour PIC 16xx(x)

Vous pouvez consulter un exemple de programme simple qui fait clignoter une led ainsi qu'un programme qui utilise des interruptions. Ces exemples utilisent le fichier p16f877.inc qui définit les différents registres du PIC. Ces deux programmes sont extraits de l'archive concernant la carte d'acquisition et de traitement de signaux. Vous pouvez assembler ces programmes à l'aide de l'assembleur GPASM.

Une autre approche consiste à utiliser un macro assembleur. On peut utiliser un tel assembleur pour toute architecture, vu sa généricité. Seul un fichier de définition de macro spécifique au processeur cible sera inclu en début de source. J'ai écrit un assembleur en C-ANSI. Il peut être compilé à l'aide de tout compilateur C-ANSI digne de ce nom, tel gcc (GNU) ou TurboC 2.01 (gratuit) de Borland. Allez sur la page de GENASM pour toute info supplémentaire.

Exemple de montage utilisant un PIC 16f877

Une carte a été développée pour vous faciliter la tâche: il s'agit d'une carte qui comporte un PIC 16f877 de Microchip, une interface RS232, une alimentation 5 Volts et un bouton de reset. Vous pouvez consulter son schéma. Vous pouvez aussi télécharger le dessin de circuit imprimé et l'implémentation des composants. Ce circuit permet, après avoir programmé le PIC à l'aide d'un programme spécial de "bootloading", de le reprogrammer à volonté par l'interface sérielle. Durant la semaine du 22/3/2004 au 26/3/2004, circuits imprimés et PIC programmés seront disponibles chez Bernard Boigelot, au prix coûtant. Après cette date, les étudiants pourront se procurer ce matériel à mon bureau (R83b). Voici la liste du matériel requis.

Séances de laboratoire et répétitions

Répétition sur les systèmes hybrides : cette séance est remplacée (sur demande des étudiants) par ce document(PDF), qui est un exercice vous permettant de vous familiariser avec les systèmes hybrides.

Laboratoire 1 : cette séance permet de réaliser un commande d'afficheurs à 7 segments. Vous pouvez télécharger l'énoncé de la première séance de laboratoire.

Laboratoire 2 : cette séance consistera à réaliser le second point proposé dans l'énoncé de la première séance : réaliser un compteur en hexadécimal à deux afficheurs 7 segments multiplexés. Utilisez les lignes RB0-7 pour les segments de A à F et le point décimal, respectivement (0 = segment allumé); les deux afficheurs sont commandés (0 = afficheur allumé) par RE1 (afficheur de poids fort) et RE2 (afficheur de poids faible).

Laboratoire 3 : l'énoncé de la troisième séance est disponible. Le but de cette séance de laboratoire est de réaliser un rotation de matrice de 90 degrés et d'implémenter un tri rapide sans pile.

Liens importants

Les informations utiles concernant le microcontrôleur utilisé pour illustrer le cours peuvent être trouvées sur le site de Microchip. La zone intéressante est la Developer's toolbox où vous pourrez trouver des fiches de caractéristiques et des notes d'applications.
Les GPUTILS sont un excellent ensemble d'outils open source. Ils permettent d'assembler du code pour PIC (GPASM), de simuler l'exécution d'un programme (GPSIM)...
La programmation du PIC peut se faire à l'aide du programme présenté plus haut (exemple de montage utilisant un PIC 16f877).
Si vous travaillez sous Fenêtres (95 ou plus récent), vous pourrez vous procurer des outils gratuits sur le site de Microchip.

Outils pratiques

Consultez la page relative au programme de test de communication sérielle qui fonctionne sous DOS.

Si vous utilisez Linux, téléchargez ici la fantastique archive qui permet de programmer des PICs en utilisant un bootloader. Vous devrez compiler le code du loader (écrit en C) sous Linux de la manière habituelle.

Si vous utilisez DOS ou Windows, consultez ce site pour utiliser la technique du bootloader.

Si il vous faut un bootloader rapidement, vous le trouverez ici. Il s'agit d'une archive ZIP (dont je ne peux pas distribuer le contenu séparément, comme vous le comprendrez facilement!).


Dernière modification : 17 avril 2004.

Hugues Smeets