Pagrindiniai elektroniniai periferiniai įrenginiai, sąsajos su mikrovaldikliu 8051

Išbandykite Mūsų Instrumentą, Kaip Pašalinti Problemas





Sąsajos yra viena iš svarbiausių sąvokų mikrovaldiklis 8051 nes mikrovaldiklis yra procesorius, galintis atlikti tam tikrą duomenų operaciją ir suteikti išvestį. Tačiau norint atlikti operaciją mums reikia įvesties įrenginio, kad įvestume duomenis, o savo ruožtu išvesties įrenginys rodo operacijos rezultatus. Čia mes naudojame klaviatūrą ir LCD ekraną kaip įvesties ir išvesties įrenginius kartu su mikrovaldikliu.

Mikrovaldiklis 8051 Periferiniai įrenginiai

Mikrovaldiklis 8051 Periferiniai įrenginiai



Sąsaja - tai prietaisų sujungimo procesas, kad jie galėtų keistis informacija, ir paaiškėja, kad lengviau rašyti programas. Yra įvairių tipų įvesties ir išvesties įrenginių, tokių kaip mūsų reikalavimai, pavyzdžiui, šviesos diodai, skystųjų kristalų ekranai, 7 segmentai, klaviatūra, varikliai ir kiti įrenginiai.


Čia pateikiami keli svarbūs moduliai, susieti su mikrovaldikliu 8051.



1. LED sąsaja su mikrovaldikliu:

Apibūdinimas:

Šviesos diodai dažniausiai naudojami daugelyje programų, nurodant išvestį. Jie bandymų metu nurodo didžiulį pritaikymų spektrą, kad patikrintų rezultatų pagrįstumą įvairiais etapais. Jie yra labai pigūs ir lengvai prieinami įvairios formos, spalvos ir dydžio.

Šviesos diodas

Šviesos diodas

Principas šviesos diodų veikimas yra labai lengva. Paprasti šviesos diodai taip pat tarnauja kaip pagrindiniai rodymo įrenginiai, o įjungimo ir išjungimo būsenos reiškia visą informaciją apie įrenginį. Bendri turimi šviesos diodai turi 1,7 V įtampos kritimą, o tai reiškia, kad kai mes veikiame virš 1,7 V, diodas praleidžia. Diodui reikia 10mA srovės, kad švytėtų visu intensyvumu.


Šioje grandinėje aprašyta „kaip švyti šviesos diodai“.

Šviesos diodai gali būti susieti su mikrovaldikliu, naudojant bendrą anodo arba bendros katodo konfigūraciją. Čia šviesos diodai yra prijungti pagal bendrą anodo konfigūraciją, nes bendra katodo konfigūracija sunaudoja daugiau energijos.

Grandinės schema

LED sąsaja su mikrovaldikliu

LED sąsaja su mikrovaldikliu

Pirminis kodas:

# įtraukti
negaliojantis pagrindinis ()
{
nepasirašytas int
o (1)
{
P0 = 0x00
už (i = 0i<30000i++)
P0 = 0xff
už (i = 0i<30000i++)
}
}

2. 7 segmentų ekrano sąsajos grandinė

Apibūdinimas:
Septynių segmentų ekranas yra paprasčiausias elektroninis ekranas. Jį sudaro aštuoni šviesos diodai, kurie yra susieti nuosekliai, kad būtų rodomi skaitmenys nuo 0 iki 9, kai įjungiami tinkami šviesos diodų deriniai. 7 segmentų ekrane naudojami septyni šviesos diodai, rodantys skaitmenis nuo 0 iki 9, o 8-asis LED naudojamas taškui. Tipiškas septynių segmentų išvaizda patinka, kaip parodyta paveikslėlyje žemiau.

7 segmentų ekranas

7 segmentų ekranas

Skaitmeninei informacijai rodyti 7 segmentų ekranai naudojami daugelyje sistemų. Jie vienu metu gali rodyti po vieną skaitmenį. Taigi naudojamų segmentų skaičius priklauso nuo rodomų skaitmenų skaičiaus. Čia skaitmenys nuo 0 iki 9 rodomi nuolat, iš anksto nustatytu laiku.

7 segmentų ekranus galima įsigyti dviem konfigūracijomis, kurios yra bendras anodas ir bendras katodas. Čia naudojama įprasta anodo konfigūracija, nes mikrovaldiklio išėjimo srovės nepakanka šviesos diodams valdyti. 7 segmentų ekranas veikia pagal neigiamą logiką, mes turime pateikti logiką 0 į atitinkamą kaištį, kad LED švytėtų.

7 segmentų ekrano konfigūracijos

7 segmentų ekrano konfigūracijos

Šioje lentelėje pateikiamos šešiakampės vertės, naudojamos skirtingiems skaitmenims rodyti.

7 segmentų rodymo lentelė

7 segmentų rodymo lentelė

Grandinės schema

7 segmentų ekrano sąsaja

7 segmentų ekrano sąsaja

Pirminis kodas:

# įtraukti
sbit a = P3 ^ 0
negaliojantis pagrindinis ()
{
nepasirašyta simbolis n [10] = {0x40,0xF9,0x24,0x30,0x19,0x12,0x02,0xF8,0xE00,0x10}
nepasirašytas int i, j
a = 1
o (1)
{
už (i = 0i<10i++)
{
P2 = n [i]
už (j = 0j<60000j++)
}
}
}

3. LCD sąsaja su mikrovaldikliu

LCD reiškia skystųjų kristalų ekraną, kuris gali rodyti simbolius vienoje eilutėje. Čia 16 x 2 skystųjų kristalų ekranas gali rodyti 16 simbolių vienoje eilutėje ir yra 2 eilutės. Šiame LCD ekrane kiekvienas simbolis rodomas 5 * 7 taškų matrica.

LCD ekranas

LCD ekranas

Skystųjų kristalų ekranas yra labai svarbus prietaisas, naudojamas beveik visiems automatiniams prietaisams, tokiems kaip skalbimo mašinos, autonominis robotas, galios valdymo sistemos ir kiti prietaisai. Tai pasiekiama rodant jų būseną mažuose ekranų moduliuose, pvz., 7–7 segmentų ekranuose, kelių segmentų šviesos dioduose ir kt. Priežastys yra tai, kad skystųjų kristalų ekranai yra prieinamos kainos, lengvai programuojami ir jiems nėra jokių apribojimų rodyti specialiuosius simbolius.

Ją sudaro du registrai, tokie kaip komandų / komandų registras ir duomenų registras.

Komandų / komandų registre saugomos LCD nurodytos komandos. Komanda yra instrukcija, suteikiama skystųjų kristalų ekranui, kuris atlieka iš anksto nustatytų užduočių rinkinį, pvz., Inicializavimą, ekrano išvalymą, žymeklio pozavimo nustatymą, ekrano valdymą ir kt.

Duomenų registre saugomi duomenys, kurie turi būti rodomi LCD. Duomenys yra simbolių, rodomų LCD, ASCII reikšmė.

Skystųjų kristalų ekraną valdo dvi komandos. Kai RS = 0, R / W = 1, ji nuskaito duomenis, o kai RS = 1, R / W = 0, tai duomenis rašo (spausdina).

LCD naudoja šiuos komandų kodus:

LCD ekrano komandos

LCD ekrano komandos

Grandinės schema:

LCD sąsaja su mikrovaldikliu

LCD sąsaja su mikrovaldikliu

Pirminis kodas:

# įtraukti
#define kam P0

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

negaliojantis lcd_initi ()
void lcd_dat (nepasirašyta simbolis)
void lcd_cmd (nepasirašyta simbolis)
negaliojantis uždelsimas (nepasirašytas int)
negaliojantis ekranas (nepasirašyti simboliai * s, nepasirašyti simboliai)
negaliojantis pagrindinis ()
{

lcd_initi ()
lcd_cmd (0x80)
vėlavimas (100)
ekranas („EDGEFX TECHLNGS“, 15)
lcd_cmd (0xc0)
ekranas („KITS & SOLTIONS“, 15)
o (1)
}

negaliojantis ekranas (nepasirašyti simboliai * s, nepasirašyti simboliai)
{
nepasirašytas int
už (w = 0w{

„lcd_dat“ (s [w])
}
}

negaliojantis lcd_initi ()
{
lcd_cmd (0x01)
vėlavimas (100)
lcd_cmd (0x38)
vėlavimas (100)
lcd_cmd (0x06)
vėlavimas (100)
lcd_cmd (0x0c)
vėlavimas (100)
}
void lcd_dat (nepasirašytas char dat)
{
šukos = tai
rs = 1
rw = 0

= 1
vėlavimas (100)
= 0
}
void lcd_cmd (nepasirašytas char cmd)
{
atėjo = cmd
rs = 0
rw = 0

= 1
vėlavimas (100)
= 0
}
negaliojantis delsimas (nepasirašytas int n)
{

nepasirašytas int a
už (a = 0a}

4. Žingsninio variklio sąsajos grandinė

Žingsninių variklių tipai-1

„Unipolar Stepper“ variklis

Į žingsninis variklis yra vienas iš dažniausiai naudojamų variklių tiksliam kampiniam judėjimui. Žingsninio variklio naudojimo privalumas yra tas, kad variklio kampinę padėtį galima valdyti be jokio grįžtamojo ryšio mechanizmo. Žingsniniai varikliai yra plačiai naudojami pramonėje ir komercijoje. Jie taip pat dažnai naudojami kaip pavaros sistemose, tokiose kaip robotai, skalbimo mašinos ir kt.

Žingsninių variklių tipai-2

Bipolinis žingsninis variklis

Žingsniniai varikliai gali būti vienpoliai arba dvipoliai, ir čia mes naudojame vienpolius žingsninius variklius. Vienpolį žingsninį variklį sudaro šeši laidai, iš kurių keturi yra prijungti prie variklio ritės, o du yra bendri laidai. Kiekvienas bendras laidas yra prijungtas prie įtampos šaltinio, o likę laidai - prie mikrovaldiklio.

Grandinės schema:

Žingsninio variklio sąsajos grandinė

Žingsninio variklio sąsajos grandinė

Pirminis kodas:

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

negaliojantis atidėjimas ()

negaliojantis pagrindinis ()
{

o (1)
{

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

}
}

negaliojantis atidėjimas ()
{

nepasirašyta char i, j, k
už (i = 0i<6i++)
už (j = 0j<255j++)
už (k = 0k<255k++)

}

5. Matricos klaviatūra susieta su 8051

Apibūdinimas:

„Matrix“ klaviatūra

„Matrix“ klaviatūra

Klaviatūra yra plačiai naudojamas įvesties įrenginys, turintis daugybę programų, tokių kaip telefonas, kompiuteris, bankomatas, elektroninis užraktas ir kt. Klaviatūra naudojama vartotojui įvedant informaciją tolesniam apdorojimui. Čia yra 4: 3 matricos klaviatūra, susidedanti iš eilutėse ir stulpeliuose išdėstytų jungiklių susieta su mikrovaldikliu . Taip pat sąsaja yra 16 x 2 skystųjų kristalų ekranas, rodantis išvestį.

Klaviatūros sąsajos sąvoka yra labai paprasta. Kiekvienam klaviatūros numeriui priskiriami du unikalūs parametrai, kurie yra eilutė ir stulpelis (R, C). Taigi kiekvieną kartą paspaudus klavišą skaičius identifikuojamas nustatant klaviatūros eilių ir stulpelių numerius.

Klaviatūros vidinė schema

Klaviatūros vidinė schema

Iš pradžių valdiklis nustato visas eilutes į nulį („0“) ir nuskaito stulpelius, kad patikrintų, ar nepaspaudžiamas kuris nors klavišas. Jei nespausite jokio klavišo, visų stulpelių išvestis bus didelė (‘1’).

Grandinės schema

Matricos klaviatūra susieta su 8051

Matricos klaviatūra susieta su 8051

Pirminis kodas:

# įtraukti
#define kam P0
sbit rs = P2 ^ 0
sbit rw = P2 ^ 1
sbit = 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
negaliojantis lcd_initi ()
void lcd_dat (nepasirašyta simbolis)
void lcd_cmd (nepasirašyta simbolis)
negaliojantis uždelsimas (nepasirašytas int)
negaliojantis ekranas (nepasirašyti simboliai * s, nepasirašyti simboliai)

negaliojantis pagrindinis ()
{
lcd_initi ()
lcd_cmd (0x80)
vėlavimas (100)
ekranas („0987654321“, 10)
o (1)
}

negaliojantis ekranas (nepasirašyti simboliai * s, nepasirašyti simboliai)
{

nepasirašytas int
už (w = 0w{

„lcd_dat“ (s [w])
}
}
negaliojantis lcd_initi ()
{
lcd_cmd (0x01)
vėlavimas (100)
lcd_cmd (0x38)
vėlavimas (100)
lcd_cmd (0x06)
vėlavimas (100)
lcd_cmd (0x0c)
vėlavimas (100)
}

void lcd_dat (nepasirašytas char dat)
{
šukos = tai
rs = 1
rw = 0

= 1
vėlavimas (100)
= 0
}
void lcd_cmd (nepasirašytas char cmd)
{
atėjo = cmd
rs = 0
rw = 0

= 1
vėlavimas (100)
= 0

}
negaliojantis delsimas (nepasirašytas int n)
{

nepasirašytas int a
už (a = 0a}
}

Tikimės, kad mums pavyko suteikti pakankamai žinių apie pagrindines, tačiau svarbias mikrovaldiklis 8051 . Tai yra paprasčiausios grandinės, reikalingos bet kurioje įterptosios sistemos programoje, ir mes tikimės, kad mes suteikėme jums gerą pakeitimą.

Tolesnę užklausą ar atsiliepimus, susijusius su šia tema, galima paminėti žemiau esančiame komentarų skyriuje.

Nuotraukų kreditai