Glavna elektronička periferna oprema koja povezuje mikrokontroler 8051

Isprobajte Naš Instrument Za Uklanjanje Problema





Sučeljavanje je jedan od važnih pojmova u mikrokontroler 8051 jer je mikrokontroler CPU koji može izvršiti neku operaciju nad podacima i daje izlaz. Međutim, za izvođenje operacije potreban nam je ulazni uređaj za unos podataka, a zauzvrat izlazni uređaj prikazuje rezultate operacije. Ovdje koristimo tipkovnicu i LCD zaslon kao ulazne i izlazne uređaje zajedno s mikrokontrolerom.

Mikrokontroler 8051 Periferni uređaji

Mikrokontroler 8051 Periferni uređaji



Povezivanje je postupak povezivanja uređaja kako bi mogli razmjenjivati ​​informacije i što se pokazalo lakšim za pisanje programa. Postoje različite vrste ulaznih i izlaznih uređaja prema našim zahtjevima, kao što su LED, LCD, 7segment, tipkovnica, motori i drugi uređaji.


Ovdje su dati neki važni moduli povezani s mikrokontrolerom 8051.



1. LED povezivanje s mikrokontrolerom:

Opis:

LED diode se najčešće koriste u mnogim aplikacijama za pokazivanje izlaza. Pronalaze širok spektar aplikacija kao pokazatelja tijekom testa za provjeru valjanosti rezultata u različitim fazama. Vrlo su jeftini i lako dostupni u raznim oblicima, bojama i veličinama.

Dioda koja emitira svjetlo

Dioda koja emitira svjetlo

Načelo rad LED-a je vrlo lako. Jednostavne LED diode također su poslužitelji kao osnovni uređaji za prikaz, a stanje Uključeno i Isključeno izražava što znači potpune informacije o uređaju. Uobičajene dostupne LED diode imaju pad napona od 1,7 v, što znači da kad primijenimo iznad 1,7 V, dioda provodi. Diodi treba struja od 10 mA da bi svijetlila punim intenzitetom.


Sljedeći sklop opisuje 'kako svijetliti LED diode'.

LED diode mogu se povezati s mikrokontrolerom bilo u uobičajenoj anodi ili u zajedničkoj konfiguraciji katode. Ovdje su LED diode povezane u zajedničku konfiguraciju anode, jer zajednička konfiguracija katode troši više energije.

Kružni dijagram

LED povezivanje s mikrokontrolerom

LED povezivanje s mikrokontrolerom

Izvorni kod:

#include
void main ()
{
nepotpisani int i
dok (1)
{
P0 = 0x00
za (i = 0i<30000i++)
P0 = 0xff
za (i = 0i<30000i++)
}
}

2. 7-segmentni krug za povezivanje zaslona

Opis:
Zaslon od sedam segmenata je najosnovniji elektronički zaslon. Sastoji se od osam LED dioda koje su povezane u slijedu tako da prikazuju znamenke od 0 do 9 kada su uključene odgovarajuće kombinacije LED dioda. Zaslon od 7 segmenata koristi sedam LED dioda za prikaz znamenki od 0 do 9, a 8. LED se koristi za točku. Tipičnih sedam segmenata izgleda kao što je prikazano na donjoj slici.

7-segmentni zaslon

7-segmentni zaslon

Zasloni od 7 segmenata koriste se u brojnim sustavima za prikaz numeričkih podataka. Mogu prikazati po jednu znamenku. Stoga broj korištenih segmenata ovisi o broju znamenki za prikaz. Ovdje se znamenke 0 do 9 prikazuju kontinuirano s unaprijed definiranim vremenskim odmakom.

Zasloni od 7 segmenata dostupni su u dvije konfiguracije koje su zajednička anoda i zajednička katoda. Ovdje se koristi uobičajena konfiguracija anode jer izlazna struja mikrokontrolera nije dovoljna za pogon LED-a. Zaslon od 7 segmenata radi na negativnoj logici, moramo osigurati logiku 0 na odgovarajući pin da bi svijetlilo LED.

Konfiguracije zaslona u 7 segmenata

Konfiguracije zaslona u 7 segmenata

Sljedeća tablica prikazuje heksadecimalne vrijednosti korištene za prikaz različitih znamenki.

7-segmentarna tablica prikaza

7-segmentarna tablica prikaza

Kružni dijagram

7-segmentno sučelje zaslona

7-segmentno sučelje zaslona

Izvorni kod:

#include
sbit a = P3 ^ 0
void main ()
{
nepotpisani znak n [10] = {0x40,0xF9,0x24,0x30,0x19,0x12,0x02,0xF8,0xE00,0x10}
nepotpisan int i, j
a = 1
dok (1)
{
za (i = 0i<10i++)
{
P2 = n [i]
za (j = 0j<60000j++)
}
}
}

3. Povezivanje LCD zaslona s mikrokontrolerom

LCD označava zaslon s tekućim kristalima koji može prikazati znakove u retku. Ovdje LCD zaslon 16 x 2 može prikazati 16 znakova u retku, a postoje 2 retka. Na ovom se LCD-u svaki znak prikazuje u matrici 5 * 7 piksela.

LCD zaslon

LCD zaslon

LCD je vrlo važan uređaj koji se koristi za gotovo sve automatizirane uređaje kao što su perilice rublja, autonomni robot, sustavi za kontrolu snage i drugi uređaji. To se postiže prikazivanjem njihovog statusa na malim zaslonima, poput 7-segmentarnih zaslona, ​​višesegmentnih LED-a itd. Razlozi su što su LCD-ovi prihvatljive cijene, lako se mogu programirati i nemaju ograničenja u prikazu posebnih znakova.

Sastoji se od dva registra, poput registra naredbi / uputa i registra podataka.

Registar naredbi / uputa pohranjuje naredbe dane na LCD-u. Naredba je uputa koja se daje LCD-u koji izvršava skup unaprijed definiranih zadataka poput inicijalizacije, čišćenja zaslona, ​​postavljanja postavljanja kursora, upravljanja prikazom itd.

Registar podataka pohranjuje podatke za prikaz na LCD-u. Podaci su ASCII vrijednost znakova koji će se prikazati na LCD-u.

Radom LCD-a kontroliraju se dvije naredbe. Kada je RS = 0, R / W = 1 čita podatke, a kada je RS = 1, R / W = 0, zapisuje (ispisuje) podatke.

LCD koristi sljedeće naredbene kodove:

Naredbe LCD zaslona

Naredbe LCD zaslona

Kružni dijagram:

LCD povezivanje s mikrokontrolerom

LCD povezivanje s mikrokontrolerom

Izvorni kod:

#include
#define kam P0

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

poništi lcd_initi ()
poništi lcd_dat (nepotpisani znak)
praznina lcd_cmd (nepotpisani znak)
odgoda praznine (nepotpisani int)
prikaz praznine (nepotpisani char * s, nepotpisani char r)
void main ()
{

lcd_initi()
lcd_cmd (0x80)
kašnjenje (100)
zaslon (“EDGEFX TECHLNGS”, 15)
lcd_cmd (0xc0)
zaslon ('KITOVI I RJEŠENJA', 15)
dok (1)
}

prikaz praznine (nepotpisani char * s, nepotpisani char r)
{
nepotpisan int w
za (w = 0w{

lcd_dat (s [w])
}
}

poništi lcd_initi ()
{
lcd_cmd (0x01)
kašnjenje (100)
lcd_cmd (0x38)
kašnjenje (100)
lcd_cmd (0x06)
kašnjenje (100)
lcd_cmd (0x0c)
kašnjenje (100)
}
poništi lcd_dat (nepotpisani znak)
{
češalj = to
rs = 1
rw = 0

u = 1
kašnjenje (100)
u = 0
}
praznina lcd_cmd (nepotpisani char cmd)
{
došao = cmd
rs = 0
rw = 0

u = 1
kašnjenje (100)
u = 0
}
odgoda praznine (nepotpisano int n)
{

nepotpisan int a
za (a = 0a}

4. Spojni krug koračnog motora

Vrste koračnih motora-1

Unipolarni koračni motor

DO koračni motor jedan je od najčešće korištenih motora za precizno kutno kretanje. Prednost upotrebe koračnog motora je u tome što se kutnim položajem motora može upravljati bez ikakvog povratnog mehanizma. Koračni motori se široko koriste u industrijskoj i komercijalnoj primjeni. Također se često koriste kao u pogonskim sustavima kao što su roboti, perilice itd.

Vrste koračnih motora-2

Bipolarni koračni motor

Koračni motori mogu biti unipolarni ili bipolarni i ovdje koristimo unipolarni koračni motor. Unipolarni koračni motor sastoji se od šest žica od kojih su četiri spojene na zavojnicu motora, a dvije uobičajene žice. Svaka uobičajena žica spojena je na izvor napona, a preostale žice spojene su na mikrokontroler.

Kružni dijagram:

Strujni krug koračnog motora

Strujni krug koračnog motora

Izvorni kod:

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

odgoda praznine ()

void main ()
{

dok (1)
{

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

}
}

odgoda praznine ()
{

nepotpisani char i, j, k
za (i = 0i<6i++)
za (j = 0j<255j++)
za (k = 0k<255k++)

}

5. Povezivanje matrične tipkovnice s 8051

Opis:

Matrična tipkovnica

Matrična tipkovnica

Tipkovnica je široko korišten uređaj za unos s puno aplikacija poput telefona, računala, bankomata, elektroničke brave itd. Tipkovnica se koristi za preuzimanje korisničkog unosa radi daljnje obrade. Ovdje je 4 do 3 matrična tipkovnica koja se sastoji od prekidača poredanih u redove i stupce spojen s mikrokontrolerom . LCD 16 x 2 je također povezan za prikaz izlaza.

Koncept povezivanja tipkovnice vrlo je jednostavan. Svakom broju tipkovnice dodijeljena su dva jedinstvena parametra koji su red i stupac (R, C). Stoga se svaki put kad se pritisne tipka broj identificira otkrivanjem brojeva redaka i stupaca tipkovnice.

Interni dijagram tipkovnice

Interni dijagram tipkovnice

U početku regulator postavlja sve retke na nulu (‘0’), a stupci se skeniraju kako bi se provjerilo je li pritisnuta bilo koja tipka. U slučaju da se ne pritisne nijedna tipka, izlaz svih stupaca bit će visok (‘1’).

Kružni dijagram

Matrična tipkovnica povezuje se s 8051

Matrična tipkovnica povezuje se s 8051

Izvorni kod:

#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
poništi lcd_initi ()
poništi lcd_dat (nepotpisani znak)
praznina lcd_cmd (nepotpisani znak)
odgoda praznine (nepotpisani int)
prikaz praznine (nepotpisani char * s, nepotpisani char r)

void main ()
{
lcd_initi()
lcd_cmd (0x80)
kašnjenje (100)
zaslon (“0987654321”, 10)
dok (1)
}

prikaz praznine (nepotpisani char * s, nepotpisani char r)
{

nepotpisan int w
za (w = 0w{

lcd_dat (s [w])
}
}
poništi lcd_initi ()
{
lcd_cmd (0x01)
kašnjenje (100)
lcd_cmd (0x38)
kašnjenje (100)
lcd_cmd (0x06)
kašnjenje (100)
lcd_cmd (0x0c)
kašnjenje (100)
}

poništi lcd_dat (nepotpisani znak)
{
češalj = to
rs = 1
rw = 0

u = 1
kašnjenje (100)
u = 0
}
praznina lcd_cmd (nepotpisani char cmd)
{
došao = cmd
rs = 0
rw = 0

u = 1
kašnjenje (100)
u = 0

}
odgoda praznine (nepotpisano int n)
{

nepotpisan int a
za (a = 0a}
}

Nadamo se da smo uspjeli pružiti dovoljno znanja o osnovnim, ali važnim krugovima povezivanja mikrokontroler 8051 . Ovo su najosnovniji sklopovi potrebni za bilo koju aplikaciju ugrađenog sustava i nadamo se da smo vam pružili dobru reviziju.

Daljnji upit ili povratna informacija vezana uz ovu temu dobrodošla je spomenuti u odjeljku za komentare u nastavku.

Foto bodovi