Sju segmentskärmar är viktiga bildskärmsenheter i elektronik och används ofta för att visa siffror från 0 till 9. Det kan också visa några teckenalfabet som A, B, C, H, F, E etc. I den här handledningen ska vi lära oss hur man gränssnitt en 7 segment skärm med 8051 mikrokontroller. Vi använder AT89S52 mikrokontroller från 8051-serien.
Innan vi kopplar ihop bör vi lära oss om 7-segmentvisning. Det är den enklaste enheten att visa siffror och tecken. Den består bara av 8 lysdioder, varje lysdiod används för att belysa ett segment av enheten och den åttonde lysdioden som används för att lysa upp DOT i 7-segmentsvisning. Vi kan hänvisa till varje segment som en LINE, eftersom vi kan se att det finns 7 rader i enheten som används för att visa ett nummer / tecken. Vi kan hänvisa varje rad / segment "a, b, c, d, e, f, g" och för punktkaraktär kommer vi att använda "h". Det finns 10 stift, där 8 stift används för att referera till a, b, c, d, e, f, g och h / dp, de två mittstiften är vanliga anoder / katoder för alla LED-lampor. Dessa vanliga anoder / katoder är internt kortslutna så vi behöver bara ansluta en COM-stift.
Det finns två typer av 7 segmentskärmar: Common Anode och Common Cathode:
Vanlig anod: I detta är alla negativa terminaler (katod) för alla de 8 lysdioderna anslutna (se diagram nedan), benämnt COM. Och alla positiva terminaler lämnas ensamma.
Vanlig katod: I detta är alla positiva terminaler (anoder) för alla de 8 lysdioderna anslutna tillsammans, benämnda som COM. Och alla de negativa värmerna lämnas ensamma.
Kretsschema och arbetsutvidgning
Här använder vi vanliga anodtyper av 7-segment eftersom vi måste ansluta lysdioder i omvänd ordning. Som vi vet att mikrokontroller inte ger tillräckligt med ström för att lysa lysdioden så måste vi ansluta LED: s katod till mikrokontrollerstift och LED-anoder till strömförsörjningen. Du kan förstå detta negativa logikbegrepp i den här artikeln “LED-gränssnitt med 8051 mikrokontroller”. Du bör också läsa den här artikeln för att förstå den grundläggande anslutningen av mikrokontroller som kristall och återställningskretsar.
Som visas ovan kretsschemat för gränssnitt 7-segmentsdisplay med 8051 mikrokontroller, vi har anslutit a, b, c, d, e, f, g, h till stift 2.0 till 2.7 betyder att vi ansluter 7-segment till port 2 på mikrokontroller. Antag nu att vi vill visa 0, då måste vi lysa alla lysdioder utom LED som tillhör linjen “g” (se diagram ovan), så stift 2.0 till 2.6 bör vara vid 0 (ska vara 0 för att TÄNDA LED som per negativ logik) och stift 2.7 och 2.8 ska vara vid 1 (ska vara 1 för att STÄNGA AV lysdioden enligt negativ logik). Så lysdioderna anslutna till stift 2.0 till 2.6 (a, b, c, d, e, f) kommer att vara PÅ och lysdioder anslutna till 2,7 och 2,8 (g och h) kommer att vara OFF, vilket kommer att skapa ett "0" i 7 segmentet. Så vi behöver bitmönster 11000000 (Pin 8 är den högsta biten så från P2.7 till P2.0), och HEX-koden för binär 11000000 är "C0". På samma sätt kan vi beräkna för alla siffror. Här bör vi notera att vi håller “dot / h” alltid AV,så vi måste ge LOGIC “1” till det varje gång. Nedan visas en tabell för alla siffror när du använder Common Anode 7-segmentet.
Siffra att visa |
hgfedcba |
Hex-kod |
0 |
11000000 |
C0 |
1 |
11111001 |
F9 |
2 |
10100100 |
A4 |
3 |
10110000 |
B0 |
4 |
10011001 |
99 |
5 |
10010010 |
92 |
6 |
10000010 |
82 |
7 |
11111000 |
F8 |
8 |
10000000 |
80 |
9 |
10010000 |
90 |
Kodförklaring
Vi har skapat ms_delay-funktionen för att tillhandahålla fördröjningen i millisekunder, denna fördröjning tillhandahålls vanligtvis i alla mikrokontrollerprogram så att mikrokontroller kan slutföra sin interna operation.
Sedan har vi skapat en matris av hexkoderna för 0 till 9 (se tabellen ovan) och slutligen har vi skickat hexkoderna till port 2, som är ansluten till gemensamt anod 7-segment. Så på detta sätt visas siffrorna på displayen med 7 segment.
Nu har vi bara fyra portar i mikrokontroller och vad händer om vi vill visa data i mer än fyra 7 segment ?? För att lösa detta problem kommer multiplexeringsteknik in i bilden. Vi måste multiplexera flera 7 segmentenheter. Läs också gränssnitt 7-segmentsdisplay med AVR-mikrokontroller.