Peamised mikrokontrolleriga liidestuvad elektroonilised välisseadmed

Proovige Meie Instrumenti Probleemide Kõrvaldamiseks





Liidestamine on üks olulisi mõisteid mikrokontroller 8051 kuna mikrokontroller on protsessor, mis suudab andmetega teatud toiminguid teha ja annab väljundi. Kuid toimingu sooritamiseks vajame andmete sisestamiseks sisendseadet ja väljundseade kuvab omakorda toimingu tulemused. Siin kasutame sisend- ja väljundseadmetena koos mikrokontrolleriga klaviatuuri ja LCD-ekraani.

Mikrokontroller 8051 Välisseadmed

Mikrokontroller 8051 Välisseadmed



Liidestamine on protsess, mis ühendab seadmed omavahel, et nad saaksid teavet vahetada ja mis osutub programmide kirjutamiseks lihtsamaks. Seal on erinevat tüüpi sisend- ja väljundseadmeid nagu meie nõuded, näiteks LED-id, LCD-d, 7-segmentne, klaviatuur, mootorid ja muud seadmed.


Siin on toodud mõned olulised moodulid, mis on ühendatud mikrokontrolleriga 8051.



1. LED-liides mikrokontrolleriga:

Kirjeldus:

LED-e kasutatakse väljundi näitamiseks kõige sagedamini paljudes rakendustes. Nad leiavad testi ajal näitajatena tohutu hulga rakendusi, et kontrollida tulemuste paikapidavust erinevates etappides. Need on väga odavad ja hõlpsasti saadaval erineva kuju, värvi ja suurusega.

Valgusdiood

Valgusdiood

Põhimõte LED-ide töö on väga lihtne. Lihtsad valgusdioodid serverid on ka põhinäidikuseadmed, olek Sees ja VÄLJAS väljendab seadme täielikku teavet. Tavalistel saadaolevatel LED-idel on 1,7 V pingelangus, mis tähendab, et kui rakendame üle 1,7 V, siis diood juhib. Diood vajab täieliku intensiivsusega hõõgumiseks 10mA voolu.


Järgmises vooluringis kirjeldatakse, kuidas LED-e hõõguda.

LED-sid saab mikrokontrolleriga liidestada kas ühise anoodi või ühise katoodi konfiguratsioonis. Siin on LED-id ühendatud ühise anoodkonfiguratsiooniga, kuna ühine katoodi konfiguratsioon tarbib rohkem energiat.

Vooluringi skeem

LED-liides mikrokontrolleriga

LED-liides mikrokontrolleriga

Lähtekood:

# kaasata
tühine main ()
{
allkirjastamata int
samas (1)
{
P0 = 0x00
jaoks (i = 0i<30000i++)
P0 = 0xff
jaoks (i = 0i<30000i++)
}
}

2. 7-segmendilise ekraani liideseahel

Kirjeldus:
Seitsme segmendi kuva on kõige elementaarsem elektrooniline ekraan. See koosneb kaheksast valgusdioodist, mis on omavahel järjestatud, et kuvada numbreid 0 kuni 9, kui LED-ide korralikud kombinatsioonid on sisse lülitatud. 7-segmendilises ekraanis kasutatakse numbreid 0 kuni 9 seitsme LED-i abil ja 8. LED-i kasutatakse punkti jaoks. Tüüpiline seitse segment näeb välja nagu alloleval joonisel.

7-segmendiline ekraan

7-segmendiline ekraan

Numbrilise teabe kuvamiseks kasutatakse 7-segmendilisi kuvareid paljudes süsteemides. Nad saavad korraga kuvada ühe numbri. Seega sõltub kasutatavate segmentide arv kuvatavate numbrite arvust. Siin kuvatakse numbreid 0 kuni 9 etteantud ajanihkega pidevalt.

7-segmendilised kuvarid on saadaval kahes konfiguratsioonis, mis on tavaline anood ja tavaline katood. Siin kasutatakse tavalist anoodikonfiguratsiooni, kuna mikrokontrolleri väljundvoolust ei piisa LED-ide juhtimiseks. 7-segmendiline ekraan töötab negatiivse loogika alusel, LED-i helendamiseks peame vastava tihvti juurde andma loogika 0.

7-segmendilised ekraanikonfiguratsioonid

7-segmendilised ekraanikonfiguratsioonid

Järgmine tabel näitab erinevate numbrite kuvamiseks kasutatud kuuskantväärtusi.

7-segmendiline tabel

7-segmendiline tabel

Vooluringi skeem

7-segmendiline ekraani liides

7-segmendiline ekraani liides

Lähtekood:

# kaasata
sbit a = P3 ^ 0
tühine main ()
{
allkirjastamata tähis n [10] = {0x40,0xF9,0x24,0x30,0x19,0x12,0x02,0xF8,0xE00,0x10}
allkirjastamata int i, j
a = 1
samas (1)
{
jaoks (i = 0i<10i++)
{
P2 = n [i]
jaoks (j = 0j<60000j++)
}
}
}

3. LCD liides mikrokontrolleriga

LCD tähistab vedelkristallekraani, mis kuvab märke rea kohta. Siin saab 16x2 LCD-ekraanil kuvada 16 märki real ja seal on 2 rida. Selles vedelkristallekraanil kuvatakse iga märk 5 * 7-pikslises maatriksis.

LCD ekraan

LCD ekraan

LCD on väga oluline seade, mida kasutatakse peaaegu kõigi automatiseeritud seadmete jaoks, näiteks pesumasinad, autonoomne robot, võimsuse juhtimissüsteemid ja muud seadmed. See saavutatakse nende oleku kuvamisega väikestel kuvamoodulitel, nagu seitsme-seitsme segmendiga ekraanid, mitme segmendi LED-id jne. Põhjuseks on see, et LCD-d on mõistliku hinnaga, hõlpsasti programmeeritavad ja neil pole erimärkide kuvamiseks mingeid piiranguid.

See koosneb kahest registrist, näiteks käskude / käskude register ja andmeregister.

Käskude / käskude register salvestab LCD-le antud käsklused. Käsk on LCD-le antud käsk, mis täidab etteantud toimingute komplekti, näiteks initsialiseerimine, ekraani puhastamine, kursori poseerimise seadistamine, ekraani juhtimine jne.

Andmeregister salvestab LCD ekraanil kuvatavad andmed. Andmed on LCD-ekraanil kuvatavate märkide ASCII-väärtus.

LCD tööd juhitakse kahe käsuga. Kui RS = 0, R / W = 1, loeb see andmeid ja kui RS = 1, R / W = 0, siis kirjutab (prindib) need andmed.

LCD kasutab järgmisi käsukoode:

LCD ekraani käsud

LCD ekraani käsud

Vooluahela skeem:

LCD liides mikrokontrolleriga

LCD liides mikrokontrolleriga

Lähtekood:

# kaasata
#define kam P0

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

void lcd_initi ()
void lcd_dat (allkirjastamata märk)
void lcd_cmd (märkimata märk)
tühine viivitus (allkirjastamata int)
tühine kuva (allkirjastamata tähed * s, märkimata tähed r)
tühine main ()
{

lcd_initi ()
lcd_cmd (0x80)
viivitus (100)
kuva („EDGEFX TECHLNGS”, 15)
lcd_cmd (0xc0)
kuva (“KITS & SOLTIONS”, 15)
samas (1)
}

tühine kuva (allkirjastamata tähed * s, märkimata tähed r)
{
allkirjastamata int w
jaoks (w = 0w{

lcd_dat (s [w])
}
}

void lcd_initi ()
{
lcd_cmd (0x01)
viivitus (100)
lcd_cmd (0x38)
viivitus (100)
lcd_cmd (0x06)
viivitus (100)
lcd_cmd (0x0c)
viivitus (100)
}
void lcd_dat (allkirjastamata char dat)
{
kamm = see
rs = 1
rw = 0

sisse = 1
viivitus (100)
= 0
}
void lcd_cmd (märkimata sümboli cmd)
{
tuli = cmd
rs = 0
rw = 0

sisse = 1
viivitus (100)
= 0
}
tühine viivitus (allkirjastamata int n)
{

allkirjastamata int a
jaoks (a = 0a}

4. Samm-mootori liideseahel

Stepper-mootorite tüübid-1

Unipolaarne samm-mootor

TO samm-mootor on täpse nurkliikumise jaoks üks kõige sagedamini kasutatav mootor. Samm-mootori kasutamise eeliseks on see, et mootori nurga asukohta saab juhtida ilma igasuguse tagasisidemehhanismita. Astmemootoreid kasutatakse laialdaselt tööstuslikes ja kaubanduslikes rakendustes. Neid kasutatakse tavaliselt ka ajamisüsteemides nagu robotid, pesumasinad jne.

Stepper Motors-2 tüübid

Bipolaarne samm-mootor

Samm-mootorid võivad olla ühepolaarsed või bipolaarsed ja siin kasutame unipolaarseid samm-mootoreid. Unpolaarne samm-mootor koosneb kuuest juhtmest, millest neli on ühendatud mootori mähisega ja kaks on tavalised juhtmed. Iga ühine juhe on ühendatud pingeallikaga ja ülejäänud juhtmed on ühendatud mikrokontrolleriga.

Vooluahela skeem:

Samm-mootori liideseahel

Samm-mootori liideseahel

Lähtekood:

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

tühine viivitus ()

tühine main ()
{

samas (1)
{

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

}
}

tühine viivitus ()
{

allkirjastamata tähed i, j, k
jaoks (i = 0i<6i++)
jaoks (j = 0j<255j++)
jaoks (k = 0k<255k++)

}

5. Maatriksiklahvistik liidesega 8051

Kirjeldus:

Maatriksiklaviatuur

Maatriksiklaviatuur

Klahvistik on laialt kasutatav sisendseade, millel on palju rakendusi, näiteks telefon, arvuti, sularahaautomaat, elektrooniline lukk jne. Klahvistikku kasutatakse kasutaja sisendi edasiseks töötlemiseks. Siin on 4x3-maatriksiline klaviatuur, mis koosneb ridadesse ja veergudesse paigutatud lülititest liidetud mikrokontrolleriga . Väljundi kuvamiseks on liidestatud ka 16 × 2 LCD.

Klahvistiku liidesekontseptsioon on väga lihtne. Igale klahvistiku numbrile määratakse kaks unikaalset parameetrit, mis on rida ja veerg (R, C). Seega iga klahvi vajutamisel tuvastatakse number klahvistiku rea- ja veerunumbrite tuvastamise teel.

Klahvistiku sisemine skeem

Klahvistiku sisemine skeem

Esialgu määrab kontroller kõik read nulli (‘0’) ja veerud skannitakse, et kontrollida, kas mõnda klahvi pole vajutatud. Kui klahvi ei vajutata, on kõigi veergude väljund kõrge (‘1’).

Vooluringi skeem

Maatriksi klahvistik liidesega 8051

Maatriksi klahvistik liidesega 8051

Lähtekood:

# kaasata
#define kam P0
sbit rs = P2 ^ 0
sbit rw = P2 ^ 1
sbit juures = 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 (allkirjastamata märk)
void lcd_cmd (märkimata märk)
tühine viivitus (allkirjastamata int)
tühine kuva (allkirjastamata tähed * s, märkimata tähed r)

tühine main ()
{
lcd_initi ()
lcd_cmd (0x80)
viivitus (100)
kuva („0987654321”, 10)
samas (1)
}

tühine kuva (allkirjastamata tähed * s, märkimata tähed r)
{

allkirjastamata int w
jaoks (w = 0w{

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

void lcd_dat (allkirjastamata char dat)
{
kamm = see
rs = 1
rw = 0

sisse = 1
viivitus (100)
= 0
}
void lcd_cmd (märkimata sümboli cmd)
{
tuli = cmd
rs = 0
rw = 0

sisse = 1
viivitus (100)
= 0

}
tühine viivitus (allkirjastamata int n)
{

allkirjastamata int a
jaoks (a = 0a}
}

Loodame, et oleme suutnud pakkuda piisavalt teadmisi põhiliste, kuid siiski oluliste liideseahelate kohta mikrokontroller 8051 . Need on kõigis manustatud süsteemirakendustes nõutavad kõige tavalisemad vooluringid ja loodame, et oleme pakkunud teile hea versiooni.

Selle teemaga seotud täiendavat päringut või tagasisidet võib mainida allpool olevas kommentaaride jaotises.

Foto autorid