Septiņi segmentu displeji ir svarīgas elektronikas displeja vienības, un tos plaši izmanto, lai parādītu skaitļus no 0 līdz 9. Tas var parādīt arī dažas rakstzīmju alfabētus, piemēram, A, B, C, H, F, E utt. Šajā apmācībā mēs mācīsimies kā saskarni 7 segmentu displejā ar 8051 mikrokontrolleru. Mēs izmantojam mikrokontrolleru AT89S52 no 8051 sērijas.
Pirms saskarnes mums vajadzētu uzzināt par 7 segmentu displeju. Tā ir vienkāršākā vienība, kas parāda ciparus un rakstzīmes. Tas tikai veido 8 LED, katrs LED izmanto, lai apgaismotu vienu segmentu vienības un 8 th LED izmanto, lai apgaismotu DOT 7 segmentu displeju. Katru segmentu mēs varam attiecināt uz LINE, jo mēs redzam, ka vienībā ir 7 rindas, kuras tiek izmantotas, lai parādītu skaitli / rakstzīmi. Mēs varam norādīt katru līniju / segmentu "a, b, c, d, e, f, g", un punktu rakstzīmei mēs izmantosim "h". Ir 10 tapas, kurās 8 tapas tiek izmantotas, lai apzīmētu a, b, c, d, e, f, g un h / dp. Divas vidējās tapas ir visu LED gaismas diodes / katodi. Šie kopējie anodi / katodi ir iekšēji saīsināti, tāpēc mums jāpievieno tikai viena COM tapa.
Ir divu veidu 7 segmentu displeji: kopējais anods un kopējais katods:
Kopējais anods: Šajā laikā visi 8 gaismas diodes visi negatīvie spailes (katods) ir savienoti kopā (skat. Diagrammu zemāk), kas nosaukti kā COM. Un visi pozitīvie termināli paliek vieni.
Parastais katods: tajā visi 8 gaismas diodes visi pozitīvie spailes (anodi) ir savienoti kopā ar nosaukumu COM. Un visi negatīvie termāli paliek vieni.
Ķēdes shēma un darba eksalācija
Šeit mēs izmantojam kopēju anoda veidu 7 segmentā, jo mums ir jāpievieno gaismas diodes pretēji. Tā kā mēs zinām, ka mikrokontrolleris nenodrošina pietiekami daudz enerģijas, lai spīdētu LED, tāpēc mums ir jāpievieno gaismas diodes katods pie mikrokontrollera tapas un LED anods strāvas padevei. Jūs varat saprast šo negatīvās loģikas jēdzienu šajā rakstā “LED mijiedarbība ar 8051 mikrokontrolleru”. Jums vajadzētu arī izlasīt šo rakstu, lai izprastu mikrokontrollera, piemēram, kristāla un atiestatīšanas shēmas, pamata savienojumu.
Kā parādīts iepriekš, 7 segmentu displeja un 8051 mikrokontrollera saskarnes shēma, mēs esam savienojuši a, b, c, d, e, f, g, h ar tapām 2.0 līdz 2.7 nozīmē, ka mēs savienojam 7 segmentus ar mikrokontrollera 2. portu. Tagad pieņemsim, ka mēs vēlamies parādīt 0, tad mums ir jāspīd visas gaismas diodes, izņemot LED, kas pieder līnijai “g” (skat. Diagrammu iepriekš), tāpēc tapām 2.0 līdz 2.6 jābūt ar 0 (jābūt 0, lai LED ieslēgtu kā pēc negatīvās loģikas) un tapām 2.7 un 2.8 jābūt ar 1 (jābūt 1, lai Izslēgtu LED saskaņā ar negatīvo loģiku). Tātad gaismas diodes, kas savienotas ar tapām 2.0 līdz 2.6 (a, b, c, d, e, f), būs ieslēgtas, un gaismas diodes, kas savienotas ar 2.7 un 2.8 (g un h), būs izslēgtas, kas izveidos “0” 7 segmentā. Tāpēc mums ir nepieciešams bitu modelis 11000000 (8. kontakts ir visaugstākais bits, sākot no P2.7 līdz P2.0), un binārā 11000000 HEX kods ir “C0”. Līdzīgi mēs varam aprēķināt visiem cipariem. Šeit mums jāņem vērā, ka “dot / h” vienmēr tiek izslēgts,tāpēc mums katru reizi tam jāpiešķir LOGIC “1”. Izmantojot kopējo anodu 7 segmentu, zemāk ir dota tabula par visiem numuriem.
Cipars, lai parādītu |
hgfedcba |
Hex kods |
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 |
Kods Paskaidrojums
Mēs esam izveidojuši ms_delay funkciju, lai nodrošinātu aizkavi milisekundēs, šī kavēšanās parasti tiek nodrošināta jebkurā mikrokontrolleru programmā, lai mikrokontrolleris varētu pabeigt savu iekšējo darbību.
Tad mēs esam izveidojuši masīvu ar hex kodiem no 0 līdz 9 (skatīt tabulu iepriekš), un visbeidzot, mēs esam nosūtījuši hex kodus uz 2. portu, kas ir savienots ar kopējo anoda 7 segmentu. Tātad šādā veidā skaitļi tiek parādīti 7 segmentu displejā.
Tagad mums ir tikai 4 porti mikrokontrollerā, un ko darīt, ja mēs vēlamies rādīt datus vairāk nekā četros 7 segmentos? Lai atrisinātu šo problēmu, multipleksēšanas tehnika nonāk attēlā. Mums ir nepieciešams multipleksēt vairākas 7 segmentu vienības. Lasiet arī saskarnes 7 segmentu displeju ar AVR mikrokontrolleru.