Vous êtes sur la page 1sur 18

TRAVAUX PRATIQUES DE CAO T.P.

1 PROTEUS

Avant de faire ce T.P. vous devez : Objectifs de ce T.P. :

 Etre initié à l’utilisation d’un ordinateur : manipulation de la  Initiation à la saisie de


souris, des menus, saisie de texte etc… schéma, à la simulation et au
 Connaître les symboles des composants électroniques. routage avec Proteus.
 Connaître les signaux variables.

Matériel nécessaire :

 1 Ordinateur équipé du logiciel Proteus


 Espace disque personnel pour sauvegarde du travail

I(t) R1

Tout au long de ce T.P. le schéma étudié sera celui-ci :


ve(t) vs(t)
C1
 1. Saisie du schéma :
 Démarrez le logiciel ISIS.

 Sélectionnez les composants « RES » et « CAP » dans la bibliothèque.


R1
RES
 Dessinez le schéma suivant : C1
CAP
 Affectez les valeurs aux composants :
 R1 = 10 k
 C1 = 47 nF
 Ajoutez les labels « Ve » et « Vs » aux points correspondants (si nécessaire rajouter un fil à
la patte non connectée de R1).
 Enregistrez votre travail dans le répertoire indiqué par votre professeur. Par la suite, faite
des sauvegardes régulières au moins toutes les 10mn.

Simulation avec Ve signal carré :


 Le circuit est soumis au signal Ve :
 Forme : Carré
 F = 200 Hz Ajoutez le générateur correspondant.
 VeMINI = 0 V ; VeMAXI = 5 V
 Placez et reliez la masse
 Placez une sonde de tension pour visualiser le signal Vs.
Page 1/3
TRAVAUX PRATIQUES DE CAO T.P.1 PROTEUS

 Placez un graphe de type « Analogue ». Ce graphe devra afficher Ve et Vs. Réglez les
caractéristiques suivantes :
 Début de la visualisation : 0 s
 Fin de la visualisation : 10 ms
 Lancez la simulation.
 Affichez le graphe en plein écran pour faire  Que vaut Vs pour t = 1 ms ?
apparaître le curseur de mesures.
 Que vaut Vs pour t = 9 ms ?
 Placez une sonde de courant pour visualiser
I. Nommez-la « I ». Ajoutez la visualisation de  Que vaut I pour t = 1 ms ?
I sur le graphe précédent (Attention,  Que vaut I pour t = 9 ms ?
l’amplitude de I étant très faible, il lui faut une
autre échelle d’axe).

2. Simulation avec Ve signal sinusoïdal :


 Le circuit est maintenant soumis au signal Ve :
 Forme : Sinusoïdal
Modifiez le générateur précédent.
 F = 1 kHz
 VeMAXI = 10 V
 Réglez le graphe :
 Début de la visualisation : 100 ms
 Fin de la visualisation : 102 ms
 Lancez la simulation.

 Que vaut Vs pour t = 100,6 ms ?

 Que vaut Ve pour t = 100,6 ms ?

 Quelle est la valeur maximum de Vs ?

 A l’aide des deux repères de mesure et de l’affichage « DX », mesurez la durée entre le


passage à 0 A de I et le passage à 0 V de Vs (2 réponses possibles) :

3. Affichage de la réponse en fréquence (diagramme de Bode) :


 Placez un nouveau graphe de type « Frequency ». Ce graphe devra afficher le gain et la
phase de Vs. Réglez les caractéristiques suivantes :
 Référence : Ve
 Fréquence de début : 10 Hz
 Fréquence de fin : 10 MHz
 Lancez la simulation.

Page 2/3
TRAVAUX PRATIQUES DE CAO T.P.1 PROTEUS

 Que vaut le gain de Vs à 10 kHz ?

 A quelle fréquence le gain de Vs vaut –3 dB ?

 Que vaut la phase de Vs lorsque le gain de Vs est à -6 dB ?

 4. Routage :
 Affectez à la ligne de masse le label « GND ».
 Ajoutez les deux connecteurs comme sur Ve R1 Vs

le schéma ci-contre. J1 10k


J2
1
2 C1
47nF
1
2

 Générez la « Netlist » nécessaire au CONN-H2 CONN-H2

routage avec ARES. GND

A partir de maintenant, vous


utilisez ARES

 Tracez les bords du circuit : 30 mm  20 mm 1 1


2 2

 Placez les borniers comme indiqué. Placez les autres


composants. Remplacez l’empreinte du condensateur par
l’empreinte « CAP40 ».
 Définissez les stratégies de routage telles que :
 Le routage sera fait en simple face.
 Les pistes d’alimentation (POWER) sont de 1 mm de largeur.
 Les autres pistes sont de 0,5 mm de largeur.
 Lancez le routage automatique. Le cas échéant, effectuez des corrections manuellement.
 Inscrivez « T.P. 1 Proteus » du coté cuivre et votre nom du coté sérigraphie.
 Retournez dans ISIS, et changez l’empreinte de la résistance en « RES50 ». Générez de
nouveau la « Netlist » vers ARES.
 Effectuez les modifications qui conviennent dans ISIS, puis dans ARES pour finaliser le
typon.

Page 3/3
TRAVAUX PRATIQUES DE CAO T.P.2 PROTEUS

Avant de faire ce T.P. vous devez : Objectifs de ce T.P. :


 Etre initié à l’utilisation d’ISIS  Connaître les symboles animés.
(avoir fait le T.P. 1)  Avoir un aperçu des possibilités de la
simulation animée (VSM).

Proteus permet de simuler des schémas grâce à des composants animés (VSM). Ces
composants sont accessibles, comme les autres, par le bouton « Pick device » .
Il existe également des appareils de mesure (voltmètre, ampèremètre, oscilloscope, analyseur
logique… ) accessibles avec le bouton « Virtual instruments » .

Voici quelques composants animés :

Générateurs
ALTERNATOR BATTERY IEXP, IPULSE, IPWLIN, VEXP, VPULSE, VPWLIN, VSOURCE
CLOCK CSOURCE VSFFM, VSINE
ISFFM, ISINE
B1 V1
I1
12V
1A I1 V1 1V
IEXP VSFFM

Interrupteurs, claviers
KEYPAD-CALCULATOR, KEYPAD-PHONE,
KEYPAD-SMALLCALC SW-DPDT, SW-DPDT-MOM, SW-DPST, SW-DPST-MOM,
SW-ROT-3, SW-ROT-4, SW-ROT-5, SW-ROT-6, SW-
SPDT, SW-SPDT-MOM, SW-SPST, SW-SPST-MOM,
BUTTON SWITCH
A
7 8 9
SW1 SW1
B
4 5 6
SW3
C
1 2 3
D
ON
C
0 = + SW-SPST
SW-DPDT SW-ROT-6
1

Composants passifs
POT-LIN RELAY
CAPACITOR POT-LOG
FUSE RV1
RL1
C1 12V
1000u

1k

Eléments actifs
7SEG-COM-CATHODE
et de nombreux autres BUZZER LAMP LED-BLUE, LED-GREEN,
afficheurs BUZ1 LED-RED, LED-YELLOW
L1
12V
D1
LED-BLUE
BUZZER

Page 1/4
TRAVAUX PRATIQUES DE CAO T.P.2 PROTEUS

MOTOR, MOTOR-BISTEPPER, MOTOR-


COMPIM
DC, MOTOR-SERVO, MOTOR- SOUNDER, TRAFFIC LIGHTS P1
PWMSERVO, MOTOR-STEPPER SPEAKER 1
DCD
6
LS1 LS2 2
7
DSR
RXD
RTS
3
TXD
8
CTS
4
DT R
9
RI

+88.8 SOUNDER SPEAKER


ERROR
COMPIM

Portes logiques
DTFF JKFF LOGICPROBE LOGICSTATE
AND LOGICTOGGLE
U1 U1 LOGICPROBE
U1 D Q J Q (BIG)
0
CLK CLK

Q K Q ? 0
AND
DTFF JKFF

NAND NOR NOT OR XOR


U1 U1
U1 U1 U1

NAND NOT OR XOR


NOR

SWITCH

1. Interrupteur et lampe
BATTERY LAMP
12V
12V

 Démarrez ISIS, et saisissez le schéma ci-contre :

 Appuyez sur le bouton « Jouer » du


« magnétoscope ». La barre de message doit
indiquer le temps écoulé depuis le lancement de
l'animation.

REMARQUE : Ne confondez pas l’animation du circuit avec la simulation


« SPICE » qui s’exécute en appuyant sur la barre d’espacement.

 Pour actionner l’interrupteur, il faut appuyer sur les petites flèches rouges.

 Placez un ampèremètre (bouton ) afin de mesurer l’intensité


I=
circulant dans la lampe.

 Modifiez la valeur de la résistance de la lampe afin RLAMPE =


d’avoir I = 100 mA.

 A la place de la batterie, placez un « ALTERNATOR ». Relancez la simulation et


remarquez les variations de luminosité de la lampe.
 Modifiez l’amplitude du générateur afin que la lampe puisse atteindre sa luminosité
maximale.

 Dans le menu « System / Set animation options … » cochez les cases « Show wire voltage
by color ? » et « Show wire current with arrows ? ». Relancez l’animation. C’est beau non ?

Page 2/4
TRAVAUX PRATIQUES DE CAO T.P.2 PROTEUS

 Remplacez « ALTERNATOR » par un générateur « VSIN ». Prenez soin de lui attribuer les
caractéristiques suivantes : amplitude = 12V ; fréquence = 0,5 Hz.

 Placez maintenant une diode « 1N4001 » dans le circuit et relancez l’animation.


REMARQUE : Si à la place d’une « 1N4001 » vous placez le composant « DIODE » qui est
parfait, les flèches d’intensité n’apparaissent pas pour l’alternance négative.

RES
10k
2. Astable à base de 555

8
U2
4 3

VCC
R Q

 Saisissez le schéma ci-contre : DC


7 POT-LIN
BATTERY 5
CV 10k
5V

 Placez la voie 1 de l’oscilloscope

GND
2 6
TR TH
sur la sortie du NE555 (patte 3) et la
NE555 CAPACITOR
voie 2 sur la patte 6.

1
1u

 Lancez l’animation et réglez


l’oscilloscope pour visualiser
correctement les deux signaux.

REMARQUE : Si l’oscilloscope n’apparaît pas, allez dans le menu « debug / Reset popup
windows ».

 Mesurez la période des signaux lorsque le curseur du potentiomètre est tout en bas.

 Arrêtez l’animation. Placez des sondes de tension sur les pattes 3 et 6. Dessinez un graphe
de type « ANALOGUE » dans lequel vous afficherez ces deux tensions. Lancez la simulation
SPICE et visualisez les signaux.
La simulation SPICE se lance avec la barre d’espacement. Pensez à relancer une
simulation lorsque vous modifiez la position du potentiomètre.

 Mesurez la période des signaux lorsque le curseur du potentiomètre est tout en haut.

 Complétez le schéma comme ci-dessous :


 Le circuit U1 est un compteur 74190.
 Le circuit U3 est un décodeur BCD / 7 segments. Pour trouver ce composant, vous
pouvez taper les mots clés « BCD 7 » dans la fenêtre de choix de composant et choisir
celui qui vous convient.
 Pour que l’animation soit agréable, changez la valeur du potentiomètre en 500 k.

Page 3/4
TRAVAUX PRATIQUES DE CAO T.P.2 PROTEUS

 Placez les labels D0 à D3 sur les fils entre U1 et U3.

U3
U1 BIN/7-SEG
CTRDIV10 [T1]
4
RES G1
4
1
5 12
10k M2(DOWN) 2(CT=0)Z6
8

M3(UP) 3(CT=9)Z6
U2 5
& G21
4 3 14 3
VCC

R Q 1,2-/1,3+
13
G4 6,1,4
CT =0
DC
7 POT-LIN 7SEG-COM-CATHODE
11 13
C5 V20 a 20,21
BATTERY 5
CV 500k
12
5V b 20,21

15 3 D0 7 11
5D 1 c 20,21
GND

2 6
TR TH
1 2 D1 1 10
2 d 20,21
NE555 CAPACITOR
1

10 6 D2 2 9
4 e 20,21
1u
9 7 D3 6 15
8 f 20,21

74190 14
g 20,21

 Quelle est la référence du décodeur BCD / 7 segments que vous avez choisi ?

 Lancez l’animation.

 Placez un analyseur logique qui enregistre l’entrée d’horloge de U1 et les signaux D0 à D3.
Visualisez ces signaux.

 A l’aide des marqueurs de l’analyseur logique, mesurez la période du signal D3 lorsque le


curseur du potentiomètre est tout en haut.

 A l’aide du bouton de « copie d’objets sélectionnés », complétez le montage afin d’avoir


également un comptage des dizaines. Testez votre montage.

La copie d’une zone ne modifie pas les labels des fils. Des fils qui ont le même label
sont au même potentiel ! Avez-vous pensé à supprimer les labels D0 à D3 à la sortie de
votre deuxième compteur 74190 ?

Page 4/4
TRAVAUX PRATIQUES DE CAO T.P.3 PROTEUS

Avant de faire ce T.P. vous devez : Objectifs de ce T.P. :


 Etre initié à l’utilisation d’ISIS  Créer de nouveaux composants
(avoir fait le T.P. 1)  Gérer les librairies
 Créer de nouvelles empreintes pour le routage
 Intégrer des modèles Spice

Matériel nécessaire :
 1 Ordinateur équipé du logiciel Proteus  Cours de CAO ChapII
 Fichier AD622.PDF  Fichier AD622.CIR

 1. Création et gestion d’une bibliothèque de symboles


Il peut être intéressant de se créer sa propre librairie afin d’y stocker des nouveaux
composants ou des composants personnalisés.

 Démarrez ISIS.

 Cliquez sur le menu : « Library /Library


manager »
 La fenêtre ‘Devices Libraries Manager’
s’ouvre :
 Cliquez sur le bouton : « Create library. »
 Indiquez le nom de la librairie (par exemple
« lib_nom ») et le répertoire où elle sera
enregistrée (choisir C:\Program Files\Labcenter
Electronics\Proteus 6 Professional\LIBRARY).

 Une fenêtre ‘Nouvelle bibliothèque’ s’ouvre.


Cliquez sur OK

 Vous pouvez sélectionner des composants d’une autre bibliothèque et les copier dans votre
propre librairie (bouton : « Copy Items »).
Il est aisé de faire une mauvaise manipulation avec les librairies. Prenez soins de faire
des copies de vos propres librairies et de les protéger en écriture (Bouton ‘Attribut
fichier’).

Page 1/5
TRAVAUX PRATIQUES DE CAO T.P.3 PROTEUS

 2. Création d’un nouveau composant


Dans ISIS, on peut créer des nouveaux composants
directement sur le schéma. Nous allons créer un AD622 aux
normes européennes.

REMARQUE : Dans Proteus V6 SP2, le symbole de l’AD622


n’existe pas.

 A l’aide des outils graphiques, tracez le contour du symbole du composant :


Le sélecteur d'objets, à gauche, affiche une liste de styles graphiques. Un style
graphique détermine l'apparence du graphique en termes de largeur de lignes,
couleur, style de remplissage, etc. Comme nous définissons le corps d'un
composant, sélectionnez le style COMPONENT. Placez le pointeur de souris sur la
fenêtre d'édition et tracez un rectangle. N'essayez pas d'obtenir la taille exacte
vous pourrez toujours modifier sa taille plus tard.
Dessinez également le symbole «  ».
 Placez les pattes :
Sélectionnez le bouton ‘Pin de composant.’ Le sélecteur d'objets vous donne
la liste des types de pattes disponibles. Choisissez, le type 'Default', Placez les
8 pattes comme indiqué (la croix représente l'extrémité où vous connecterez un
fil).
Notez que vous pouvez utiliser la flèche descendante pour déplacer le pointeur
d'un pas de grille, ainsi que la touche ENTREE, pour remplacer le clic gauche.
A ce stade, vous pouvez modifier la position des pattes ou changer la taille du
rectangle.
7
 Annotez les pattes : +VS
Après avoir adapté le corps du composant et les pattes à notre convenance, nous 2
-IN
devons maintenant annoter les pattes avec des noms et des numéros, et leur
1
attribuer un type électrique. Le type électrique (entrée, alimentation, passif, etc.) est RG1
OUT
6
8
utilisé par l'outil de contrôle des règles électriques pour vérifier l'interconnexion RG2

des pattes dont le type est compatible. 3


+IN
Nous attribuerons d'abord les noms, les types électriques et la visibilité. Pour ce
REF -VS
faire, marquez chaque patte (clic droit), puis modifiez la patte marquée (clic
gauche). La patte affiche alors sa fenêtre de dialogue 'Edition patte'. 5 4

Modifiez chaque patte, tour à tour, comme suit :


 Entrez le nom de la patte et son numéro.
 Choisissez le type électrique approprié à chaque patte :
'Sortie' pour la patte « OUT » ; 'Alimentation' pour
« +VS » et « -VS » ; 'Entrée' pour les autres.
 Eventuellement, décochez les options de visibilité pour
les pattes d’alimentation (dans ce cas elles
n’apparaîtront pas sur le schéma.

Page 2/5
TRAVAUX PRATIQUES DE CAO T.P.3 PROTEUS

 Créez le composant :
Sélectionnez toutes les pattes et le corps.
Cliquez sur le bouton 'Créer Composant' .

 La fenêtre « Propriétés du composant »


s’ouvre.
o Entrez ‘AD622’ dans le champ 'Nom'
o Entrez ‘CI' dans le champ 'Préfixe
référence'
o Cliquez sur le bouton « Suivant »

 La fenêtre concernant le boîtier s’ouvre.


Appuyez sur le bouton « Add / Edit ».
o Choisissez le boîtier ‘DIL08’
o Cliquez sur le bouton ‘Affecter boîtier(s) »
o Cliquez 2 sur le bouton « Next »

 Une fenêtre propose d’associer la documentation à


notre composant. Nous verrons cela plus tard.
o Cliquez sur le bouton « Next »
 La fenêtre « index et bibliothèque » s’ouvre.
o Choisissez la bibliothèque à votre nom (lib_nom) pour
stocker le symbole créé.
REMARQUE : Seules sont affichées les bibliothèques
autorisées en écriture.
o Choisissez la catégorie, la sous catégorie et le
fabricant.
o Cliquez sur le bouton « OK »

CI1
AD622

L’AD622 est créé. 2


-IN
Vous pouvez 1
RG1
l’utiliser comme un OUT
6

autre composant et 8
RG2

éditer ses 3
+IN
REF
caractéristiques.
5

 Associer la documentation au composant :


 Copiez le fichier AD622.PDF dans le sous-dossier DATA du dossier l’installation de
Proteus (C:\Program Files\Labcenter Electronics\Proteus 6 Professional\DATA).
 Dans ISIS, placez le circuit AD622, sélectionnez-le et cliquez sur le bouton 'Créer
Composant' .
 La fenêtre « Propriétés du composant » s’ouvre.

Page 3/5
TRAVAUX PRATIQUES DE CAO T.P.3 PROTEUS

o Cliquez sur le bouton « Suivant » jusqu’à la fenêtre « Notice technique


composant et fichier aide »
o Dans « Fichier notice », indiquez AD622.PDF
Editez les caractéristiques de l’AD622, le bouton « Données » permet d’appeler la notice
technique.

3. Attribution d’un sous-circuit « SPICE » à un composant


Pour pouvoir simuler le composant que nous venons de créer, il faut lui associer un modèle (pour les
composants simples : diodes, transistors) ou un sous-circuit de simulation. Le plus courant est le
modèle ou sous-circuit SPICE qui est disponible sur la plupart des sites Internet des fabricants de
composants.
Le modèle SPICE du circuit AD622 se trouve dans le fichier AD622.CIR mis à votre
disposition. Vous devez le copier dans le sous-dossier MODELS du dossier l’installation de
Proteus (C:\Program Files\Labcenter Electronics\Proteus 6 Professional\MODELS).
 Ouvrez une nouvelle fenêtre ISIS.
 Placez le AD622 que vous venez de fabriquer et éditez ses propriétés (Sélectionnez-le puis
cliquez au centre du composant).
 La fenêtre « Edition composant »
s’ouvre
 Dans la case « Other Properties »
saisissez les informations suivantes :
PRIMITIVE=ANALOGUE,SUBCKT
SPICEMODEL=AD622,AD622.CIR
SPICEPINS=+IN,-IN,+VS,-
VS,OUT,REF,RG1,RG2
EXPLICATIONS :
PRIMITIVE=ANALOGUE,SUBCKT
Cette affectation est toujours la même. Elle
indique que le composant est représenté par
un sous-circuit SPICE.
SPICEMODEL=AD622,AD622.CIR
Cette ligne précise le nom du sous-circuit à Extrait du fichier AD622.CIR
utiliser et le nom du fichier ASCII qui contient sa * Node assignments
description (le fichier AD622.CIR est un fichier * non-inverting input
* | inverting input
texte que vous pouvez éditer). Le fichier peut * | | positive supply
contenir plusieurs models. * | | | negative supply
* | | | | output
SPICEPINS=+IN,-IN,+VS,- * | | | | | ref
* | | | | | | rg1
VS,OUT,REF,RG1,RG2 * | | | | | | | rg2
La propriété SPICEPINS permet de relier les * | | | | | | | |
.SUBCKT AD622 1 2 99 50 46 20 7 8
noms de pattes de ISIS aux numéros de nœuds du
modèle SPICE. Pour bien comprendre comment
cette propriété est utilisée vous devez jeter un coup d'œil aux commentaires du fichier modèle
d'origine.
Les fonctions des pattes sont listées et leur ordre apparaît dans la ligne :
.SUBCKT AD622 1 2 99 50 46 20 7 8

Page 4/5
TRAVAUX PRATIQUES DE CAO T.P.3 PROTEUS

Il est important de comprendre que le numéro correspond à la définition du modèle. L'information clé
est que l'entrée non-inverseur est sur le premier nœud, l'entrée inverseur sur le deuxième et ainsi de
suite.
Ceci indique l'ordre et la façon dont le nom des pattes du composant dans ISIS doit être relié au
modèle à l'aide de la propriété SPICEPINS.
 Cliquez sur le bouton « OK ».
 Pour que ces propriétés soient associées à tous les AD622, il faut mettre à jour le
composant dans la librairie : Sélectionnez le AD622 et cliquez sur « Créer composant » du
menu « Bibliothèques ». Mettez à jour votre librairie.

 4. Création d’une bibliothèque d’empreintes


Les empreintes déjà intégrées à ARES peuvent ne pas suffire pour un composant spécifique. Dans ce
cas, il peut-être intéressant de se créer sa propre bibliothèque.

 Démarrez ARES.
 Cliquez sur le bouton « Placement et
édition d’un package » . Cliquez sur le
bouton .
 La fenêtre ‘Packages Libraries Manager’
s’ouvre :
 Cliquez sur le bouton : « Créer biblio »
 Indiquez le nom de la librairie (par exemple
« pkg_nom ») et le répertoire où elle sera
enregistrée (C:\Program Files\Labcenter
Electronics\Proteus 6 Professional\LIBRARY).
 Une fenêtre « Nouvelle bibliothèque »
s’ouvre. Cliquez sur OK

5. Création de l’empreinte d’un


composant
Nous allons créer l’empreinte d’un bouton poussoir, très utilisé
en électronique numérique.
 Placez les pastilles comme indiqué sur le dessin ci-contre, en
respectant les dimensions réelles du bouton. Utilisez le sélecteur
de couches pour positionner les pastilles sur les couches
appropriées
 Editez chaque pastille afin de lui affecter un numéro de patte.
 Tracez le contour du composant.
 Sélectionnez tous les objets. Appelez la commande 'Bibliothèque / Créer boîtier' du menu
(ou le bouton ). Nommez l’empreinte « BP_pkg » et affectez-la à votre une bibliothèque
(pkg_nom).
 Vous pouvez vérifier si la manipulation est correcte en chargeant dans ISIS le bouton
poussoir. Effectuez le transfert vers ARES et contrôlez que l’empreinte est bien apparue et
que les connexions concordent.
REMARQUE : Si vous ne vous servez d’une bibliothèque que ponctuellement pour un projet,
vous pouvez placer les fichiers .LIB directement dans le dossier où se trouve votre projet.
Proteus les prendra en compte.

Page 5/5
TRAVAUX PRATIQUES DE CAO T.P.4 PROTEUS

Avant de faire ce T.P. vous devez : Objectifs de ce T.P. :


 Etre initié à l’utilisation d’ISIS  Savoir placer des bus
(avoir fait le T.P. 1)  Simuler un circuit à base de microcontrôleur.
 Connaître les outils de  Installer un nouvel outil de compilation.
simulation animée (avoir fait le
T.P. 2)

Matériel nécessaire :
 1 Ordinateur équipé du logiciel Proteus  Fichiers TL.ASM et TL2.C
 Mini guides ISIS & ARES  Fichiers du compilateur CC5X

1. Simulation d’un PIC en assembleur


Le circuit que nous utiliserons pour la simulation est issu de la documentation ISIS VSM. Il
est composé de deux feux de contrôle du trafic connectés à un microcontrôleur PIC16F84A.

 Démarrez ISIS et U1
16 17 D0
OSC1/CLKIN RA0
saisissez le schéma ci-contre 15
OSC2/CLKOUT RA1
18
1
RA2
(Les feux tricolores sont 4
MCLR RA3
2
3
D1

dans la bibliothèque, ils se RA4/T 0CKI

6 D0 D2
nomment « TRAFFIC RB0/INT
RB1
7 D1
D2
LIGHTS »). RB2
RB3
8
9 D3
10 D4 D[0..7]
RB4
11 D5 D4
RB5
Pour placer un bus: RB6
12
13
D6
D7
1. Appuyez sur le bouton RB7
D5
PIC16F84A
« Bus » .
D6
2. Pointez sur l'endroit de
départ du bus. Il peut s'agir
d'une patte de bus, d'un bus
existant, ou d'un espace libre sur le schéma.
3. Clic gauche pour commencer le bus, puis cliquez à chaque angle souhaité pour définir le chemin
du bus.
4. Pour finir le bus sur un point de connexion de bus (une patte de bus ou un bus existant), mettez le
pointeur dessus et clic gauche. Pour finir un bus sur un espace vide, clic droit.
Labels des bus :
On peut donner un label à un bus, tout comme à un fil. Cependant ISIS définit une syntaxe spéciale
pour les bus. Ce sera quelque chose comme D[0..7] ou A[8..15].

Page 1/6
TRAVAUX PRATIQUES DE CAO T.P.4 PROTEUS

 Associer le programme au processeur :


Le programme est présent dans le fichier TL.ASM.

 Copiez le fichier TL.ASM vers votre répertoire.

TL.ASM
LIST p=16F84 ; PIC16F844 est le processeur cible
#include "P16F84.INC" ; inclure fichier entete

CBLOCK 0x10 ; zone tampon


state
l1,l2
ENDC

org 0 ; Vecteur de debut


goto setports ; Aller au code de lancement

org 4 ; Vecteur d'interruption.


halt goto halt ; Stopper en cas de boucle sans fin et ne rien faire

setports clrw ; Zero dans W.


movwf PORTA ; S'assurer que PORTA vaut zero avant validation.
movwf PORTB ; S'assurer que PORTB vaut zero avant validation.
bsf STATUS,RP0 ; Selectionner la Bank 1
clrw ; Masquer tous les bits comme sorties
movwf TRISB ; Valider registre TRISB
bcf STATUS,RP0 ; Reselectionner Bank 0.

initialise clrw ; Etat initial.


movwf state ; Valider.

loop call getmask ; Convertir etat.


movwf PORTB ; Ecrire vers port.
incf state,W ; Incrementer etat dans W.
andlw 0x04 ;
movwf state ; Mettre en memoire
call wait ; Attendre :-)
goto loop ; et boucler :-)

; Fonction qui renvoie un masque de bits pour l'etat courant du port de


sortie.
; Le nibble superieur contient les bits pour un groupe de feux et celui
; inferieur pour l'autre groupe. Bit 1 pour rouge, 2 pour orange, 3 pour
vert.
; Le bit 4 n'est pas utilise.

getmask movf state,W ; Obtenir etat dans W.


addwf PCL,F ; Ajoute offset dans W de PCL pour calc. goto.
retlw 0x41 ; state==0 est Vert et Rouge
retlw 0x23 ; state==1 est Orange et Rouge
retlw 0x14 ; state==3 est Rouge et Vert
retlw 0x32 ; state==4 est Rouge/Orange et Orange

; Fonction qui utilise deux boucles pour definir un retard.


wait movlw 5
movwf l1

w1 call wait2
decfsz l1
goto w1

return

wait2 clrf l2
w2 decfsz l2
goto w2
return
END

 Dans le menu « Source » Sélectionnez la commande « Ajout/suppression fichiers


source ». Cliquez sur le bouton « Nouveau », sélectionnez le fichier TL.ASM.

 Choissez « l'outil de génération de code ». Pour les microcontrôleurs PIC, l'outil est
MPASM (Pour un microcontrôleur 68HC11, il faudrait utiliser le ASM11). C’est ce
compilateur qui sera lancé par Proteus lors du lancement de l’animation. Le résultat de la
compilation produira entre autres le fichier « TL.HEX ».

Page 2/6
TRAVAUX PRATIQUES DE CAO T.P.4 PROTEUS

 Simulation du circuit :
 Editez le PIC16F84A et ajoutez « TL.HEX » dans le champ « Program File ».
 Sauvegardez votre fichier dans votre répertoire (le même que celui ou se trouve
TL.ASM).
 Appuyez sur le bouton Jouer du « magnétoscope ». La barre de message doit indiquer
le temps écoulé depuis le lancement de l'animation.

Vous noterez qu'un des feux est vert alors que l'autre est rouge mais que les feux ne changent
pas d'état. Ceci provient d'une erreur volontairement introduite dans le programme. A ce
stade, il convient de mettre au point le programme pour résoudre le problème.

 Mise au point :
 Lancez le mode « Debug » en utilisant le menu « debug / start/restart debugging » (ou
la combinaison des touches CTRL+F12).
 Vous pouvez choisir d’afficher les fenêtres de mise au point par l'intermédiaire du
menu « debug ». Activez les fenêtres « Registers », « Source Code » et « Data
Memory ».

Position courante
du compteur de
programme (PC)

Boutons de
mise au point

Boutons de mise au point de la fenêtre « Source Code »


Pas à pas avec sortie forcée de la sous fonction
Relance l’animation
courante
Pas à pas qui n’entre pas dans les sous
Exécution jusqu’à la ligne sélectionnée
fonctions
Pas à pas Ajouter / enlever des points d’arrêt

Page 3/6
TRAVAUX PRATIQUES DE CAO T.P.4 PROTEUS

 Analyse du déroulement du programme :


 Pour lancer le programme en mode pas à pas, appuyez sur le bouton de la fenêtre
« Source Code » (ou sur F11) autant de fois que nécessaire pour que le programme se
trouve dans la boucle w2. L’instruction « decfsz l2 » décrémente la variable l2
qui est en mémoire de données.

REMARQUE : Pour connaître l’adresse d’une


donnée, placez le « Compteur de Programme » sur Quelle est l’adresse de l2 ?
l’instruction qui modifie cette donnée. L’instruction
et l’adresse sont affichées en vert dans la fenêtre
« Registers ».

 La boucle w2 est une boucle d’attente. Pour éviter d’avoir à appuyer 256 fois sur F11,
il est possible de forcer la sortie de cette boucle en cliquant sur le bouton

A quelle adresse se trouve le « Compteur de Programme » à la sortie de la boucle w2 ?

 Il est possible d’exécuter la boucle w1 sans exécuter l’appel vers le sous-programme


wait 2. Pour cela, cliquez sur le bouton

Combien de fois s’exécute la boucle w1 ?

 Il est également possible d’exécuter le programme jusqu’à un point donné :


Sélectionnez la ligne jusqu’à laquelle vous souhaitez que le programme s’exécute, puis
cliquez sur . Attention ! le programme tourne jusqu’à la ligne sélectionnée mais
celle-ci n’est pas exécutée.

Quelle est la valeur du registre W lorsque le programme a exécuté la ligne d’adresse 001B ?

Une investigation plus poussée révèle que le problème est causé par un ET logique avec 4 au
lieu de 3. La solution est de modifier l'instruction « andlw » par 3 au lieu de 4.

 A partir du menu « Source », affichez TL.ASM. Corrigez le programme, enregistrez-le


et simulez-le de nouveau.

Le trafic semble un peu rapide !

 Editez le processeur et modifiez sa vitesse d’horloge (10kHz).

Page 4/6
TRAVAUX PRATIQUES DE CAO T.P.4 PROTEUS

 Il peut être intéressant de placer un point d'arrêt. Pour ce faire, dans la fenêtre « Source
Code », sélectionnez la ligne souhaitée (par exemple sur l’instruction andlw à
l’adresse 0011), puis cliquez sur le bouton (ou appuyez sur F9). A chaque fois que
vous relancerez l’animation (bouton ou F12), le programme se stoppera sur
l’instruction précédent le point d’arrêt.

Quelle est la valeur de la variable state (adresse 0010 de la mémoire de données) lorsque
les signaux D1, D4 et D5 sont à l’état haut ?

 Il est possible de visualiser l’état des variables alors que le programme est en cours
d’animation :
o Enlevez le point d’arrêt
o Relancez l’animation.
o Dans le menu « Mise au point », cochez l’affichage de la fenêtre « Watch
window ».
o Cliquez à droite sur la fenêtre « Watch window » et sélectionnez « Ajout items
(par noms) ». Ajoutez « PORTB » (double clic). Notez que la valeur de
« PORTB » évolue en même temps que la couleur des feux.
o Cliquez à droite sur la fenêtre « Watch window » et sélectionnez « Ajout items
(par adresses) ». Ajoutez l’adresse 0x0011 que vous nommerez L1.

Quelle est la valeur de PORTB lorsque les signaux D1 et D6 sont à l’état haut ?

Selon le niveau de licence de Proteus, il n’est possible de simuler que certains


processeurs. Par exemple, la licence 2+ permet de simuler les PIC16, HC11 et 8051. Il
est impossible de simuler un PIC18 ou un PIC12 !

2. Installation d’un compilateur C


Il est possible de rajouter des compilateurs externes en plus de ceux existants. Nous allons
dans l’exemple suivant intégrer un compilateur C pour les PIC 16. Le compilateur choisi est le
CC5X dont une version limitée à 1024 instructions est disponible gratuitement sur le site
http://www.bknd.com/

 Installation du compilateur :
 Procurez vous CC5X.
 Copiez le dossier CC5X contenant le programme CC5X.EXE ainsi que les fichiers .H
dans le sous-dossier TOOLS de l’installation de Proteus.
 Dans Isis, allez dans « Source / Définir outil de génération de code »

Page 5/6
TRAVAUX PRATIQUES DE CAO T.P.4 PROTEUS

 Cliquez sur le bouton « Nouveau »


 Sélectionnez le programme CC5X.EXE (il y a des chances qu’il soit dans le dossier
C:\Program Files\Labcenter Electronics\Proteus 6 Professional\Tools\cc5x\)
 Complétez la fenêtre comme ci-dessous :
o Le fichier source a comme extension .C
o Le fichier compilé a comme extension .HEX
o La ligne de commande :
%1 -L -CC -A1+6+10 -AuJm -I"C:\Program Files\Labcenter Electronics\Proteus 6 Professional\Tools\cc5x"
 %1 correspond au nom du fichier source
 -L -CC -A1+6+10 –AuJm correspond à des options de CC5X
 -I"C:\Program Files\Labcenter Electronics\Proteus 6 Professional\Tools\cc5x"
est le chemin où sont
placés les fichiers .H
 Pour plus
d’informations, voir la
documentation de
CC5X
o Le fichier listing a comme
extension .LST
o Cliquez sur le bouton
« Parcourir » associé aux
données de debug et donnez le
chemin du programme de
débuggage de MPASM :
MPASMDDX.EXE En général,
le chemin est :
“C:\Program Files\Labcenter Electronics\Proteus 6 Professional\Tools\MPASM\ mpasmddx.EXE”
 Cliquez sur OK

 Simulation d’un programme en C :


 Réutilisez le schéma précédent avec les feux de croisement. Modifiez les informations
relatives au programme :
o Le fichier source est TL2.C
o L’outil de génération de code est CC5X
o Le fichier compilé est TL2.HEX
 Simulez ce programme

Page 6/6

Vous aimerez peut-être aussi