Afficheur 7 segments
Les afficheurs 7 segments sont un type d’afficheur très présent sur les calculatrices et les montres à affichage numérique : les caractères s’écrivent en allumant ou en éteignant des segments, au nombre de sept.
![]()
Quand les 7 segments sont allumés, on obtient le chiffre 8.
L’objectif de l’exercice est de réaliser un décodeur dont la fonction est de convertir un chiffre hexadécimal (codé sur 4 bits a, b, c et d) en un caractère sur l’afficheur.

Analyse
Et tester avec l’application Geogebra ci dessous (cocher les cases et déplacer le curseur) :
Implémentation
L’objectif de cette partie est de réaliser 2 implémentations de ces expressions logiques, une en langage Python, l’autre en logigramme dans un modèle MATLAB/Simulink…
Python
Le programme Python suivant comporte :
- une fonction
affiche_7s(A, B, C, D, E, F)qui affiche un caractère au format « 7 segments » à partir des valeurs booléennesA,B,C,D,EetFpassées en argument. - une fonction
conversion_7s(n)qui réalise la conversion depuis le nombrenpassé en argument, en un tuple des valeurs booléennesA,B,C,D,EetFde l’afficheur 7 segments.
def affiche_7s(A, B, C, D, E, F, G):
""" Affiche un caractère au format "7 segments"
à partir des valeurs booléennes des 7 segments A, B, C, D et F
"""
l = [[False]*5 for _ in range(7)]
if A: l[0][1] = l[0][2] = l[0][3] = True
if B: l[1][-1] = l[2][-1] = True
if C: l[4][-1] = l[5][-1] = True
if D: l[6][1] = l[6][2] = l[6][3] = True
if E: l[4][0] = l[5][0] = True
if F: l[1][0] = l[2][0] = True
if G: l[3][1] = l[3][2] = l[3][3] = True
s = "\n".join(["".join(["#" if t else " " for t in c]) for c in l])
print(s)
def conversion_7s(n):
""" Convertit le nombre n (0<=n<=15)
en une liste de booléens des 7 segments
à allumer(True)/éteindre(False)
"""
# conversion de n en code binaire naturel --> booléens a, b, c et d
l = []
while n > 0:
l.insert(0, n % 2)
n = n // 2
while len(l) < 4:
l.insert(0, 0)
a, b, c, d = l
A =
B =
C =
D =
E =
F =
G =
return A, B, C, D, E, F, G
conversion_7s puis tester ce programme.
Logigramme
Télécharger le modèle Simulink du convertisseur numérique → 7 segment : sept_segments_2021b.slx ou bien sept_segments.slx (R2018b)

Logique câblée
Les circuits intégrés proposant des portes logiques pour réaliser de la logique câblée ne comportent souvent qu’un seul type d’opérateur : soit NON-ET, soit NON-OU. Ces opérateurs étant complets, il est possible de réaliser n’importe quelle fonction avec un seul de ces types (voir activité dans Opérateurs logiques).
![]()
