Vous êtes sur la page 1sur 8

Institut Supérieur des Technologies Médicales de

Tunis
Département Génie électrique

Fascicule de TP

Architecture des Systèmes


à processeurs

3ème année Génie Biomédical (GBM)


(Semestre 1)

Intervenants :

M Ahmed Karim BEN SALEM


M Taoufik MAJOUL

Année universitaire 2019-2020


TP1 : Initiation à l’utilisation des
environnements ISIS/PIC CSS
Objectifs pédagogiques :
− Rappel des étapes nécessaires pour la simulation des circuits
réalisés sur le logiciel ISIS.
− Rappel sur la programmation C classique avec l’ajout de
quelques fonctions spécifiques au PIC
− S’initier à la manipulation de l’outil de programmation PIC CSS
permettant d’écrire des programmes C pour les
microcontrôleurs.

Préalables : Notions élémentaires sur la saisie et la simulation


des montages sur l’outil ISIS.

Durée : 1 séance de 3H

ISTMT TP1 2
TP Architecture des systèmes à processeurs GBM3

A/Présentation de la suite logicielle : PROTEUS


1/ Composition et rôle
La suite logicielle PROTEUS est composée des modules suivants :

Le Module ISIS qui permet :


1/ la saisie de schéma : La saisie d’un schéma structurel d’un circuit électronique
(assemblage de composants électroniques dont on fixe les valeurs et les références)
reliés par des connexions électrique (fils).

2/ la simulation du comportement : Le simulateur [PRO SPICE] permet la simulation


du comportement des composants du schéma. Ce simulateur effectue des calculs en se
basant sur des modèles mathématiques (modèle SPICE)
Note : un module additionnel contenu dans ISIS (module VSM) permet la simulation du comportement
de circuits basés sur des microcontrôleurs.

Le Module ARES qui permet de :


- Placer les composants (saisis précédemment dans ISIS) sur une feuille
- Effectuer les connexions électriques (pistes) à partir d’un chevelu.
- Imprimer le typon.

2/ Démarche pour réaliser une simulation sur ISIS


- Effectuer la saisie du montage conformément à la démarche normale de ISIS.
Note : Attention à bien choisir des composants disposant d’un modèle de simulation :
-> Propriété « Spice model » Ou « Vsm Model » ou « Anolog primitive » ou « Digital primitive »
présente.
- Editer les propriétés de simulation [Menu Graphes - Editer Graphes]
- Lancer la simulation (touche d’espace)

3/ Simulation d’un microcontrôleur PIC


Il est nécessaire d’avoir :
 Un montage basé sur un µc PIC dont tous les composants sont simulables (ou ceux
qui ne le sont pas sont exclus de la simulation : exemple les borniers (figure 1))
 Un fichier exécutable (code machine) FICHIER.HEX associé au µc PIC sur le
montage, Ou mieux un code machine + informations de Débogage : FICHIER.COF
sous PIC CCS.

Figure 1

ISTMT TP1 3
TP Architecture des systèmes à processeurs GBM3
B/ Microcontrôleur PIC 16F84
1- Présentation
Le 16F84 est un microcontrôleur PIC qui dispose de 13 lignes d’entrées/sorties. Ces
lignes sont issues de deux ports internes nommés PORTA et PORTB. Les lignes du PORTA
sont repérées de RA0 à RA4 et sur le PORTB, les lignes sont repérées de RB0 à RB7.
Ce µc PIC existe en boîtier 18 broches (figure 2) avec une fréquence maximale de
20MHz (sur broches OSC1 et OSC2). Il dispose d’une entrée MCLR de remise à 0 active à
l’état bas.

Figure 2 : Brochage du PIC16F84A

2- Utilisation des entrées et sorties


Chaque broche du PIC16F84 peut être configurée indépendamment des autres en entrée
ou en sortie.
Dans la mémoire RAM du PIC16F84A existe des octets particuliers appelés REGISTRES.
Pour l’initialisation des broches des PORTs physiques A et B.
Les états des bits de 2 de ces registres : TRISA et TRISB sont représentatifs de la
configuration des broches du 16F84 (bit à 1 : broche en E et bit à 0 : broche en S). A la mise
sous tension tous ces bits sont à 1
Chaque bit correspond à une broche du PIC16F84A comme suit.
Registre TRISA :
Nom de la broche X X X RA4 RA3 RA2 RA1 RA0
Bit correspondant 7 6 5 4 3 2 1 0

Registre TRISB :
Nom de la broche RB7 RB6 RB5 RB4 RB3 RB2 RB1 RB0
Bit correspondant 7 6 5 4 3 2 1 0

ISTMT TP1 4
TP Architecture des systèmes à processeurs GBM3

Il est donc nécessaire au début du programme principal de mettre chaque bit de ces registres à
sa bonne valeur selon la connexion des E/S par rapport aux broches.

Une fois ces broches sont configurées en E/S, on peut envoyer ou recevoir des données de ces
broches des ports en manipulant les états des bits de 2 autres registres : PORTA et PORTB
qui contiennent l’état du port physique respectivement A ou B.

Plusieurs fonctions sont utilisées pour la manipulation de ces PORTs :


Output_low ( PIN_Xx) ; // X : nom de port physique A ou B
Output_high (PIN_Xx ) ; //x : numéro de la broche dans le port
physique Output_bit (PIN_Xx, 0 ou 1) ;
bit=Input (PIN_Xx) ;
Output _x (value) ; // value : définie l’octet à écrire sur le port
octet=Input_x ( ) ;
Set_tris_X (valeur) ; // valeur : définie la configuration de port

C/ Manipulation
A présent nous allons passer à l’utilisation effective des outils décrits précédemment. Soit le
circuit de la figure 3.

Figure 3 : Montage

ISTMT TP1 5
TP Architecture des systèmes à processeurs GBM3

Le montage est composé de :

Désignation Référence Fonction


Microcontrôleur PIC 16F84A de chez Microchip. U1
Fixe la période de
Un oscillateur X1
fonctionnement du PIC
Reliés au PIC pour simuler
Des switchs SWi
des entrées
Reliés au PIC pour simuler
Des LED Li
des sorties
Des résistances Ri Adaptation courant tension

1- Ouvrir le fichier l’arborescence suivante d:\GBM3\TPASP\TP1.DSN.


2- Lancer la simulation du circuit en appuyant sur la touche .
3- Que remarquez-vous ?

4- Ouvrir le logiciel PCW .


a. Créer un nouveau fichier d:\GBM3\TPASP\TP1.c
b. Comme indiqué précédemment, pour pouvoir fonctionner, le microcontrôleur a
besoin d’un programme qui gère son évolution. Ecrire alors le code C suivant :

#include <16f84a.h>
#use delay (clock=4000000)

//Programme principal
void main ( )
{
set_tris_b (0x00); // port b en sortie
set_tris_a (0xFF); //port a entrée

While (true) // boucle infinie


{
output_high(PIN_B0) ;
}
}
c. Compiler ce programme, corriger les erreurs éventuelles.
d. Reprendre ISIS, associer le fichier exécutable au PIC et faire le nécessaire pour
simuler le circuit de la figure 3.
e. Quelle est la fonction réalisée par ce programme ?
f. Commenter les lignes de ce programme.
5- Modifier le programme précédent pour allumer une par une les leds L0/L2/L4/L6.
Compiler et tester ce programme sur ISIS.
6- Ajouter les lignes de codes nécessaires pour faire éteindre les leds allumées au bout
d’une seconde, en utilisant l’instruction delay_ms(temps). Compiler et tester ce
programme sur ISIS.
7- Modifier le programme pour faire le cycle représenté par l’organigramme de la figure 4.

ISTMT TP1 6
TP Architecture des systèmes à processeurs GBM3

Allumer L0/L2/L4/L6
Eteindre L1/L3/L5/L7

Attente 1s

Eteindre L0/L2/L4/L6
Allumer L1/L3/L5/L7

Attente 1s

Figure 4 : Organigramme 1

8- Quel est l’effet des switchers SW1, SW2 et SW3 ?


Entrées PIC
Switchers
RA2 RA1 RA0
SW1 ouvert
SW1 fermé
SW2 ouvert
SW2 fermé
SW3 ouvert
SW3 fermé
9- Modifier le programme de la question 7 pour réaliser l’organigramme de la figure 5, en
utilisant l’instruction input(PIN_XY).

Si SW1 est
fermé

Oui
Allumer L0/L2/L4/L6
Eteindre L1/L3/L5/L7

Attente 1s

Eteindre L0/L2/L4/L6
Allumer L1/L3/L5/L7

Attente 1s

Figure 5 : Organigramme 2
ISTMT TP1 7
TP Architecture des systèmes à processeurs GBM3

10- Soit l’organigramme de la figure 6, modifier le programme précédent pour obtenir le


fonctionnement indiqué ici. Compiler le programme puis le simuler sous ISIS.

Si SW1 est NON Si SW1 est NON


fermé fermé

Oui Oui
Allumer L0/L2/L4/L6
Eteindre L1/L3/L5/L7 i=0

Attente 1s

i<10
Eteindre L0/L2/L4/L6
Allumer L1/L3/L5/L7
Oui
Allumer L0/L2/L4/L6
Attente 1s Eteindre L1/L3/L5/L7

Attente 1s

Eteindre L0/L2/L4/L6

Attente 1s

i++

Figure 6 : Organigramme 3

ISTMT TP1 8

Vous aimerez peut-être aussi