You are on page 1of 3

Systmes microprocesseurs Professeur : A.

BA-RAZZOUK

SOLUTIONNAIRE DE LEXERCICE N7 DE LA SERIE 4

a) Commentaire de chaque ligne du programme.

ORG $8000 Origine du programme ladresse $8000
CLI Effacer le masque des interruptions (Interruptions autorises)
PORTB EQU $1004 Dfinition de ladresse du registre de donnes du port B
CLRA Effacer le contenu de laccumulateur A (A=$00)
PHAS1 INCA Incrmenter le contenu de laccumulateur A de 1
JSR SR1 Sauter la sous-routine SR1
STAA PORTB Stocker le contenu de laccumulateur A ladresse PORTB
CMPA #$FF Comparer le contenu de laccumulateur A avec la valeur $FF
BNE PHAS1 Si la valeur de laccumulateur A est diffrente de $FF sauter ltiquette PHAS1
PHAS2 DECA Dcrmenter le contenu de laccumulateur A de 1
JSR SR1 Sauter la sous-routine SR1
STAA PORTB Stocker le contenu de laccumulateur A ladresse PORTB
CMPA #$00 Comparer le contenu de laccumulateur A avec la valeur $00
BNE PHAS2 Si la valeur de laccumulateur A est diffrente de $00 sauter ltiquette PHAS2
BRA PHAS1 Sauter ltiquette PHAS1
SR1 LDAB #$7F Sous-routine SR1: Charger laccumulateur B avec la valeur $7F (127 en dcimal)
L1 DECB Dcrmenter le contenu de laccumulateur B de 1
BNE L1 Si la valeur de laccumulateur B est diffrente de $00 sauter ltiquette L1
RTS Retour de la sous-routine SR1 au programme principal.

b) Allure du signal gnr :



V
0

t
5 V
19 mV


c) Calcul du nombre de cycles machine

Programme Nbre Cycles Nbre dexcutions
ORG $8000
CLI
PORTB EQU $1004
CLRA

Nimportent pas en rgime permanent (Excuts
une seule fois en rgime transitoire)
PHAS1 INCA 2 255
JSR SR1 6 255
Systmes microprocesseurs Professeur : A. BA-RAZZOUK

STAA PORTB 4 255
CMPA #$FF 2 255
BNE PHAS1 3 255
PHAS2 DECA 2 255
JSR SR1 6 255
STAA PORTB 4 255
CMPA #$00 2 255
BNE PHAS2 3 255
BRA PHAS1 3 1
SR1 LDAB #$7F 2 1
L1 DECB 2 127
BNE L1 3 127
RTS 5 1

Calcul de la priode du signal :


V
0

t
5 V
Signal montant
(N1 cycles machine)
Signal descendant
(N2 cycles machine)

Signal montant :

{ } [ ] ( )
168045 N1
3 2 4 5 3 2 127. 2 6 2 255. N1
=
+ + + + + + + + =

Signal descendant :

{ } [ ] ( )
168048 N2
3 3 2 4 5 3 2 127. 2 6 2 255. N2
=
+ + + + + + + + + =



La carte C utilise un Quartz de 12 MHz. La frquence de fonctionnement du microcontrleur est de :
MHz 3
4
MHz 12
C) f( = =
Donc la priode T
E
est :
s 0.3333
MHz 3
1
T
E
= =
La priode du signal gnr est :
( ) s 0.11203 .T N2 N1 T
E
= + =
et la frquence du signal gnr est :
Hz 8.9262
T
1
) f(V
0
= =
Systmes microprocesseurs Professeur : A. BA-RAZZOUK

SOLUTIONNAIRE DE LEXERCICE N8 DE LA SERIE 4

**************************************************************************************************************
* Ce programme gnre un signal carr de 1kHz rapport cyclique 10% sur la sortie OC2 (PA6) *
**************************************************************************************************************

TOC2 EQU $1018
TCTL1 EQU $1020
TFLG1 EQU $1023

ORG $c000
DEBUT LDAA #%11000000
STAA TCTL1 ; OM2=1 et OL2=1: La sortie pass 1 la comparaison
LDAA #$40
STAA TFLG1 ; Effacement du drapeau OC2F

WAIT LDX #TFLG1
BRCLR 0,X $40 WAIT ; Attente comparaison (on attend que OC2F pass 1)
LDD TOC2
ADDD #200 ; Dure Etat ON
STD TOC2

LDAA #%10000000
STAA TCTL1 ; OM2=1 et OL2=0: La sortie pass 0 la comparaison
LDAA #$40
STAA TFLG1 ; Effacement du drapeau OC2F

WAIT1 LDX #TFLG1
BRCLR 0,X $40 WAIT1 ; Attente comparaison (on attend que OC2F pass 1)
LDD TOC2
ADDD #1800 ; Dure Etat OFF
STD TOC2
BRA DEBUT

You might also like