Académique Documents
Professionnel Documents
Culture Documents
de Casablanca
_________________________________
___________________________
Ecole Normale Supérieure
de l’Enseignement Technique
Mohammedia
___________________________________________________________
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.
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 :
Algorithme :
ORG PROG
LDAA #$25
STAA DDRC
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
LDAA #$40
STAA PORTC
Loop2 JSR ONOFF
LDAA PORTC
ANDA #$08
CMPA #$08
BNE loop3
CMPA #$10
BNE loop2
ORA #$40
STAA PORTC
LDAA PORTC
ANDA #08
CMPA #$08
BNE loop0
JSR ONOFF
BRA loop0
SWI
LDAA #$01
STAA PORTC
JSR ALARM
LDAA PORTC
ANDA #$FE
STAA PORTC
JSR ALARM
RTS
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.