Sedam segmentnih zaslona važne su jedinice prikaza u elektronici i široko se koriste za prikaz brojeva od 0 do 9. Također može prikazati neke abecede znakova poput A, B, C, H, F, E itd. U ovom uputstvu naučit ćemo kako spojiti 7-segmentni zaslon s 8051 mikrokontrolerom. Koristimo mikrokontroler AT89S52 iz serije 8051.
Prije povezivanja trebali bismo naučiti o 7-segmentnom zaslonu. To je najjednostavnija jedinica za prikaz brojeva i znakova. Sastoji se samo od 8 LED dioda, svaka LED dioda koristi se za osvjetljenje jednog segmenta jedinice, a osma LED dioda koristi se za osvjetljavanje DOT-a na 7-segmentnom zaslonu. Svaki segment možemo označiti kao LINIJ, jer vidimo da u jedinici ima 7 redaka koji se koriste za prikaz broja / znaka. Možemo uputiti svaki redak / segment "a, b, c, d, e, f, g", a za točkasti znak upotrijebit ćemo "h". Postoji 10 pinova, u kojima se 8 pinova koristi za označavanje a, b, c, d, e, f, g i h / dp, dvije srednje igle su zajednička anoda / katoda svih LED dioda. Ove zajedničke anode / katode su iznutra kratko spojene, tako da moramo povezati samo jedan COM pin.

Postoje dvije vrste 7-segmentnih zaslona: Common Anode i Common Cathode:
Uobičajena anoda: U tome su svi negativni priključci (katoda) svih 8 LED dioda povezani zajedno (vidi dijagram u nastavku), nazvani COM. I svi pozitivni terminali ostaju sami.
Uobičajena katoda: U ovom su spojeni svi pozitivni terminali (anode) svih 8 LED-a, nazvani COM. I sve negativne termike ostaju same.

Kružni dijagram i radno širenje
Ovdje koristimo uobičajeni tip anode od 7 segmenata, jer moramo LED-ove povezati obrnuto. Kao što znamo da mikrokontroler ne daje dovoljno snage za svijetljenje LED diode, tako da LED katodu moramo spojiti na pin mikrokontrolera, a LED anodu na napajanje. Ovaj koncept negativne logike možete razumjeti u ovom članku "LED povezivanje s mikrokontrolerom 8051". Također biste trebali pročitati ovaj članak da biste razumjeli osnovnu vezu mikrokontrolera poput kristala i sklopa za resetiranje.

Kao što je prikazano iznad, shema spojeva za povezivanje 7-segmentnog zaslona s 8051 mikrokontrolerom, spojili smo a, b, c, d, e, f, g, h na pinove 2,0 do 2,7 što znači da 7 segment povezujemo s priključkom 2 mikrokontrolera. Sada pretpostavimo da želimo prikazati 0, tada trebamo svijetliti sve LED diode osim LED diode koja pripada liniji "g" (vidi gornji dijagram), tako da bi igle 2.0 do 2.6 trebale biti na 0 (trebale bi biti 0 za UKLJUČIVANJE LED diode kao po negativnoj logici) i pin 2.7 i 2.8 trebaju biti na 1 (treba biti 1 da bi se ISKLJUČILO LED prema negativnoj logici). Tako će LED diode spojene na pinove 2.0 do 2.6 (a, b, c, d, e, f) biti UKLJUČENE, a LED diode spojene na 2.7 i 2.8 (g i h) ISKLJUČENE, što će stvoriti "0" u 7 segment. Dakle, trebamo uzorak bitova 11000000 (Pin 8 je najviši bit, dakle počevši od P2.7 do P2.0), a HEX kôd za binarni 11000000 je "C0". Slično možemo izračunati za sve znamenke. Ovdje bismo trebali primijetiti da držimo "točku / h" uvijek ISKLJUČENO,pa mu svaki put moramo dati LOGIC "1". U nastavku je dana tablica za sve brojeve tijekom korištenja segmenta Common Anode 7.
|
Znamenka za prikaz |
hgfedcba |
Heks 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 |
Objašnjenje koda
Stvorili smo funkciju ms_delay koja osigurava kašnjenje u milisekundama, a to se kašnjenje obično pruža u bilo kojem programu mikrokontrolera kako bi mikrokontroler mogao dovršiti svoj interni rad.
Zatim smo stvorili niz hex kodova za 0 do 9 (vidi gornju tablicu) i na kraju poslali hex kodove na priključak 2 koji je povezan sa zajedničkim segmentom anode 7. Tako su na ovaj način brojevi prikazani na 7-segmentnom zaslonu.
Sada imamo samo 4 porta u mikrokontroleru i što ako podatke želimo prikazati u više od četiri 7 segmenata ?? Da bi se riješio ovaj problem, na scenu dolazi tehnika multipleksiranja. Moramo multipleksirati višestruke 7 segmentne jedinice. Pročitajte i povezivanje 7-segmentnog zaslona s AVR mikrokontrolerom.
