0% ont trouvé ce document utile (0 vote)
12 vues3 pages

Sys Temps Reel - TP 3

Télécharger au format docx, pdf ou txt
Télécharger au format docx, pdf ou txt
Télécharger au format docx, pdf ou txt
Vous êtes sur la page 1/ 3

Université de M'Hamed Bougara-Boumerdes

Faculté de Technologie
Département d'ingénierie des systèmes électriques
Module : Tp Système temps reel :
TP N : 3 Simulation par microcontroleur PIC 16F84A de deux feux
de contrôle du TRAFFIC LIGHTS

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


Etre initié à l’utilisation d’ISIS (avoir fait Savoir placer des bus
le T.P. 1) Simuler un circuit à base de microcontrôleur.
Connaîtrelesoutilsde simulation animée Installer un nouvel outil de compilation.
(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 OSC1/CLKIN 17 D0
RA0 RA1 RA2 RA3
saisissez le schéma ci-contre 15
4
OSC2/CLKOUT
MCLR RA4/T 0CKI
18
1

(Les feux tricolores sont 2


3
D1
dans la bibliothèque, ils se
6 D0 D1 D2 D3 D4 D5 D6 D7 D2
nomment « TRAFFIC RB0/INT
7
RB1 RB2 RB3 RB4 RB5 RB6 RB7
8
LIGHTS »). 9
10
D[0..7]
11
12 D4
Pour placer un bus: 13

1. Appuyez sur le bouton 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
 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
LISTp=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.
getmaskmovfstate,W; Obtenir etat dans W.
addwfPCL,F; Ajoute offset dans W de PCL pour calc. goto. retlw0x41; state==0 est Vert et Rouge
retlw0x23; state==1 est Orange et Rouge
retlw0x14; state==3 est Rouge et Vert
retlw0x32; state==4 est Rouge/Orange et Orange

; Fonction qui utilise deux boucles pour definir un retard. waitmovlw5


movwfl1

w1callwait2 decfsz l1 gotow1


return

wait2 w2 clrf l2 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

Vous aimerez peut-être aussi