Beruflich Dokumente
Kultur Dokumente
Gestion microprogrammée
O2
V2
R1
O1
V1
Vo
ie 2
d'un carrefour
e1
Mr COTTET
oi
CARREFO3
V
I) Présentation:
Actuellement, la densité de la circulation dans toutes les grandes villes nécessite de plus en plus une
gestion informatisée des carrefours.
Ainsi de nombreux carrefours comportent des dispositifs de détection (radars ou détection au sol
par boucle d'induction). La commande des feux tricolores est alors réalisée par un système
microprogrammé propre à chaque carrefour, et la durée des feux s'ajuste automatiquement afin de
réduire les temps d'attente en fonction de la présence ou non de véhicules. Chaque système micro
est en communication avec un système de gestion permettant la visualisation des flux instantanés,
et la transmission de nouvelles consignes aux carrefours afin d'améliorer la circulation en cas de
fortes densité.
Ces systèmes permettent à l'heure actuelle, l'étude de nouvelles méthodes de gestion des feux, et
l'élaboration de programmes dont la séquence varie en fonction des heures de la journée (Ex:
heures de pointe), mais aussi en fonction de critères imprévisibles (Ex: accidents). Ces programmes
font de plus en plus appel à des techniques proches de l'intelligence artificielle (Ex: Logique floue,
méthode de contrôle très utilisée dans les grands ascenseurs).
e1
oi
1) En étudiant l'en-tête du programme fourni,
V
retrouvez les connections matérielles entre le
microcontrôleur 68HC11 et l'extérieur. Complétez Dessin du carrefour
la feuille réponse N°1.
Remarque : On utilisera les abréviations suivantes V1, O1, R1 et V2, O2, R2 pour les
commandes des lampes du carrefour. V1, O1, R1 et V2, O2, R2 correspondront respectivement
au vert, orange et rouge des voies 1 et 2.
On appellera P le bouton poussoir pour le fonctionnement manuel, et N ainsi que J les sorties de
l'interrupteur à 3 positions permettant d'assurer le fonctionnement dans les modes Nuit, Manuel et
Jour. La position centrale correspondra au fonctionnement manuel, autorisant un fonctionnement
du carrefour en mode pas à pas à l'aide de P.
Précisez pour le bouton et l'interrupteur, quels sont les états logiques sur les broches
correspondantes du 68HC11 pour chaque position (réponse sur la feuille rep N°1).
2) Indiquez quel doit être le contenu du registre DDRC de direction du port C, après l'initialisation
du port, sachant qu'on veut pouvoir lire les états du bouton Jour / Manuel / Nuit.
Exemple: Si DDRC.bit 5 = 1 alors le bit 5 du port C sera en sortie.
Inversement, si DDRC.bit 5 = 0 (DDRC5=0) alors PortC.bit 5 (PC5) du port sera en entrée.
DDRC
V) Analyse et synthèse d'un programme avec gestion Jour / Nuit et Manuel (Pas à pas):
REM: la position manuelle donne la séquence de jour uniquement, mais le passage d'une étape à la
suivante se fait par appui sur le bouton poussoir P (attention la tempo relative à chaque étape sera
exécutée: pour éviter que l'on puisse provoquer des changements rapides (sécurité)).
Le bouton poussoir P provoquera une interruption /IRQ du HC11.
1) On demande alors de modifier l'organigramme et le programme pour tenir compte de la position
manuelle et du bouton poussoir, avec gestion de l'interruption /IRQ sur front descendant.
PC7
/IRQ
PC6
Valeur à envoyer au port C. PC7 PC6 PC5 PC4 PC3 PC2 PC1 PC0
*******************************************************
* Programme: carefo22.asm Auteur: Mr COTTET
* Lycée: Maurice GENEVOIX INGRE
* (gestion du carrefour PROGRAMME JOUR/NUIT)
* attention le bouton jour/nuit est indispensable.
* version 68HC811E2 EPROM (adr $F800 … $FFFF)
* RAM de $0000 … $00FF (interne au 68HC11)
*
* Définition de la partie opérative
* PortC: Pc7 Pc6 Pc5 Pc4 Pc3 Pc2 Pc1 Pc0
* J N R2 O2 V2 R1 O1 V1
* J et N correspondent aux information de l'interrupteur 3 positions
* (Jour / Manuel / Nuit)
* J N = 0 1 indique position jour (J et N sont actifs à l'état bas)
* J N = 1 1 indique position manuelle
* J N = 1 0 indique la position nuit
* Les lampes représentatives des feux R2, O2, V2, R1, O1, V1
* sont actives à l'état haut
* /IRQ est utilisé pour le mode pas à pas (bouton poussoir)
*
*********** définition des constantes et variables *****
;*******************************************************
NUIT LDX #SEQ2
JSR SEQEN
BRA DEPAR
;*******************************************************
SEQEN LDAA $0,X ;PROGRAMME SEQUENCEUR
SUIT1 STAA PortC ;COMMANDE DES DELS
INX
LDAB $0,X ;LECTURE DE LA DUREE
PSHX
JSR TEMPO
PULX
SUIT2 INX
LDAA $0,X
BNE SUIT1 ;FIN DE SEQUENCE SI OCTET NUL
RTS
;*******************************************************
SEQ1 fdb $2402 ;SEQUENCE DE JOUR
fdb $0C20
fdb $1403
fdb $2402
fdb $2120
fdb $2203
fcb $00
;*******************************************************
SEQ2 fdb $1201 ;SEQUENCE DE NUIT
fdb $4001
fcb $00
1) programme principal
déroulement
séquence
début
prend donnée
non non
Nuit
oui incrémente
positionnement pointeur données
Indicateur
sur séquence nuit appui
prend donnée ? non
durée étape oui
FIN SP IRQ
********************************************************
* Programme: Carefo23.asm
* (gestion du carrefour PROGRAMME JOUR/Manuel/NUIT)
* attention le bouton jour/nuit est indispensable.
* version 68HC811E2 EPROM (adr $F800 … $FFFF)
* RAM de $0000 … $00FF (interne au 68HC11)
*
* Définition de la partie opérative
* PortC: Pc7 Pc6 Pc5 Pc4 Pc3 Pc2 Pc1 Pc0
* J N R2 O2 V2 R1 O1 V1
* J et N correspondent aux information de l'interrupteur 3 positions
* (Jour / Manuel / Nuit)
* J N = 0 1 indique position jour (J et N sont actifs à l'état bas)
* J N = 1 1 indique position manuelle
* J N = 1 0 indique la position nuit
* Les lampes représentatives des feux R2, O2, V2, R1, O1, V1
* sont actives à l'état haut
* /IRQ est utilisé pour le mode pas à pas (bouton poussoir)
*
*********** définition des constantes et variables *****
* OPTION equ $1039 ; ADPU, CSEL,IRQE,DLY,CME,0,CR1,CR0
* valeur par défaut $00
* IRQE =1 => /IRQ déclenchée sur front
TREF equ $1000 ; DUREE DE REFERENCE (pour la simulation)
;*******************************************************
TEMPO LDX REF ;TEMPO DE DUREE B*REF
ATEN DEX
BNE ATEN
DECB
BNE TEMPO
RTS
;*******************************************************
SEQ1 fdb $2402 ;SEQUENCE DE JOUR
fdb $0C20
fdb $1403
fdb $2402
fdb $2120
fdb $2203
fcb $00
;*******************************************************
SEQ2 fdb $1201 ;SEQUENCE DE NUIT
fdb $4001
fcb $00