Rozhraní je jedním z důležitých konceptů v mikrokontrolér 8051 protože mikrokontrolér je CPU, který může provádět nějakou operaci s daty a dává výstup. Abychom však mohli provést operaci, potřebujeme vstupní zařízení pro zadávání dat a následně výstupní zařízení zobrazuje výsledky operace. Zde používáme klávesnici a LCD displej jako vstupní a výstupní zařízení spolu s mikrokontrolérem.

Mikrokontrolér 8051 Periferní zařízení
Rozhraní je proces spojování zařízení dohromady, aby si mohli vyměňovat informace a že se ukazuje snazší psát programy. Pro naše požadavky existují různé typy vstupních a výstupních zařízení, jako jsou LED, LCD, 7segmentové, klávesnice, motory a další zařízení.
Zde jsou uvedeny některé důležité moduly propojené s mikrokontrolérem 8051.
1. Rozhraní LED pro mikrokontrolér:
Popis:
LED diody se nejčastěji používají v mnoha aplikacích k indikaci výstupu. Zjistí, že během testu používají jako indikátory obrovskou škálu aplikací ke kontrole platnosti výsledků v různých fázích. Jsou velmi levné a snadno dostupné v různých tvarech, barvách a velikostech.

Světelná dioda
Princip provoz LED je velmi snadné. Jednoduchá kontrolka LED také slouží jako základní zobrazovací zařízení, stav Zapnuto a Vypnuto vyjadřuje úplné informace o zařízení. Běžně dostupné LED diody mají pokles napětí 1,7 V, což znamená, že když použijeme více než 1,7 V, dioda vede. Dioda potřebuje proud 10 mA, aby svítila plnou intenzitou.
Následující obvod popisuje „jak svítit LED diody“.
LED diody mohou být propojeny s mikrokontrolérem buď v běžné anodové nebo společné katodové konfiguraci. Zde jsou LED připojeny ve společné anodové konfiguraci, protože společná katodová konfigurace spotřebovává více energie.
Kruhový diagram

Rozhraní LED pro mikrokontrolér
Zdrojový kód:
#zahrnout
void main ()
{
unsigned int i
zatímco (1)
{
P0 = 0x00
pro (i = 0i<30000i++)
P0 = 0xff
pro (i = 0i<30000i++)
}
}
2. Obvod rozhraní 7segmentového displeje
Popis:
Sedmisegmentový displej je nejzákladnější elektronický displej. Skládá se z osmi LED, které jsou přiřazeny sekvenčním způsobem tak, aby při zapnutí správné kombinace LED zobrazovaly číslice od 0 do 9. Sedmisegmentový displej používá sedm LED k zobrazení číslic od 0 do 9 a 8. LED se používá pro tečku. Typický sedm segment vypadá jako, jak je znázorněno na obrázku níže.

7segmentový displej
Sedmisegmentové displeje se používají v řadě systémů k zobrazení číselných informací. Mohou zobrazit jednu číslici po druhé. Počet použitých segmentů tedy závisí na počtu číslic, které se mají zobrazit. Zde se číslice 0 až 9 zobrazují nepřetržitě s předdefinovaným časovým zpožděním.
Sedmisegmentové displeje jsou k dispozici ve dvou konfiguracích, kterými jsou běžná anoda a společná katoda. Zde se používá běžná konfigurace anody, protože výstupní proud mikrokontroléru není dostatečný pro řízení LED. Sedmisegmentový displej pracuje na záporné logice, musíme zajistit logiku 0 odpovídajícímu kolíku, aby se rozsvítila LED.

Konfigurace 7segmentového displeje
V následující tabulce jsou uvedeny hexadecimální hodnoty použité k zobrazení různých číslic.

7segmentová tabulka zobrazení
Kruhový diagram

Rozhraní 7segmentového displeje
Zdrojový kód:
#zahrnout
sbit a = P3 ^ 0
void main ()
{
znak bez znaménka n [10] = {0x40,0xF9,0x24,0x30,0x19,0x12,0x02,0xF8,0xE00,0x10}
unsigned int i, j
a = 1
zatímco (1)
{
pro (i = 0i<10i++)
{
P2 = n [i]
pro (j = 0j<60000j++)
}
}
}
3. Rozhraní LCD na mikrokontrolér
LCD je zkratka pro displej z tekutých krystalů, který dokáže zobrazit znaky na řádek. Zde může displej LCD 16 x 2 zobrazit 16 znaků na řádek a existují 2 řádky. Na tomto LCD je každý znak zobrazen v matici 5 * 7 pixelů.

LCD displej
LCD je velmi důležité zařízení, které se používá téměř pro všechna automatizovaná zařízení, jako jsou pračky, autonomní roboty, systémy řízení výkonu a další zařízení. Toho je dosaženo zobrazením jejich stavu na malých zobrazovacích modulech, jako jsou sedmisegmentové displeje, vícesegmentové LED atd. Důvodem je, že LCD jsou cenově dostupné, snadno programovatelné a nemají žádná omezení zobrazování speciálních znaků.
Skládá se ze dvou registrů, jako je registr příkazů / instrukcí a datový registr.
Registr příkazů / instrukcí ukládá instrukce příkazů dané na LCD. Příkaz je pokyn, který se zadává na LCD a provádí řadu předdefinovaných úkolů, jako je inicializace, vymazání obrazovky, nastavení pózování kurzoru, ovládání displeje atd.
Datový registr ukládá data, která se mají zobrazit na LCD. Data jsou ASCII hodnotou znaků, které se mají zobrazit na LCD.
Provoz LCD je řízen dvěma povely. Když RS = 0, R / W = 1 načte data a když RS = 1, R / W = 0, zapíše (vytiskne) data.
LCD používá následující příkazové kódy:

Příkazy na LCD displeji
Kruhový diagram:

Rozhraní LCD na mikrokontrolér
Zdrojový kód:
#zahrnout
#define kam P0
sbit rs = P2 ^ 0
sbit rw = P2 ^ 1
sbit at = P2 ^ 2
void lcd_initi ()
void lcd_dat (nepodepsaný znak)
void lcd_cmd (nepodepsaný znak)
neplatnost zpoždění (unsigned int)
void display (nepodepsaný znak * s, nepodepsaný znak r)
void main ()
{
lcd_initi ()
lcd_cmd (0x80)
zpoždění (100)
displej („EDGEFX TECHLNGS“, 15)
lcd_cmd (0xc0)
displej („SADY A ŘEŠENÍ“, 15)
zatímco (1)
}
void display (nepodepsaný znak * s, nepodepsaný znak r)
{
unsigned int w
pro (w = 0w
lcd_dat (s [w])
}
}
void lcd_initi ()
{
lcd_cmd (0x01)
zpoždění (100)
lcd_cmd (0x38)
zpoždění (100)
lcd_cmd (0x06)
zpoždění (100)
lcd_cmd (0x0c)
zpoždění (100)
}
void lcd_dat (nepodepsaný char dat)
{
hřeben = to
rs = 1
rw = 0
in = 1
zpoždění (100)
in = 0
}
void lcd_cmd (nepodepsaný znak cmd)
{
přišel = cmd
rs = 0
rw = 0
in = 1
zpoždění (100)
in = 0
}
void delay (unsigned int n)
{
unsigned int a
pro (a = 0a
4. Propojovací obvod krokového motoru

Unipolární krokový motor
NA krokový motor je jedním z nejčastěji používaných motorů pro přesný úhlový pohyb. Výhodou použití krokového motoru je, že úhlovou polohu motoru lze ovládat bez zpětnovazebního mechanismu. Krokové motory jsou široce používány v průmyslových a komerčních aplikacích. Rovněž se běžně používají v pohonných systémech, jako jsou roboty, pračky atd.

Bipolární krokový motor
Krokové motory mohou být unipolární nebo bipolární a zde používáme unipolární krokový motor. Unipolární krokový motor se skládá ze šesti vodičů, z nichž čtyři jsou připojeny k cívce motoru a dva jsou společné vodiče. Každý společný vodič je připojen ke zdroji napětí a zbývající vodiče jsou připojeny k mikrokontroléru.
Kruhový diagram:

Obvod rozhraní krokového motoru
Zdrojový kód:
#zahrnout
sbit a = P3 ^ 0
sbit b = P3 ^ 1
sbit c = P3 ^ 2
sbit d = P3 ^ 3
neplatnost zpoždění ()
void main ()
{
zatímco (1)
{
a = 0
b = 1
c = 1
d = 1
zpoždění()
a = 1
b = 0
c = 1
d = 1
zpoždění()
a = 1
b = 1
c = 0
d = 1
zpoždění()
a = 1
b = 1
c = 1
d = 0
}
}
neplatnost zpoždění ()
{
nepodepsaný znak i, j, k
pro (i = 0i<6i++)
pro (j = 0j<255j++)
pro (k = 0 k<255k++)
}
5. Maticová klávesnice s rozhraním 8051
Popis:

Maticová klávesnice
Klávesnice je široce používané vstupní zařízení s mnoha aplikacemi, jako je telefon, počítač, bankomat, elektronický zámek atd. Klávesnice se používá k převzetí vstupu od uživatele pro další zpracování. Zde je maticová klávesnice 4 x 3 skládající se z přepínačů uspořádaných do řádků a sloupců propojen s mikrokontrolérem . Displej 16 x 2 je také propojen pro zobrazení výstupu.
Koncept rozhraní klávesnice je velmi jednoduchý. Každému počtu klávesnic jsou přiřazeny dva jedinečné parametry, kterými jsou řádek a sloupec (R, C). Proto je při každém stisknutí klávesy číslo identifikováno detekcí čísel řádků a sloupců klávesnice.

Interní schéma klávesnice
Zpočátku jsou všechny řádky nastaveny na nulu („0“) řadičem a sloupce jsou skenovány, aby se zkontrolovalo, zda je stisknuta nějaká klávesa. Pokud nestisknete žádnou klávesu, bude výstup všech sloupců vysoký („1“).
Kruhový diagram

Maticová klávesnice s rozhraním 8051
Zdrojový kód:
#zahrnout
#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 (nepodepsaný znak)
void lcd_cmd (nepodepsaný znak)
neplatnost zpoždění (unsigned int)
void display (nepodepsaný znak * s, nepodepsaný znak r)
void main ()
{
lcd_initi ()
lcd_cmd (0x80)
zpoždění (100)
displej („0987654321“, 10)
zatímco (1)
}
void display (nepodepsaný znak * s, nepodepsaný znak r)
{
unsigned int w
pro (w = 0w
lcd_dat (s [w])
}
}
void lcd_initi ()
{
lcd_cmd (0x01)
zpoždění (100)
lcd_cmd (0x38)
zpoždění (100)
lcd_cmd (0x06)
zpoždění (100)
lcd_cmd (0x0c)
zpoždění (100)
}
void lcd_dat (nepodepsaný char dat)
{
hřeben = to
rs = 1
rw = 0
in = 1
zpoždění (100)
in = 0
}
void lcd_cmd (nepodepsaný znak cmd)
{
přišel = cmd
rs = 0
rw = 0
in = 1
zpoždění (100)
in = 0
}
void delay (unsigned int n)
{
unsigned int a
pro (a = 0a
}
Doufáme, že jsme byli schopni poskytnout dostatek znalostí o základních, ale důležitých propojovacích obvodech mikrokontrolér 8051 . Jedná se o nejzákladnější obvody požadované v každé aplikaci vestavěného systému a doufáme, že jsme vám poskytli dobrou revizi.
Další dotaz nebo zpětnou vazbu týkající se tohoto tématu můžete uvítat v sekci komentáře níže.
Fotografické kredity
- Mikrokontrolér 8051 Periferní zařízení od aninditadhikary
- 7segmentové zobrazení podle elektronický učitel
- Konfigurace 7segmentového zobrazení podle učící příď
- LCD displej podle bp.blogspot
- Unipolární a bipolární steppery od inženýrská garáž
- Maticová klávesnice od vetco
- Interní schéma klávesnice podle bp.blogspot