Hlavní elektronické periferie připojené k mikrokontroléru 8051

Vyzkoušejte Náš Nástroj Pro Odstranění Problémů





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í

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

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

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

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

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í

7segmentová tabulka zobrazení

Kruhový diagram

Rozhraní 7segmentového displeje

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 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

Příkazy na LCD displeji

Kruhový diagram:

Rozhraní LCD na mikrokontrolér

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

Typy krokových motorů-1

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.

Typy krokových motorů-2

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

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

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

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

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