Vous êtes sur la page 1sur 7

Université Hassan II

de Casablanca
_________________________________
___________________________
Ecole Normale Supérieure
de l’Enseignement Technique
Mohammedia

Microcontroleur 68HC11 de MOTOROLA

Ecole Normale Supérieure


de l’Enseignement Technique Mohammedia

Département Génie Electrique

Filière CI Systèmes Electriques et Energies Renouvelables

___________________________________________________________

Préparé par : Ahmed ERRAMI


L’électronique des systèmes embarqués est une branche de l’électronique générale, ses outilles
matériels et logiciel sont diversifiés, des composant numériques et d’autres analogiques avec les circuits
programmable…
Le microcontrôleur est l’un de ces outille programmable, il est caractérisé par sa facilité d’exploitation et
de programmation, sachant qu’on peut programmer des temporisations précisent et écrire dans les
mémoires et écrire et lire des entrées sorties. On distingue deux types de technologies pour les
microcontrôleurs, la technologie RISC qui est réduite et simple lors de la programmation mais elle est
limitée en terme de performances, la technologie CISC qui est compliquée en terme de programmation
mais offre des performances plus bonnes.
Dans ce TP on va travailler avec un Microcontrôleur de la technologie CISC, c’est le fameux 68HC11 de
MOTOROLA. Le but de ce TP c’est d’apprendre la programmation de ce dispositif, la manipulation des
temporisations et de ses entrées sorties.
Ces objectifs seront accomplis à travers des applications du monde réel, une sur l’affichage de nombres
stockés dans la mémoire (avec un digit et avec deux digits), et l’autre concernera une centrale de
surveillance domestique.

Introduction :
Cet exercice c’est une application d’affichage de nombres hexadécimaux (compris entre 0 et F), on va
faire l’affichage d’un seul nombre qui est stocké dans une case mémoire, puis une nombre à deux digits,
ensuite, l’affichage des nombres qui sont stocké dans une liste mémoire un par un avec une
temporisation entre deux opérations d’affichage successives.

Méthode de résolution :
Principe :
Le principe consiste à utiliser un afficheur 7 segments, ce dernier sera contrôlé par le microcontrôleur
68HC11. L’affichage d’un nombre c’est allumer certaines LEDs de l’afficheur et éteindre d’autres.
Pour un afficheur à anodes communes, il faut envoyer un potentiel bas à la cathode et l’anode sera fixée
sur un potentiel haut.
Le potentiel haut vaut 5V et bas vaut 0V.

Afficheur 7 segments anodes communes


On remarque ainsi qu’on a 7 entrées à contrôler (A à G), d’où l’utilisation d’un port à 7 sorties
numériques.
Ce tableau nous renseigne sur les codes correspondants à chaque chiffre :

Chiffre h f g e d c b a Code hexa


0 1 1 0 0 0 0 0 0 $C0
1 1 1 1 1 1 0 0 1 $F9
2 1 0 1 0 0 1 0 0 $A4
3 1 0 1 1 0 0 0 0 $60
4 1 0 0 1 1 0 0 1 $99
5 1 0 0 1 0 0 1 0 $92
6 1 0 0 0 0 0 1 0 $82
7 1 1 1 1 1 0 0 0 $F8
8 1 0 0 0 0 0 0 0 $80
9 1 0 0 1 0 0 0 0 $90
A 1 0 0 0 1 0 0 0 $88
B 1 0 0 0 0 0 1 1 $83
C 1 1 0 0 0 1 1 0 $C6
D 1 0 1 0 0 0 0 1 $A1
E 1 0 0 0 0 1 1 0 $86
F 1 0 0 0 1 1 1 0 $8E

Algorithme :

PRG EQU $C000 -- Le programme sera stocké à partir de l’adresse $C000 dans EEPROM
PORTB EQU $0004 -- L’adresse $0004 est conservé automatiquement au PortB
LIST EQU $0100 --La liste LIST commence à partir de l’adresse $0100
DATA EQU $0300 --la chiffre sera stocké dans l’adresse DATA = $0300

ORG LIST
FCB $C0,$F9,$A4,$B0,$99,$92,$82,$F8,$80,$90,$88,$83,$C6,$A1,$86,$8E
ORG PRG
LDX #LIST
LDAB DATA
ABX
LDAB 0,X
COMB
STAB $0004
LOOP BRA LOOP
SWI
Simulation de la solution
Dans l’adresse $0300 nommée DATA on a met le chiffre 1.
La valeur affichée est bien 1.
Maintenant on change le chiffre en « c »

Le principe c’est de lire la liste des Chiffres et afficher chaque chiffre lu dans l’afficheur 7 segment lié au
PORTB.

Il faut ajouter une temporisation entre l’affichage de deux nombres successifs, le principe de la
temporisation c’est d’occuper le processeur pendant un certain nombre de cycle d’horloge qui correspond à
l’exécution d’un nombre d’instructions non utiles.

Algorithme :
PRG EQU $C000
PORTB EQU $0004
LIST EQU $0100
ORG LIST
FCB $C0,$F9,$A4,$B0,$99,$92,$82,$F8,$80,$90,$88,$83,$C6,$A1,$86,$8E
ORG PRG
loop1 LDX #LIST
loop0 LDAB 0,X
COMB
STAB PORTB
LDY #$00FF
loop3 DEY
BNE loop3
INX
CPX #LIST + $10
BNE loop0
BRA loop1
LOOP BRA LOOP
SWI
ORG LIST

Simulation de la solution
Les chiffres ont étaient affichés l’un après l’autre avec une temporisation
Principe :

Le principe c’est d’afficher un seul digit dans le premier afficheur et éteindre le deuxième, ensuite, on affiche
le 2eme digit dans le 2eme afficheur on éteindra le premier.

Simulation de la solution

Introduction :

Cet exercice c’est une centrale de surveillance, on utilisant des entrées liées à des capteurs pour contrôler
des sorties liées à des pré-actionneurs ou actionneurs

Les entrées :

-Un interrupteur principal (Q1)

Permet d’activer le système alarme (les capteurs, contacts).

-Contact de la porte (Q2)

-Contacts des fenêtres (Q3 ET Q4)

-Capteur d’environnement (Q5)


Les sorties :

-LED (I3) pour indiquer l’enclenchement de l’interrupteur principal Q1.

-LED (I1) pour indiquer l’ouverture de la porte ou l’une des fenêtres.

-I2 c’est une alarme.

I3 et I2 restent activées jusqu’au déclenchement de l’interrupteur principale.

I2 s’arrête au bout de 10s.

-I1 clignote aussi quand le capteur d’environnement détecte un intrus.

Algorithme :

PROG EQU $C000

PORTC EQU $1003

DDRC EQU $1007

ALARM EQU $0300

ONOFF EQU $0400

ORG PROG

LDAA #$25

STAA DDRC

Loop0 LDAA PORTC

ANDA #$08

CMPA #$08

BNE loop0

LDAA #$04

STAA PORTC

LDAA PORTC

ANDA #$02

CMPA #02

BEQ loop1

LDAA PORTC

ANDA #$10

CMPA #$10

BNE loop0

LDAA #$04

JSR ONOFF

BRA loop0

Loop1 JSR delay_10s

LDAA #$40

STAA PORTC
Loop2 JSR ONOFF

LDAA PORTC

ANDA #$08

CMPA #$08

BNE loop3

CMPA #$10

BNE loop2

Loop3 LDAA PORTC

ORA #$40

STAA PORTC

LDAA PORTC

ANDA #08

CMPA #$08

BNE loop0

JSR ONOFF

BRA loop0

SWI

ORG ONOFF Sous-programme pour clignoter la LED

LDAA #$01

STAA PORTC

JSR ALARM

LDAA PORTC

ANDA #$FE

STAA PORTC

JSR ALARM

RTS

Ce Tp m’a permet de se familiariser avec la programmation du Microcontrôleur 68HC11 et ainsi avec le


logiciel THRSim11.

On a traité des exemples réels et concerts. Les solutions sont très intéressantes et ils permettent un bon
apprentissage de plusieurs astuces techniques.

Vous aimerez peut-être aussi