Académique Documents
Professionnel Documents
Culture Documents
Microprocesseurs et Microcontrôleurs
Organigramme Programme
A ←(A)+34h
30h ←(A)
Fin
31h ←(A)
Fin
1
MS EEAII Microprocesseurs et Microcontrôleurs 2020/2021
A ←(A)+(40h)
50h ←(A)
Fin
A ←(A)+(40h) A ←(A)+(41h)
51h ←(A)
Fin
2
MS EEAII Microprocesseurs et Microcontrôleurs 2020/2021
MOV A, #1fh
Début MOV B, #10h
MUL AB
MOV 30h, A
MOV 31h, B
A ← 1fh
B ← 10h END
AB ← (A)×(B)
30h ←(A)
31h ←(B)
Fin
AB ← (A)×(B)
50h ←(A)
51h ←(B)
Fin
3
MS EEAII Microprocesseurs et Microcontrôleurs 2020/2021
MOV A, #9fh
Début MOV B, #10h
DIV AB
MOV 30h, A
MOV 31h, B
A ← 9fh
B ← 10h END
AB ← (A)/(B)
30h ←(A)
31h ←(B)
Fin
AB ← (A)/(B)
50h ←(A)
51h ←(B)
Fin
4
MS EEAII Microprocesseurs et Microcontrôleurs 2020/2021
U.A.L du processeur à 8
bits du microcontrôleur Début MOV A, #1Fh
8051 va effectuer ANL A, #91h
l’opération logique MOV 30h, A
A ←17h END
biopérande ET bit par bit
entre les deux opérandes,
dans ce cas les deux
constantes : 1Fh et 91h, A ←(A) et 34h
puis le résultat logique de
l’opération sera récupéré
dans le registre spécifique 30h ←(A)
Acc. Ensuite on va
enregistrer le contenu de
Acc dans la cas mémoire
pontée par @30h. Fin
U.A.L du processeur à 8
bits du microcontrôleur Début MOV A, #11h
8051 va effectuer XRL A, #77h
l’opération logique MOV 30h, A
A ←17h END
biopérande OU Exclusif
bit par bit entre les deux
opérandes , dans ce cas les
deux constantes : 11h et A ←(A) xor 34h
77h , puis le résultat
logique de l’opération sera
récupéré dans le registre 30h ←(A)
spécifique Acc. Ensuite on
va enregistrer le contenu
de Acc dans la cas
mémoire pontée par Fin
@30h.
5
MS EEAII Microprocesseurs et Microcontrôleurs 2020/2021
@R0 ←00h
R0 ←(R0)+1
R0=58h
Non
Oui
Fin
6
MS EEAII Microprocesseurs et Microcontrôleurs 2020/2021
Début
ORG 0000h
Loop:
MOV @R0, A
@R0 ← (A)
MOV R0, R3
R0 ← (R3)
R0 ← R0 +1 INC R0
R1 ← R1 +1 INC R1
R2 ← R2 +1 INC R2
Fin END
7
MS EEAII Microprocesseurs et Microcontrôleurs 2020/2021
Organigramme Programme
Début MOV A, #00010111B
ADD A, #00110100B
DA A
A ← 0001 0111 B MOV 30h, A
30h ← (A)
Fin
8
MS EEAII Microprocesseurs et Microcontrôleurs 2020/2021
x OU y x ET y x XOU y
x EQU 00h x EQU 00h x EQU 00h
y EQU 01h y EQU 01h y EQU 01h
z EQU 02h z EQUA 02h z EQU 02h
CPL x
CPL y
MOV C, x
ANL C, y
ORL C, z
MOV z, C
x.y + z ̅ .y + x. ̅
x EQU 00h x EQU 00h
y EQU 01h y EQU 01h
z EQU 02h z EQU 02h
t EQU 03h
CPL x
MOV C, x MOV C, x
ANL C, y ANL C, y
ORL C, z MOV z, C
MOV t, C CPL x
CPL y
MOV C, x
ANL C, y
ORL C, z
MOV z, C
…
9
MS EEAII Microprocesseurs et Microcontrôleurs 2020/2021
Loop_0 :
R1 ← y MOV R0, #004D
Loop_1 :
R2 ← z MOV R0, #004D
Loop_2 :
R2 ← R2 - 1
R2 = 0
DJNZ R2, Loop_2
Non
Oui
R1 ← R1 - 1
Oui
R0 ← R0 - 1
Oui
10
MS EEAII Microprocesseurs et Microcontrôleurs 2020/2021
ORG 0000h
̅̅̅̅̅̅
𝐿𝐸𝐷
LED EQU P0.0
DELAY
LOOP : CPL LED
END
ORG 0000h
LED EQU P0.0
LOOP : CPL LED
CALL DELAY
LJMP LOOP
END
ORG 2000h
DELAY : MOV R0, #004D
Loop_0 : MOV R0, #004D
Loop_1 : MOV R0, #004D
Loop_2 : DJNZ R2, Loop_2
DJNZ R1, Loop_1
DJNZ R0, Loop_0
RET
11
MS EEAII Microprocesseurs et Microcontrôleurs 2020/2021
Câblage Programme
ORG 0000h
LED EQU P3.0
START EQU P1.0
CLR LED
JB START, LOOP
ORG 2000h
DELAY : MOV R0, #004D
Loop_0 : MOV R0, #004D
Loop_1 : MOV R0, #004D
Loop_2 : DJNZ R2, Loop_2
DJNZ R1, Loop_1
DJNZ R0, Loop_0
RET
12
MS EEAII Microprocesseurs et Microcontrôleurs 2020/2021
MOV A, #01
LOOP : MOV P3,A
Début
CALL DELAY
RR A
AJMP LOOP
A ← 01
END
P3 ← (A)
DELAY
Décaler (A)
1
Oui
Fin
13
MS EEAII Microprocesseurs et Microcontrôleurs 2020/2021
P3 ← (A)
DELAY
A ← (A)+1
A = 0Fh
Non
1
Oui
Fin
14
MS EEAII Microprocesseurs et Microcontrôleurs 2020/2021
MOV A,#00
Début Loop: MOV P3,A
CALL DELAY
INC A
A ← 00 AJMP Loop
P3 ← (A)
DELAY
A ← (A) + 1
1
Oui
Fin
15
MS EEAII Microprocesseurs et Microcontrôleurs 2020/2021
P3 ← (A)
DELAY
A ← (A)+1
A = 59d
Non
1
Oui
Fin
16
MS EEAII Microprocesseurs et Microcontrôleurs 2020/2021
R0, R1 : Octet ;
R2, R3 : Octet ;
Début
R0 = X*00001111B ;
R1 = X*11110000B ;
Sinon
R1 = R1 + 00010000B ;
Si (R1 <= 1001000B) Alors
R3 = R1 ;
Sinon
R3 = R1+01100000B ;
Finsi
Finsi
Fin
17
MS EEAII Microprocesseurs et Microcontrôleurs 2020/2021
PROG_PRL :
P0 ← (A) MOV IE, #01H
MOV IP, #01H
DELAY START :
JNB P3.0, START
COUNT:
A ← (A)+1 MOV A,#00H
STEP :
Ajuster (A) en BCD MOV P3,A
CALL DELAY
INC A
DA A
A = 59d
Non
CJNE A,#59D, STEP
AJMP COUNT
END
1
Oui
Fin
#Organigramme du sous-
programme d’interruption :
Début IT_STOP
P1.0 ← 1
Fin IT_STOP
18