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
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
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
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
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
Sljedeća tablica prikazuje heksadecimalne vrijednosti korištene za prikaz različitih znamenki.
7-segmentarna tablica prikaza
Kružni dijagram
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 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
Kružni dijagram:
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
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.
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
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
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
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
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
- Mikrokontroler 8051 Periferni uređaji od aninditadhikary
- 7-segmentni prikaz po učitelj elektronike
- 7-segmentne konfiguracije zaslona thelearningpit
- LCD zaslon od bp.blogspot
- Unipolarni i bipolarni stepenici by inženjerska garaža
- Matrična tipkovnica by vetco
- Interni dijagram tipkovnice od bp.blogspot