USTHB/FEI/Département Instrumentation
M1 IIE/ SYN3
TD5 :
Tableaux de Données et Afficheurs 7 Segments
Exercice1 :Soit le programme suivant :
#include <[Link]> ; processor specific variable definitions
__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _RC_OSC
org 0x0000 retlw b'01111100' ; code B
goto main retlw b'00111001' ; code C
org 0x0010 retlw b'01011110' ; code D
HexaTo7Segments: retlw b'01111001' ; code E
addwf PCL, f retlw b'01110001' ; code F
retlw b'00111111' ;code 0
retlw b'00000110' ;code 1 main:
retlw b'01011011' ;code 2 bsf STATUS, RP0 ; bank1
retlw b'01001111' ;code 3 movlw 0x00
retlw b'01100110' ;code 4 movwf TRISB ; PORTB en sortie
retlw b'01101101' ;code 5 bcf STATUS, RP0 ; bank0
retlw b'01111101' ;code 6 movlw 5; Exemple ....
retlw b'00000111' ;code 7 call HexaTo7Segments
retlw b'01111111' ;code 8 movwf PORTB
retlw b'01101111' ;code 9 END.
retlw b'01110111' ; code A
Dérouler le programme précédent et donner la tâche réalisée par ce programme.
Exercice2 :Pour cet exercice et le suivant, utiliser le pic 16f877A
Ecrire un programme utilisant :
-un sous programme pour additionner deux nombres de 8bits
-un sous programme de conversion Hexadécimal /7 Segments
et qui affiche le résultat sur des afficheurs 7 segments connectés sur le PORTD du 16F877A tels
qu’ils sont connectés sur le kit de TP EASYPIC5 (Voir doc en annexe ). Dans le cas où il n’ya pas
dépassement de capacité C =0 afficher 0 sur le 3ème afficheur, si C=1afficher 1sur le 3ème afficheur.
Exercice3
Ecrire un programme utilisant :
-un sous programme permettant de multiplier deux valeurs a et b de 8 bits . Le résultat sur 16 bits sera
écrit dans deux variables 8 bits ml (octet de poids faible) et mh (octet de poids fort).
- un sous programme de conversion Hexadécimal /7 Segments
et qui affiche le résultat sur des afficheurs 7 segments connectés sur le PORTD du 16F877A (même
montage que celui de l’exercice2).
USTHB/FEI/Département Instrumentation
M1 IIE/ SYN3
ANNEXE TD5
CONNECTION AFFICHEURS SUR EASYPIC5
1_ Un seul port , le PORT D , est connecté aux 4 afficheurs : l
2- On ne peut choisir q’un seul afficheur à la fois
3 - RA0 ->RA3 sont utilisés pour choisir un afficheur parmi les quatre