10.8. Contor pentru afișaj cu 7-segmente


În prezent, este foarte ușor să afișați numere și litere pe mai multe afișaje LED folosind microcontrolere, cum ar fi Arduino sau Raspberry-Pi, împreună cu un mic cod de software pentru a afișa cifrele necesare. Dar, uneori, ca student sau pasionat de electronică, dorim să afișăm două sau mai multe numere sau cifre ca parte a proiectului nostru sau a circuitului logic digital. Deci, cum putem face acest lucru.

Afișajele cu 7 segmente oferă o modalitate convenabilă de afișare a informațiilor numerice de la zero la nouă, întrucât constau practic dintr-o sarcină de diode emițătoare de lumină conectate împreună într-o singură carcasă indicator. Fiecare diodă emițătoare de lumină (numită segment) este iluminată folosind un curent electric și, prin iluminarea diferitelor combinații de segmente, astfel încât unele segmente să fie pornite și să emită lumină, în timp ce altele vor fi dezactivate, putem afișa caractere individuale sau numere.

Așa cum am văzut în tutorialul nostru despre dioda emițătoare de lumină, LED-urile sunt la fel ca diodele normale, în sensul că permit curentul să curgă într-o singură direcție. Diferența dintre cele două este că un LED emite energie luminoasă din joncțiunea sa PN atunci când un curent electric trece prin ea. Această acțiune de electroluminiscență are loc ori de câte ori terminalul anod (A) al LED-ului este mai pozitiv decât terminalul său catodic (K) cu aproximativ 2 volți. Curentul tipic de alimentare necesar pentru iluminarea unei joncțiuni LED variază între aproximativ 6 mA și 20 mA și a cărui valoare este controlată în mod obișnuit folosind un rezistor în serie cu LED-ul.

Deci, polarizând direct oricare dintre segmentele LED ale afișajului astfel încât terminalul anodului să fie orientat către sursa de alimentare (pozitiv) și terminalul catodului să fie către masă (negativ), putem produce un set de segmente iluminate aleatoriu sau un număr zecimal de la 0 la 9 oferind o ieșire vizuală pentru proiectul nostru.

Afișaj pe 7 segmente

După cum sugerează și numele său, un afișaj cu 7 segmente este format din șapte segmente, ceea ce înseamnă că este format din șapte diode emițătoare de lumină sau LED-uri, care împreună pot fi utilizate pentru a forma o cifră completă pe afișaj.

De fapt, majoritatea afișajelor cu 7 segmente conțin opt LED-uri interne, deoarece cel de-al optulea este utilizat pentru un punct zecimal, de obicei într-unul din colțurile de jos ale afișajului.

Deci, dacă un afișaj cu 7 segmente este format din șapte LED-uri (ignorând punctul zecimal deocamdată), unul pentru fiecare segment și un LED are două terminale, un anod și un catod, înseamnă că fiecare afișaj unic cu 7 segmente va avea 14 pini de conectare sau terminale. Ei bine, răspunsul este NU.

În timp ce un segment LED poate fi iluminat individual, după cum este necesar, un terminal din fiecare LED intern este conectat la un punct sau nod comun. Astfel, în loc să avem 14 pini de conectare pentru afișaj, vom avea doar opt (7 + 1) pini, câte unul pentru cele șapte LED-uri individuale plus un pin comun, iar acest „pin comun” identifică tipul și numele Afișajului pe 7 segmente.

Când terminalele catodice ale tuturor LED-urilor utilizate pe afișaj sunt scurtcircuitate împreună, afișajul este denumit afișaj cu catod-comun, (CC). La fel, atunci când toate terminalele anod ale LED-urilor utilizate pe afișaj sunt scurtcircuitate împreună, afișajul este denumit afișaj cu anod comun, (CA). Astfel, un afișaj cu 7 segmente poate fi un afișaj de tip Common Catode (CC) sau Common Anode (CA).

Configurația catod comun (CC)

Afișajul cu catod comun (CC) - Toate conexiunile catod (K) ale segmentelor LED sunt legate împreună și conectate la masă sau la zero volți. Segmentele individuale sunt iluminate prin aplicarea unui curent electric adecvat pentru a polariza direct terminalele individuale anod (de la a la g). Astfel, afișajul cu catod comun necesită un circuit de acționare care poate genera un curent.

Configurația anod-comun (CA)

Afișajul cu anod comun (CA) - Toate conexiunile anod (A) ale segmentelor LED sunt unite împreună la o sursă de tensiune pozitivă. Segmentele individuale sunt iluminate prin aplicarea unui semnal de masă sau „LOW” la terminalul catod al segmentului particular (de la a la g). Astfel, un afișaj cu anod comun necesită un circuit de acționare care poate absorbi un curent.

Există multe modalități diferite de a conecta mai multe afișaje LED cu 7 segmente la un circuit electronic, fiecare având propriile sale avantaje. Deoarece fiecare segment individual necesită aproximativ 6 până la 20 de miliamperi (mA) de curent pentru a-l lumina la luminozitate normală și, deoarece există șapte segmente (plus un punct zecimal), sunt utilizate în general cipuri de decodor/driver dedicate pentru a comanda fiecare afișaj direct.

Cipurile de decodare IC convertesc practic un tip de date de intrare într-un alt tip și există diferite tipuri de decodoare digitale disponibile în funcție de tipul de date de intrare (cum ar fi binar, BCD sau hex) și codul de ieșire necesar reprezentând numărul de linii de ieșire decodate. De exemplu: 3-la-8 linii, 4-la-16 linii etc.

În cazul nostru, avem nevoie de un cip decodor care poate converti un anumit cod binar într-un set de semnale de ieșire pentru a comanda un afișaj pe 7 segmente, cum ar fi un „decodor BCD-la-șapte segmente”. Binary Coded Decimal, sau BCD pe scurt, este un set de cifre binare de 4 biți utilizate pentru a reprezenta cele 10 cifre zecimale de la 0 la 9 cu următoarea listă de cipuri de decodor IC care pot face exact asta.

CI de decodare TTL

  • 74LS47 Anod comun

  • 74LS48 Catod comun

  • 74LS247 Anod comun

CI decodor CMOS

  • 74HC4511 Catod comun

  • CD4513 Catod comun

TTL 74LS47 este cel mai de departe popular CI decodor de 7 segmente și care este capabil să comande afișaje cu anod comun (CA). TTL 74LS47 are o intrare BCD pe 4 biți și șapte ieșiri individuale active „LOW” pentru acționarea fiecăruia dintre cele șapte segmente de LED-uri. Activ „LOW” înseamnă că pinul de ieșire comută la masă (0V) pentru a aprinde un segment LED, în timp ce o ieșire „HIGH” va dezactiva segmentul LED. Seria de afișaje HDSP este un bun punct de plecare, dar orice afișaj standard de anod comun o va face (și există o mulțime de ales).

Cu ajutorul a patru comutatoare, se aplică un număr binar de 4 biți la intrările BCD A, B, C și D ale decodorului 74LS47 pentru a produce semnalele de ieșire a, b, c, d, e, f și g utilizate pentru a comanda afișajul cu 7 segmente, generând numerele necesare de la 0 la 9 așa cum se arată.

Decodorul 74LS47

Conexiunea dintre decodorul/driverul 74LS47 și afișajul cu anod comun necesită șapte rezistoare (opt dacă este inclus punctul zecimal) pentru a limita fluxul de curent. Pentru ca fiecare segment LED al afișajului să lumineze corect, fluxul de curent prin fiecare segment trebuie controlat cu atenție. Cea mai bună metodă de limitare a curentului printr-un segment de afișaj este utilizarea unui rezistor de limitare a curentului, în serie cu fiecare dintre cele șapte segmente de LED, așa cum se arată. Dacă nu folosim un rezistor conectat în serie, va circula curentul maxim, iar LED-ul ar fi foarte luminos pentru o perioadă scurtă de timp, înainte de a fi distrus definitiv.

Deoarece fiecare segment LED al unui afișaj tipic cu 7 segmente este evaluat să funcționeze între 6 și 20 mA, oferind o cădere de tensiune pe joncțiunea diodei LED de aproximativ 1,8 volți pentru o luminozitate normală, putem calcula valoarea rezistorului de limitare a curentului necesar pentru a produce curentul necesar pe segment LED.

Până acum am învățat și am înțeles că un afișaj pe 7 segmente este la bază o grămadă de LED-uri individuale într-o singură carcasă dreptunghiulară și că LED-urile necesită un rezistor serie pentru a-și limita curentul continuu DC pe segment.

Pentru un afișaj cu anod comun, anozii fiecărui segment LED sunt conectați împreună la o sursă de 5 volți, (VS). Dacă atunci când este iluminat, căderea de tensiune directă pe joncțiunea LED-ului este de aproximativ 1,8 volți, atunci tensiunea pe rezistorul serie trebuie să fie egală cu: VS - VLED = 5 - 1,8 = 3,2 volți.

Deci valoarea rezistivă necesară pentru rezistorul serie, limitator de curent, al unui singur segment se găsește pur și simplu folosind Legea lui Ohm la fluxul de curent necesar pentru a-l lumina. Prin urmare, putem calcula gama de rezistențe necesară pentru a limita curentul LED-urilor între 6 mA și 20 mA pentru orice aplicație și intensitate de LED dorim, ca mai jos:

Astfel, la un curent de 6 mA am avea nevoie de un rezistor serie de limitare a curentului de 533 Ω sau 560 Ω la cea mai apropiată valoare standard, iar pentru a limita curentul la 20 mA am avea nevoie de un rezistor de 160 Ω. În realitate, orice valoare standard bună a rezistorului cuprinsă între 220 Ω și 360 Ω ar putea fi utilizată pentru a ilumina un afișaj cu 7 segmente dintr-o sursă de 5 volți, totul depinde de ce valori ale rezistorului aveți la dispoziție.

Deși aici folosim un exemplu de afișaj LED cu anod comun ca exemplu, aceleași calcule și valori rezistive sunt valabile și pentru afișajele LED cu catod comun. Rețelele de rezistoare dual-in-line (DIP) sunt disponibile în mod obișnuit cu toate cele șapte (sau opt) rezistoare într-un singur pachet DIP, simplificând procesul de cablare între driverul CI și afișaj.

Rețineți, de asemenea, că, în timp ce am folosit aici TTL 74LS47 BCD la decodor/driver IC cu 7 segmente, cu ieșirile sale active LOW (curent sink) pentru comanda unui afișaj cu anod comun, TTL 74LS48 BCD pentru CI decodor /driver cu 7 segmente este exact la fel, cu excepția faptului că a fost proiectat pentru a comanda un afișaj cu catod comun, deoarece produce ieșiri active HIGH (sursă de curent). Deci, în funcție de tipul de afișaj LED cu 7 segmente pe care îl aveți, este posibil să aveți nevoie de un CI 74LS47 pentru a comanda, să presupunem, de exemplu, un afișaj LT542 CA sau un CI 74LS48 pentru a comanda afișajul echivalent LT543 CC. Alegerea este a voastră.

Afișarea numerelor pe un ecran cu 7 segmente

74LS47 are patru intrări pentru cifrele BCD (8-4-2-1) A, B, C și D și ieșiri pentru fiecare dintre segmentele afișajului cu șapte segmente. Operarea a patru comutatoare SA, SB, SC și SD, va genera secvența de intrare necesară pentru a activa segmentele LED corespunzătoare, responsabile de afișarea numărului corespunzător. Pentru operarea normală, LT (Lamp test), BI/RBO (Blanking Input/Ripple Blanking Output) și RBI (Ripple Blanking Input) ale 74LS47 sunt toate conectate la alimentarea + 5V (HIGH). Astfel numerele afișate sunt după cum urmează:

Elemente de afișare pe 7 segmente pentru toate cele zece cifre numerice

În timp ce operarea celor patru comutatoare SPST va determina afișarea numerelor corespunzătoare sau a caracterelor aleatorii, poate fi puțin obositor să acționezi cele patru comutatoare la un moment dat. Deci, ar fi mai bine dacă am avea un singur cip CI care ar putea genera informații binare pe 4 linii fără a utiliza cele patru comutatoare și există, contorul BCD 74LS90.

Circuitul integrat 74LS90 care poate fi configurat ca un contor decadic MOD-10 (divide-cu-10) pentru a produce un cod de ieșire BCD, numărând de la 0000 la 1001 și apoi se resetează la 0000. Prin utilizarea acestui CI contor/divizor decadic asincron, putem incrementa cifrele de pe afișajul cu 7 segmente folosind un singur comutator, așa cum se arată.

Contor afișaj 7 segmente cu o singură cifră

Acum putem crește numerele de pe afișaj de la 0 la 9 prin simpla apăsare a unui buton, SW1 de zece ori. Prin schimbarea poziției butonului și a rezistorului de 1 kΩ, numărul poate fi modificat fie la activare, fie la eliberarea butonului SW1.

Circuitul nostru simplu arată cum putem produce un contor digital de la 0 la 9 utilizând un contor BCD 74LS90 și un driver de afișare cu 7 segmente 74LS47. Dar acest contor de 0 la 9 cifre cu o singură cifră poate fi extins cu adăugarea unui al doilea etaj de contor pentru a face un contor de la 00 până la 99 din două cifre.

Contor de afișaj 7 segmente cu două cifre

Deci, cum funcționează acest contor de afișare cu 7 segmente din 2 cifre. Prima jumătate a circuitului digital al contorului lucrează la fel ca înainte, cu excepția faptului că activarea butonului SW1 crește unitățile (unu) afișajului LED. Primul contor 74LS90 BCD, U1 numără în sus de la 0 la 9 (0000 la 1001) la fiecare închidere (frontul din spate) a SW1. Dar, atunci când secvența de numărare atinge „8” (1000) pe afișajul unităților, pinul 11 ​​al U1 corespunzător ieșirii „D” trece „HIGH” și rămâne HIGH până când U1 se resetează la zero la numărul 10, moment la care pinul-11 din U1 devine din nou „LOW”.

Deoarece pinul-11 de ieșire (pinul D BCD) al lui U1 este conectat la pinul-14 de intrare al tactului A (CLKA) al celui de-al doilea contor 74LS90 BCD, U3, fiecare acțiune de comutare succesivă HIGH/LOW a pinului-11 (ieșirea D) a U1 crește al doilea afișaj LED pentru cifra lui zece. Astfel, cele două afișaje cu LED-uri, atunci când sunt plasate unul lângă altul, o să numere în sus de la 00 la 99 înainte de a reveni la 00 din nou pentru următorul număr.

Acest circuit de numărare digital foarte simplu are multe aplicații diferite pentru proiectele școlare. De exemplu, dacă putem înlocui comutatorul cu buton acționat manual SW1 cu un senzor putem număra obiecte în mișcare, sau persoane, sau mașini etc. Sau chiar înlocuirea SW1 cu un temporizator 555 sau un circuit oscilator astabil poate fi folosită pentru a număra un număr de impulsuri sau ca un simplu timer de 2 cifre sau circuit de temporizare de reacție cu sau fără punctul zecimal.

În timp ce circuitul contorului de 2 cifre de mai sus lucrează bine cu contorul decadic 74LS90 (divide-cu-zece), problema este că avem nevoie de două dintre ele, U1 și U3. TTL 74LS390 și echivalentul său CMOS, 74HC390, conțin două contoare decadice 74LS90 într-o singură carcasă CI și, în majoritatea cazurilor, sunt mai rentabile decât cumpărarea a două 74LS90.

Contorul decadic pe 4 biți TTL 74LS390 are două contoare divide-cu-doi și divide-cu-cinci la nivel intern, care pot fi configurate ca divide-cu-multipli de „2, 5 sau 10” cu o ieșire BCD la fel ca pentru 74LS90 singur. Astfel, putem înlocui cele două CI 74LS90 U1 și U3 din circuitul anterior cu un singur CI 74LS390 cu fiecare jumătate a CI-ului comandând unul dintre afișajele LED, așa cum se arată.

Contor îmbunătățit de două cifre

Circuitul prezintă un contor digital simplu de la 00 la 99 folosind un contor 74LS390 BCD și două drivere de afișare cu 7 segmente 74LS47. Pentru a număra peste 99, ar trebui să punem în cascadă mai multe circuite de numărare. Un contor BCD de 4 cifre ar număra în zecimal de la 0000 la 9999 și apoi va reveni la 0000. La fel, dacă am dori să numărăm de la 0 până la 999999, atunci sunt necesare trei contoare decadice în cascadă. De fapt, multiple contoare decadice pot fi construite pur și simplu prin legarea în cascadă împreună de circuite de contor BCD individuale, câte unul pentru fiecare decadă, așa cum se arată.

Contoare în cascadă

Am văzut aici, în acest tutorial, despre contorul de afișare pe 7 segmente, că circuitele de decodare a afișajelor cu LED-uri pot fi construite folosind circuite logice combinaționale standard și că există multe circuite integrate (CI) dedicate pe piață pentru a îndeplini această funcție. CI-urile de decodare a afișajului, cum ar fi CI decodor/driver cu 7 segmente 74LS47 pentru comanda unui afișaj cu anod comun (CA) sau CI decodor/driver cu 7 segmente 74LS48 pentru comanda unui afișaj cu catod comun (CC) sunt disponibile în mod obișnuit împreună cu echivalentele lor CMOS.

CI contor asincron 74LS90 poate fi configurat ca un contor decadic MOD-10 (divide-cu-10) pentru a produce un cod de ieșire BCD, numărând în sus de la 0000 la 1001 și apoi resetându-se înapoi la 0000 pentru a începe din nou ciclul.

Contorul 74LS90 BCD este un circuit de numărare foarte flexibil și poate fi folosit ca divizor de frecvență sau realizat pentru a împărți orice număr întreg de la 0 la 9 pentru un singur afișaj. În cascadă împreună două contoare 74LS90 ne permit să producem un contor de 2 cifre, dar mai bine, folosind CI 74LS390 dual decade/driver putem produce orice combinație de etaje de contor folosind mai multe afișaje LED cu 7 segmente.