Académique Documents
Professionnel Documents
Culture Documents
Master Spécialisé
Electronique, Electrotechnique, Automatique et Informatique
Industrielle (EEAII)
Projet du
microcontrôle
Thermomètre à affichage numérique
ur 8051
Réalisé :
EL ALLAM Yassine
Encadré par :
Pr B. BENSSASI
I.Introduction :..................................................................................................................................2
II.Mécanisme de ce projet : ..............................................................................................................3
1.Thermomètre utilisant microcontrôleur 8051. ..........................................................................3
III.L’organigramme..........................................................................................................................4
IV.Schéma de ce projet .......................................................................................................................5
1.Proteus ISIS................................................................................................................................5
V.Programme :..............................................................................................................................6
2
I. Introduction :
3
II. Mécanisme de ce projet :
4
III. L’organigramme
5
IV. Schéma de ce projet
1. Proteus ISIS
6
V. Programme :
ORG 00H
MOV P1,#11111111B // initialise P1 comme port d'entrée
MOV P0,#00000000B // initialise P0 comme port de sortie
MOV P3,#00000000B // initialise P3 comme port de sortie
MOV DPTR,#LABEL // charge l'adresse de "LABEL" dans DPTR
MAIN: MOV R4,#250D // charge le registre R4 avec 250D
CLR P3.7 // makes Cs=0
SETB P3.6 // makes RD high
CLR P3.5 // makes WR low
SETB P3.5 // impulsion faible à élever vers WR pour démarrer la conversion
WAIT: JB P3.4,WAIT // sondages jusqu'à INTR=0
CLR P3.7 // ensures CS=0
CLR P3.6 // impulsion haute à basse vers RD pour lire les données de l'ADC
MOV A,P1 // déplace la sortie numérique de l'ADC vers l'accumulateur A
MOV B,#10D // charge B avec 10D
DIV AB // divise le contenu de A avec celui de B
MOV R6,A // déplace le quotient vers R6
MOV R7,B // déplace le reste vers R7
DLOOP:SETB P3.2 // définit P3.2 qui active le segment LED 1
MOV A,R6 // moves the quotient to A
ACALL DISPLAY // calls DISPLAY subroutine
MOV P0,A // moves the content of A to P0
ACALL DELAY // calls the DELAY subroutine
CLR A // clears A
MOV A,R7 // moves the remainder to A
CLR P3.2 // deactivates LED segment 1
SETB P3.1 // activates LED segment 2
ACALL DISPLAY
MOV P0,A
ACALL DELAY
CLR A
CLR P3.1 // deactivates LED segment 2
DJNZ R4,DLOOP // repeats the loop "DLOOP" until R4=0
SJMP MAIN // jumps back to the main loop
DELAY: MOV R3,#255D // produces around 0.8mS delay
LABEL1: DJNZ R3,LABEL1
7
RET
DISPLAY: MOVC A,@A+DPTR // convertit le contenu de A en modèle de lecteur de
chiffres correspondant
RET
LABEL: DB 3FH // LUT (table de consultation) commence ici
DB 06H
DB 5BH
DB 4FH
DB 66H
DB 6DH
DB 7DH
DB 07H
DB 7FH
DB 6FH
END
VI. Conclusion
8
présenter nos innovations et élargir notre réflexion dans
de nouveaux domaines, ce qui sera bénéfique pour
l'homme.