Hlavné elektronické periférie prepojené s mikrokontrolérom 8051

Vyskúšajte Náš Nástroj Na Odstránenie Problémov





Rozhranie je jedným z dôležitých konceptov v mikrokontrolér 8051 pretože mikrokontrolér je CPU, ktorý dokáže vykonať určitú operáciu s dátami a dáva výstup. Na vykonanie operácie však potrebujeme vstupné zariadenie na zadávanie údajov a na druhej strane výstupné zariadenie zobrazuje výsledky operácie. Tu používame klávesnicu a LCD displej ako vstupné a výstupné zariadenie spolu s mikrokontrolérom.

Mikrokontrolér 8051 Periférne zariadenia

Mikrokontrolér 8051 Periférne zariadenia



Rozhranie je proces spojenia zariadení dohromady, aby si mohli vymieňať informácie, a čo sa ukazuje ako jednoduchšie na písanie programov. Pre našu požiadavku existujú rôzne typy vstupných a výstupných zariadení, ako napríklad LED, LCD, 7segmentové, klávesnica, motory a ďalšie zariadenia.


Tu je uvedených niekoľko dôležitých modulov prepojených s mikrokontrolérom 8051.



1. Rozhranie LED na mikrokontrolér:

Popis:

LED diódy sa najčastejšie používajú v mnohých aplikáciách na indikáciu výstupu. Počas testu nájdu obrovské množstvo aplikácií ako indikátorov na overenie platnosti výsledkov v rôznych fázach. Sú veľmi lacné a ľahko dostupné v rôznych tvaroch, farbách a veľkostiach.

Dióda vyžarujúca svetlo

Dióda vyžarujúca svetlo

Princíp prevádzka LED je veľmi ľahké. Jednoduchá kontrolka LED slúži aj ako základné zobrazovacie zariadenie. Stav Zapnuté a Vypnuté vyjadruje úplné informácie o zariadení. Bežne dostupné LED majú pokles napätia o 1,7 V, čo znamená, že keď použijeme viac ako 1,7 V, dióda vedie. Dióda potrebuje prúd 10 mA, aby mohla svietiť plnou intenzitou.


Nasledujúci obvod popisuje „ako svietiť LED diódy“.

LED diódy môžu byť prepojené s mikrokontrolérom buď v spoločnej anódovej alebo spoločnej katódovej konfigurácii. Tu sú LED pripojené v spoločnej anódovej konfigurácii, pretože spoločná katódová konfigurácia spotrebuje viac energie.

Schéma zapojenia

Rozhranie LED na mikrokontrolér

Rozhranie LED na mikrokontrolér

Zdrojový kód:

#include
void main ()
{
nepodpísaný int i
zatiaľ čo (1)
{
P0 = 0x00
pre (i = 0i<30000i++)
P0 = 0xff
pre (i = 0i<30000i++)
}
}

2. Obvod rozhrania 7-segmentového displeja

Popis:
Sedem segmentový displej je najzákladnejší elektronický displej. Skladá sa z ôsmich LED, ktoré sú združené postupne tak, aby pri zapnutí správnej kombinácie LED zobrazovali číslice od 0 do 9. Sedemsegmentový displej používa sedem LED na zobrazenie číslic od 0 do 9 a 8. LED slúži na bodku. Typický segment siedmich vyzerá ako je znázornené na obrázku nižšie.

7-segmentový displej

7-segmentový displej

Sedemsegmentové displeje sa používajú v mnohých systémoch na zobrazovanie číselných informácií. Môžu zobrazovať vždy jednu číslicu. Počet použitých segmentov teda závisí od počtu číslic, ktoré sa majú zobraziť. Tu sa číslice 0 až 9 zobrazujú nepretržite s preddefinovaným časovým oneskorením.

Sedemsegmentový displej je k dispozícii v dvoch konfiguráciách, ktorými sú spoločná anóda a spoločná katóda. Tu sa používa bežná anódová konfigurácia, pretože výstupný prúd mikrokontroléra nie je dostatočný na to, aby riadil LED. Sedemsegmentový displej pracuje na zápornú logiku, musíme zaistiť logiku 0 zodpovedajúcemu kolíku, aby svietila LED dióda.

7-segmentové konfigurácie displeja

7-segmentové konfigurácie displeja

Nasledujúca tabuľka zobrazuje hexadecimálne hodnoty použité na zobrazenie rôznych číslic.

7-segmentová tabuľka displeja

7-segmentová tabuľka displeja

Schéma zapojenia

Prepojenie 7-segmentového displeja

Prepojenie 7-segmentového displeja

Zdrojový kód:

#include
sbit a = P3 ^ 0
void main ()
{
znak bez znamenia n [10] = {0x40,0xF9,0x24,0x30,0x19,0x12,0x02,0xF8,0xE00,0x10}
nepodpísaný int i, j
a = 1
zatiaľ čo (1)
{
pre (i = 0i<10i++)
{
P2 = n [i]
pre (j = 0j<60000j++)
}
}
}

3. LCD prepojenie s mikrokontrolérom

LCD je skratka pre displej z tekutých kryštálov, ktorý dokáže zobraziť znaky na riadok. LCD displej 16 x 2 môže zobraziť 16 znakov na riadok a sú tam 2 riadky. Na tomto displeji LCD je každý znak zobrazený v matici s rozmermi 5 * 7 pixelov.

Displej LCD

Displej LCD

LCD je veľmi dôležité zariadenie, ktoré sa používa takmer pre všetky automatizované zariadenia, ako sú práčky, autonómny robot, systémy riadenia výkonu a ďalšie zariadenia. To sa dosiahne zobrazením ich stavu na malých zobrazovacích moduloch, ako sú sedemsedem segmentové displeje, viacsegmentové LED atď. Z toho dôvodu sú LCD displeje primerane lacné, ľahko programovateľné a nemajú nijaké obmedzenia pri zobrazovaní špeciálnych znakov.

Skladá sa z dvoch registrov, ako sú register príkazov / inštrukcií a dátový register.

Register príkazov / inštrukcií ukladá pokyny príkazov dané na LCD displeji. Príkaz je pokyn, ktorý sa zadá na LCD displej, ktorý vykonáva sadu preddefinovaných úloh, ako je inicializácia, vyčistenie obrazovky, nastavenie pózovania kurzora, ovládanie displeja atď.

V dátovom registri sú uložené údaje, ktoré sa majú zobraziť na LCD displeji. Dáta sú ASCII hodnotou znakov, ktoré sa majú zobraziť na LCD displeji.

Prevádzka LCD sa riadi dvoma príkazmi. Keď RS = 0, R / W = 1 prečíta údaje a keď RS = 1, R / W = 0, zapíše (vytlačí) údaje.

Displej LCD používa nasledujúce príkazové kódy:

Príkazy na LCD displeji

Príkazy na LCD displeji

Schéma zapojenia:

Rozhranie LCD na mikrokontrolér

Rozhranie LCD na mikrokontrolér

Zdrojový kód:

#include
#define kam P0

sbit rs = P2 ^ 0
sbit rw = P2 ^ 1
sbit at = P2 ^ 2

void lcd_initi ()
void lcd_dat (nepodpísaný znak)
void lcd_cmd (nepodpísaný znak)
neplatnosť oneskorenia (unsigned int)
neplatné zobrazenie (nepodpísané znaky * s, nepodpísané znaky r)
void main ()
{

lcd_initi ()
lcd_cmd (0x80)
oneskorenie (100)
displej („EDGEFX TECHLNGS“, 15)
lcd_cmd (0xc0)
displej („ZOSTAVY A RIEŠENIA“, 15)
zatiaľ čo (1)
}

neplatné zobrazenie (nepodpísané znaky * s, nepodpísané znaky r)
{
nepodpísané int w
pre (š = 0 t{

lcd_dat (s [w])
}
}

void lcd_initi ()
{
lcd_cmd (0x01)
oneskorenie (100)
lcd_cmd (0x38)
oneskorenie (100)
lcd_cmd (0x06)
oneskorenie (100)
lcd_cmd (0x0c)
oneskorenie (100)
}
void lcd_dat (nepodpísaný char dat)
{
hrebeň = to
rs = 1
rw = 0

v = 1
oneskorenie (100)
in = 0
}
void lcd_cmd (nepodpísaný znak cmd)
{
prišlo = cmd
rs = 0
rw = 0

v = 1
oneskorenie (100)
in = 0
}
void delay (unsigned int n)
{

nepodpísané int a
pre (a = 0a}

4. Obvod rozhrania krokového motora

Typy krokových motorov-1

Unipolárny krokový motor

TO krokový motor je jedným z najčastejšie používaných motorov na presný uhlový pohyb. Výhodou použitia krokového motora je, že uhlovú polohu motora je možné ovládať bez spätnoväzbového mechanizmu. Krokové motory sú široko používané v priemyselných a komerčných aplikáciách. Tiež sa bežne používajú ako pohonné systémy, ako sú roboty, práčky atď.

Typy krokových motorov-2

Bipolárny krokový motor

Krokové motory môžu byť unipolárne alebo bipolárne a tu používame unipolárny krokový motor. Unipolárny krokový motor sa skladá zo šiestich vodičov, z ktorých štyri sú pripojené k cievke motora a dva sú bežné vodiče. Každý spoločný vodič je pripojený k zdroju napätia a zvyšné vodiče sú pripojené k mikrokontroléru.

Schéma zapojenia:

Obvod rozhrania krokového motora

Obvod rozhrania krokového motora

Zdrojový kód:

#include
sbit a = P3 ^ 0
sbit b = P3 ^ 1
sbit c = P3 ^ 2
sbit d = P3 ^ 3

neplatnosť oneskorenia ()

void main ()
{

zatiaľ čo (1)
{

a = 0
b = 1
c = 1
d = 1
oneskorenie ()
a = 1
b = 0
c = 1
d = 1
oneskorenie ()
a = 1
b = 1
c = 0
d = 1
oneskorenie ()
a = 1
b = 1
c = 1
d = 0

}
}

neplatnosť oneskorenia ()
{

nepodpísaný znak i, j, k
pre (i = 0i<6i++)
pre (j = 0j<255j++)
pre (k = 0 k<255k++)

}

5. Maticová klávesnica prepojená s 8051

Popis:

Maticová klávesnica

Maticová klávesnica

Klávesnica je široko používané vstupné zariadenie s mnohými aplikáciami ako telefón, počítač, bankomat, elektronický zámok atď. Klávesnica sa používa na získanie vstupu od používateľa na ďalšie spracovanie. Tu je maticová klávesnica 4 x 3 pozostávajúca z prepínačov usporiadaných v riadkoch a stĺpcoch prepojené s mikrokontrolérom . Na zobrazenie výstupu je tiež pripojený displej LCD 16 x 2.

Koncept rozhrania klávesnice je veľmi jednoduchý. Každému počtu klávesníc sú priradené dva jedinečné parametre, ktoré sú riadok a stĺpec (R, C). Preto vždy, keď stlačíte kláves, číslo sa identifikuje detekciou čísel riadkov a stĺpcov klávesnice.

Interný diagram klávesnice

Interný diagram klávesnice

Spočiatku sú všetky riadky nastavené na nulu („0“) radičom a stĺpce sú skenované, aby sa skontrolovalo, či je stlačené nejaké tlačidlo. Ak nestlačíte žiadne tlačidlo, výstup všetkých stĺpcov bude vysoký („1“).

Schéma zapojenia

Maticová klávesnica prepojená s 8051

Maticová klávesnica prepojená s 8051

Zdrojový kód:

#include
#define kam P0
sbit rs = P2 ^ 0
sbit rw = P2 ^ 1
sbit at = P2 ^ 2
sbit c1 = P1 ^ 4
sbit c2 = P1 ^ 5
sbit c3 = P1 ^ 6
sbit r1 = P1 ^ 0
sbit r2 = P1 ^ 1
sbit r3 = P1 ^ 2
sbit r4 = P1 ^ 3
void lcd_initi ()
void lcd_dat (nepodpísaný znak)
void lcd_cmd (nepodpísaný znak)
neplatnosť oneskorenia (unsigned int)
neplatné zobrazenie (nepodpísané znaky * s, nepodpísané znaky r)

void main ()
{
lcd_initi ()
lcd_cmd (0x80)
oneskorenie (100)
displej („0987654321“, 10)
zatiaľ čo (1)
}

neplatné zobrazenie (nepodpísané znaky * s, nepodpísané znaky r)
{

nepodpísané int w
pre (š = 0 t{

lcd_dat (s [w])
}
}
void lcd_initi ()
{
lcd_cmd (0x01)
oneskorenie (100)
lcd_cmd (0x38)
oneskorenie (100)
lcd_cmd (0x06)
oneskorenie (100)
lcd_cmd (0x0c)
oneskorenie (100)
}

void lcd_dat (nepodpísaný char dat)
{
hrebeň = to
rs = 1
rw = 0

v = 1
oneskorenie (100)
in = 0
}
void lcd_cmd (nepodpísaný znak cmd)
{
prišlo = cmd
rs = 0
rw = 0

v = 1
oneskorenie (100)
in = 0

}
void delay (unsigned int n)
{

nepodpísané int a
pre (a = 0a}
}

Dúfame, že sme boli schopní poskytnúť dostatok vedomostí o základných, ale dôležitých prepojovacích obvodoch systému mikrokontrolér 8051 . Toto sú najzákladnejšie obvody vyžadované v každej aplikácii zabudovaného systému a dúfame, že sme vám poskytli dobrú revíziu.

Ďalšie dotazy alebo spätnú väzbu súvisiacu s touto témou môžete uviesť v sekcii komentárov nižšie.

Fotoúvery