Loading documents preview...
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 0 1 2 3 4 5 6 7 8 9 A B C D E F
h 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
f 1 1 0 0 0 0 0 1 0 0 0 0 1 0 0 0
g 0 1 1 1 0 0 0 1 0 0 0 0 0 1 0 0
e 0 1 0 1 1 1 0 1 0 1 0 0 0 0 0 0
d 0 1 0 0 1 0 0 1 0 0 1 0 0 0 0 1
c 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 1
b 0 0 0 0 0 1 1 0 0 0 0 1 1 0 1 1
a 0 1 0 0 1 0 0 0 0 0 0 1 0 1 0 0
Algorithme : PRG PORTB LIST DATA
EQU $C000 EQU $0004 EQU $0100 EQU $0300
-- Le programme sera stocké à partir de l’adresse $C000 dans EEPROM -- L’adresse $0004 est conservé automatiquement au PortB --La liste LIST commence à partir de l’adresse $0100 --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.
Code hexa $C0 $F9 $A4 $60 $99 $92 $82 $F8 $80 $90 $88 $83 $C6 $A1 $86 $8E
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 PORTB LIST
EQU $C000 EQU $0004 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
Loop0
LDAA
Loop1
ORG
PROG
LDAA
#$25
STAA
DDRC
LDAA
PORTC
ANDA
#$08
CMPA
#$08
BNE
loop0
#$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
JSR
delay_10s
LDAA
#$40
STAA
PORTC
$0400
Loop2
Loop3
JSR
ONOFF
LDAA
PORTC
ANDA
#$08
CMPA
#$08
BNE
loop3
CMPA
#$10
BNE
loop2
LDAA
PORTC
ORA
#$40
STAA
PORTC
LDAA
PORTC
ANDA
#08
CMPA
#$08
BNE
loop0
JSR
ONOFF
BRA
loop0
SWI ORG
ONOFF
LDAA
#$01
STAA
PORTC
JSR
ALARM
LDAA
PORTC
ANDA
#$FE
STAA
PORTC
JSR
ALARM
Sous-programme pour clignoter la LED
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.