Povezovanje je eden pomembnih konceptov v mikrokrmilnik 8051 ker je mikrokrmilnik CPU, ki lahko izvede določeno operacijo podatkov in daje izhodne podatke. Vendar pa za izvedbo operacije potrebujemo vhodno napravo za vnos podatkov, nato pa izhodna naprava prikaže rezultate operacije. Tu uporabljamo tipkovnico in LCD zaslon kot vhodno in izhodno napravo skupaj z mikrokrmilnikom.
Mikrokrmilnik 8051 Periferne naprave
Vzpostavljanje povezav je postopek povezovanja naprav, tako da si lahko izmenjujejo informacije in zaradi česar je lažje pisati programe. Glede na naše potrebe obstajajo različne vrste vhodnih in izhodnih naprav, kot so LED, LCD, 7segment, tipkovnica, motorji in druge naprave.
Tu je podanih nekaj pomembnih modulov, povezanih z mikrokrmilnikom 8051.
1. Povezava LED z mikrokrmilnikom:
Opis:
LED diode se najpogosteje uporabljajo v številnih aplikacijah za prikaz izhoda. Kot test med preizkusom najdejo ogromno aplikacij za preverjanje veljavnosti rezultatov v različnih fazah. So zelo poceni in lahko dostopni v različnih oblikah, barvah in velikostih.
Svetleča dioda
Načelo delovanje LED je zelo enostavno. Preproste LED diode so tudi strežniki kot osnovne prikazovalne naprave, stanje Vklop in Izklop pa pomeni popolne informacije o napravi. Običajne razpoložljive LED imajo 1,7-voltni padec napetosti, kar pomeni, da ko uporabimo nad 1,7 V, dioda prevaja. Dioda potrebuje 10mA toka, da sveti s polno jakostjo.
Naslednje vezje opisuje 'kako žariti LED'.
LED-diode se lahko povežejo z mikrokrmilnikom bodisi v običajni konfiguraciji anode bodisi v skupni katodi. Tu so LED diode povezane v skupno konfiguracijo anod, ker skupna konfiguracija katode porabi več energije.
Shema vezja
LED vmesnik z mikrokrmilnikom
Izvorna koda:
#include
void main ()
{
nepodpisani int i
medtem ko (1)
{
P0 = 0x00
za (i = 0i<30000i++)
P0 = 0xff
za (i = 0i<30000i++)
}
}
2. 7-segmentno vezno vezje zaslona
Opis:
Sedemsegmentni zaslon je najosnovnejši elektronski zaslon. Sestavljen je iz osmih LED, ki so povezane zaporedno, tako da prikažejo številke od 0 do 9, ko so vklopljene ustrezne kombinacije LED. 7-segmentni zaslon uporablja sedem LED za prikaz številk od 0 do 9, osma LED pa se uporablja za pike. Tipičen sedem segmentov je videti všeč, kot je prikazano na spodnji sliki.
7-segmentni zaslon
7-segmentni zasloni se v številnih sistemih uporabljajo za prikaz številčnih informacij. Naenkrat lahko prikažejo eno števko. Tako je število uporabljenih segmentov odvisno od števila prikazanih številk. Tu so številke od 0 do 9 neprekinjeno prikazane z vnaprej določenim časovnim zamikom.
7-segmentni zasloni so na voljo v dveh konfiguracijah, ki sta skupna anoda in skupna katoda. Tu se uporablja običajna anodna konfiguracija, ker izhodni tok mikrokrmilnika ne zadostuje za pogon LED. 7-segmentni zaslon deluje na negativno logiko, na ustrezen zatič moramo vnesti logiko 0, da zasveti LED.
7-segmentne konfiguracije zaslona
Naslednja tabela prikazuje šestnajstiške vrednosti, ki se uporabljajo za prikaz različnih številk.
7-segmentna prikazna tabela
Shema vezja
Vmesnik 7-segmentnega zaslona
Izvorna koda:
#include
sbit a = P3 ^ 0
void main ()
{
nepodpisani znak n [10] = {0x40,0xF9,0x24,0x30,0x19,0x12,0x02,0xF8,0xE00,0x10}
nepodpisan int i, j
a = 1
medtem ko (1)
{
za (i = 0i<10i++)
{
P2 = n [i]
za (j = 0j<60000j++)
}
}
}
3. Povezava LCD z mikrokrmilnikom
LCD pomeni zaslon s tekočimi kristali, ki lahko prikazuje znake v vrstici. Tu lahko 16-kratni LCD zaslon prikaže 16 znakov na vrstico, obstajajo pa dve vrstici. Na tem LCD-ju je vsak znak prikazan v matriki 5 * 7 slikovnih pik.
LCD zaslon
LCD je zelo pomembna naprava, ki se uporablja za skoraj vse avtomatizirane naprave, kot so pralni stroji, avtonomni robot, sistemi za nadzor moči in druge naprave. To se doseže s prikazom njihovega stanja na majhnih prikazovalnih modulih, kot so 7-sedemsegmentni prikazovalniki, večsegmentne LED itd. Razlogi za to so, da imajo LCD-ji cenovno ugodne cene, jih je mogoče enostavno programirati in nimajo omejitev glede prikazovanja posebnih znakov.
Sestavljen je iz dveh registrov, kot sta register ukazov / navodil in podatkovni register.
V registru ukazov / navodil so shranjena ukazna navodila, dana LCD-ju. Ukaz je navodilo, ki ga dobi LCD, ki izvaja nabor vnaprej določenih nalog, kot so inicializacija, čiščenje zaslona, nastavitev položaja kurzorja, nadzor zaslona itd.
V podatkovnem registru so shranjeni podatki za prikaz na LCD-prikazovalniku. Podatki so ASCII vrednost znakov, ki se prikažejo na LCD-prikazovalniku.
Delovanje LCD-ja nadzorujeta dva ukaza. Ko je RS = 0, R / W = 1, bere podatke, in ko je RS = 1, R / W = 0, zapisuje (natisne) podatke.
LCD uporablja naslednje ukazne kode:
Ukazi na LCD zaslonu
Shema vezja:
Povezava LCD z mikrokrmilnikom
Izvorna koda:
#include
#define kam P0
sbit rs = P2 ^ 0
sbit rw = P2 ^ 1
sbit pri = P2 ^ 2
neveljavno lcd_initi ()
void lcd_dat (nepodpisani znak)
void lcd_cmd (nepodpisani znak)
zamuda za praznino (nepodpisan int)
prikaz praznine (nepodpisani znaki *, nepodpisani znaki r)
void main ()
{
lcd_initi ()
lcd_cmd (0x80)
zamuda (100)
zaslon (“EDGEFX TECHLNGS”, 15)
lcd_cmd (0xc0)
zaslon (“KITS & SOLTIONS”, 15)
medtem ko (1)
}
prikaz praznine (nepodpisani znaki *, nepodpisani znaki r)
{
nepodpisan int w
za (w = 0w
lcd_dat (s [w])
}
}
neveljavno lcd_initi ()
{
lcd_cmd (0x01)
zamuda (100)
lcd_cmd (0x38)
zamuda (100)
lcd_cmd (0x06)
zamuda (100)
lcd_cmd (0x0c)
zamuda (100)
}
neveljavno lcd_dat (nepodpisani znak char)
{
glavnik = to
rs = 1
rw = 0
v = 1
zamuda (100)
v = 0
}
void lcd_cmd (nepodpisani char cmd)
{
prišel = cmd
rs = 0
rw = 0
v = 1
zamuda (100)
v = 0
}
zamuda pred praznino (nepodpisan int n)
{
nepodpisan int a
za (a = 0a
4. Vezje koračnega motorja
Enopolni koračni motor
TO koračni motor je eden najpogosteje uporabljenih motorjev za natančno kotno gibanje. Prednost uporabe koračnega motorja je v tem, da je kotni položaj motorja mogoče nadzorovati brez kakršnega koli povratnega mehanizma. Koračni motorji se pogosto uporabljajo v industrijski in komercialni uporabi. Pogosto se uporabljajo tudi v pogonskih sistemih, kot so roboti, pralni stroji itd.
Bipolarni koračni motor
Koračni motorji so lahko enopolarni ali bipolarni in tu uporabljamo unipolarni koračni motor. Enopolni koračni motor je sestavljen iz šestih žic, od katerih so štiri povezane na tuljavo motorja in dve običajni žici. Vsaka skupna žica je priključena na vir napetosti, preostale žice pa na mikrokrmilnik.
Shema vezja:
Vezje koračnega motorja
Izvorna koda:
#include
sbit a = P3 ^ 0
sbit b = P3 ^ 1
sbit c = P3 ^ 2
sbit d = P3 ^ 3
zamuda praznine ()
void main ()
{
medtem ko (1)
{
a = 0
b = 1
c = 1
d = 1
zamuda ()
a = 1
b = 0
c = 1
d = 1
zamuda ()
a = 1
b = 1
c = 0
d = 1
zamuda ()
a = 1
b = 1
c = 1
d = 0
}
}
zamuda praznine ()
{
nepodpisani znak i, j, k
za (i = 0i<6i++)
za (j = 0j<255j++)
za (k = 0k<255k++)
}
5. Matrično povezovanje tipkovnice z 8051
Opis:
Matrična tipkovnica
Tipkovnica je široko uporabljena vhodna naprava z veliko aplikacijami, kot so telefon, računalnik, bankomat, elektronska ključavnica itd. Tipkovnica se uporablja za sprejem vnosa od uporabnika za nadaljnjo obdelavo. Tu je matrična tipkovnica 4 na 3, sestavljena iz stikal, razporejenih v vrstice in stolpce povezan z mikrokrmilnikom . Za prikaz izhoda je povezan tudi 16 x 2 LCD.
Koncept povezovanja tipkovnice je zelo preprost. Vsaki številki tipkovnice sta dodeljena dva edinstvena parametra, ki sta vrstica in stolpec (R, C). Vsakokrat, ko pritisnete tipko, se številka prepozna tako, da zazna številke vrstic in stolpcev tipkovnice.
Notranji diagram tipkovnice
Krmilnik sprva vse vrstice nastavi na nič ('0') in stolpce pregleda, da preveri, ali je pritisnjena katera koli tipka. Če ne pritisnete nobene tipke, bo izhod vseh stolpcev visok ('1').
Shema vezja
Matrično povezovanje tipkovnice z 8051
Izvorna koda:
#include
#define kam P0
sbit rs = P2 ^ 0
sbit rw = P2 ^ 1
sbit pri = 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
neveljavno lcd_initi ()
void lcd_dat (nepodpisani znak)
void lcd_cmd (nepodpisani znak)
zamuda za praznino (nepodpisan int)
prikaz praznine (nepodpisani znaki *, nepodpisani znaki r)
void main ()
{
lcd_initi ()
lcd_cmd (0x80)
zamuda (100)
zaslon (“0987654321”, 10)
medtem ko (1)
}
prikaz praznine (nepodpisani znaki *, nepodpisani znaki r)
{
nepodpisan int w
za (w = 0w
lcd_dat (s [w])
}
}
neveljavno lcd_initi ()
{
lcd_cmd (0x01)
zamuda (100)
lcd_cmd (0x38)
zamuda (100)
lcd_cmd (0x06)
zamuda (100)
lcd_cmd (0x0c)
zamuda (100)
}
neveljavno lcd_dat (nepodpisani znak char)
{
glavnik = to
rs = 1
rw = 0
v = 1
zamuda (100)
v = 0
}
void lcd_cmd (nepodpisani char cmd)
{
prišel = cmd
rs = 0
rw = 0
v = 1
zamuda (100)
v = 0
}
zamuda pred praznino (nepodpisan int n)
{
nepodpisan int a
za (a = 0a
}
Upamo, da smo lahko zagotovili dovolj znanja o osnovnih, a pomembnih povezovalnih tokokrogih mikrokrmilnik 8051 . To so najosnovnejša vezja, ki jih zahteva katera koli vdelana sistemska aplikacija, in upamo, da smo vam zagotovili dobro revizijo.
V spodnjem oddelku za komentar je dobrodošlo omeniti nadaljnje poizvedbe ali povratne informacije, povezane s to temo.
Foto krediti
- Mikrokrmilnik 8051 Periferne naprave avtor aninditadhikary
- 7-segmentni prikaz po učitelj elektronike
- 7-segmentne konfiguracije zaslona thelearningpit
- LCD zaslon do bp.blogspot
- Unipolarni in bipolarni koraki avtor inženirska garaža
- Matrična tipkovnica vetco
- Notranji diagram tipkovnice avtor bp.blogspot