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
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
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
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
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
Nasledujúca tabuľka zobrazuje hexadecimálne hodnoty použité na zobrazenie rôznych číslic.
7-segmentová tabuľka displeja
Schéma zapojenia
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
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
Schéma zapojenia:
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
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ď.
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
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
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
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
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
- Mikrokontrolér 8051 Periférne zariadenia od aninditadhikary
- 7-segmentové zobrazenie podľa elektronický učiteľ
- 7-segmentové konfigurácie displeja podľa ucho na počúvanie
- LCD displej podľa bp.blogspot
- Unipolárne a bipolárne steppery od inžinierska garáž
- Maticová klávesnica od vetco
- Interný diagram klávesnice podľa bp.blogspot