Galvenās elektroniskās perifērijas ierīces, kas saskaras ar mikrokontrolleru 8051

Izmēģiniet Mūsu Instrumentu Problēmu Novēršanai





Saskarne ir viens no svarīgiem jēdzieniem mikrokontrolleris 8051 jo mikrokontrolleris ir centrālais procesors, kas var veikt kādu darbību ar datiem un dod izvadi. Tomēr, lai veiktu operāciju, mums ir nepieciešama ievades ierīce datu ievadīšanai, savukārt izejas ierīce parāda operācijas rezultātus. Šeit mēs izmantojam tastatūru un LCD displeju kā ievades un izvades ierīces kopā ar mikrokontrolleru.

Mikrokontrolleris 8051 Perifērijas ierīces

Mikrokontrolleris 8051 Perifērijas ierīces



Saskarne ir ierīču savienošanas process, lai tās varētu apmainīties ar informāciju un kas pierāda, ka ir vieglāk rakstīt programmas. Ir dažādi ievades un izvades ierīču veidi kā mūsu prasībām, piemēram, LED, LCD, 7 segmenti, tastatūra, motori un citas ierīces.


Šeit ir doti daži svarīgi moduļi, kas ir saskarnē ar mikrokontrolleru 8051.



1. LED saskarne ar mikrokontrolleru:

Apraksts:

Gaismas diodes visbiežāk izmanto daudzās lietojumprogrammās, lai norādītu izeju. Viņi testa laikā norāda kā milzīgu lietojumu klāstu, lai pārbaudītu rezultātu derīgumu dažādos posmos. Tie ir ļoti lēti un viegli pieejami dažādās formās, krāsās un izmēros.

Gaismas diode

Gaismas diode

Princips gaismas diodes darbība ir ļoti viegli. Vienkārši gaismas diodes arī serveri kā pamata displeja ierīces, tas ir ieslēgts un izslēgts, kas izsaka pilnīgu informāciju par ierīci. Pieejamajiem gaismas diodēm ir 1,7 V sprieguma kritums, kas nozīmē, ka tad, kad mēs izmantojam virs 1,7 V, diode vada. Diodei ir vajadzīga 10mA strāva, lai tā spīdētu ar pilnu intensitāti.


Šajā ķēdē ir aprakstīts, kā 'iedegties gaismas diodes'.

Gaismas diodes var pieslēgt mikrokontrollerim vai nu kopīgā anoda, vai kopīgā katoda konfigurācijā. Šeit gaismas diodes ir savienotas kopējā anoda konfigurācijā, jo kopējā katoda konfigurācija patērē vairāk enerģijas.

Ķēdes shēma

LED saskarne ar mikrokontrolleru

LED saskarne ar mikrokontrolleru

Avota kods:

# iekļaut
anulēt galveno ()
{
neparakstīts int
kamēr (1)
{
P0 = 0x00
par (i = 0i<30000i++)
P0 = 0xff
par (i = 0i<30000i++)
}
}

2. 7 segmentu displeja saskarnes ķēde

Apraksts:
Septiņu segmentu displejs ir visvienkāršākais elektroniskais displejs. Tas sastāv no astoņām gaismas diodēm, kas ir saistītas secīgi, lai parādītu ciparus no 0 līdz 9, kad ir ieslēgtas atbilstošas ​​gaismas diožu kombinācijas. 7 segmentu displejā ciparu no 0 līdz 9 rādīšanai tiek izmantotas septiņas gaismas diodes, un punktam tiek izmantota 8. LED. Tipisks septiņu segmentu izskats patīk, kā parādīts zemāk redzamajā attēlā.

7 segmentu displejs

7 segmentu displejs

Septiņu segmentu displeji tiek izmantoti vairākās sistēmās, lai parādītu skaitlisko informāciju. Viņi vienlaikus var parādīt vienu ciparu. Tādējādi izmantoto segmentu skaits ir atkarīgs no parādāmo ciparu skaita. Šeit cipari no 0 līdz 9 tiek nepārtraukti parādīti ar iepriekš noteiktu laika kavējumu.

7 segmentu displeji ir pieejami divās konfigurācijās, kas ir kopējais anods un kopējais katods. Šeit tiek izmantota kopēja anoda konfigurācija, jo mikrokontrollera izejas strāva nav pietiekama, lai vadītu gaismas diodes. 7 segmentu displejs darbojas pēc negatīvas loģikas, mums ir jānodrošina loģika 0 attiecīgajai tapai, lai LED spīdētu.

7 segmentu displeja konfigurācijas

7 segmentu displeja konfigurācijas

Šajā tabulā ir parādītas sešstūra vērtības, kas tiek izmantotas dažādu ciparu parādīšanai.

7 segmentu displeja tabula

7 segmentu displeja tabula

Ķēdes shēma

7 segmentu displeja saskarne

7 segmentu displeja saskarne

Avota kods:

# iekļaut
sbit a = P3 ^ 0
anulēt galveno ()
{
neparakstīta rakstzīme n [10] = {0x40,0xF9,0x24,0x30,0x19,0x12,0x02,0xF8,0xE00,0x10}
neparakstīts int i, j
a = 1
kamēr (1)
{
par (i = 0i<10i++)
{
P2 = n [i]
par (j = 0j<60000j++)
}
}
}

3. LCD saskarne ar mikrokontrolleru

LCD apzīmē šķidro kristālu displeju, kas var parādīt rakstzīmes katrā rindā. Šeit 16 x 2 LCD displejā var parādīt 16 rakstzīmes katrā rindā, un ir 2 rindas. Šajā LCD katrs raksturs tiek parādīts 5 * 7 pikseļu matricā.

LCD displejs

LCD displejs

LCD ir ļoti svarīga ierīce, ko izmanto gandrīz visām automatizētām ierīcēm, piemēram, veļas mašīnām, autonomam robotam, jaudas kontroles sistēmas un citas ierīces. Tas tiek panākts, parādot to statusu mazos displeja moduļos, piemēram, septiņu septiņu segmentu displejos, daudzu segmentu gaismas diodēs utt. Iemesli ir šādi: LCD ir par saprātīgu cenu, viegli programmējams, un tiem nav ierobežojumu parādīt īpašās rakstzīmes.

Tas sastāv no diviem reģistriem, piemēram, komandu / instrukciju reģistra un datu reģistra.

Komandu / komandu reģistrā tiek glabātas LCD dotās komandu instrukcijas. Komanda ir instrukcija, kas tiek dota LCD, kas veic iepriekš noteiktu uzdevumu kopumu, piemēram, inicializēšanu, ekrāna notīrīšanu, kursora pozēšanas iestatīšanu, displeja vadību utt.

Datu reģistrā tiek saglabāti dati, kas jāparāda LCD. Dati ir LCD parādāmo rakstzīmju ASCII vērtība.

LCD darbību kontrolē divas komandas. Kad RS = 0, R / W = 1, tas nolasa datus un, kad RS = 1, R / W = 0, tad datus raksta (izdrukā).

LCD izmanto šādus komandu kodus:

LCD displeja komandas

LCD displeja komandas

Ķēdes shēma:

LCD saskarne ar mikrokontrolleru

LCD saskarne ar mikrokontrolleru

Avota kods:

# iekļaut
#define kam P0

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

void lcd_initi ()
void lcd_dat (neparakstīta char)
void lcd_cmd (neparakstīta char)
anulēt kavēšanos (neparakstīts int)
tukšs displejs (neparakstītas char * s, neparakstītas char r)
anulēt galveno ()
{

lcd_initi ()
lcd_cmd (0x80)
kavēšanās (100)
displejs (“EDGEFX TECHLNGS”, 15)
lcd_cmd (0xc0)
displejs (“KITS & SOLTIONS”, 15)
kamēr (1)
}

tukšs displejs (neparakstītas char * s, neparakstītas char r)
{
neparakstīts int w
par (w = 0w{

lcd_dat (s [w])
}
}

void lcd_initi ()
{
lcd_cmd (0x01)
kavēšanās (100)
lcd_cmd (0x38)
kavēšanās (100)
lcd_cmd (0x06)
kavēšanās (100)
lcd_cmd (0x0c)
kavēšanās (100)
}
void lcd_dat (neparakstīts char dat)
{
ķemme = tas
rs = 1
rw = 0

in = 1
kavēšanās (100)
in = 0
}
void lcd_cmd (neparakstīts char cmd)
{
nāca = cmd
rs = 0
rw = 0

in = 1
kavēšanās (100)
in = 0
}
void delay (neparakstīts int n)
{

neparakstīts int a
par (a = 0a}

4. Stepper motora saskarnes ķēde

Stepper Motors-1 veidi

Unipolar Stepper motors

TO stepper motors ir viens no visbiežāk izmantotajiem precīzas leņķiskās kustības motoriem. Stepper motora izmantošanas priekšrocība ir tā, ka motora leņķisko stāvokli var kontrolēt bez jebkāda atgriezeniskās saites mehānisma. Stepper motori tiek plaši izmantoti rūpnieciskos un komerciālos nolūkos. Tos parasti izmanto arī tādās piedziņas sistēmās kā roboti, veļas mazgājamās mašīnas utt.

Stepper Motors-2 veidi

Bipolārais soļu motors

Stepper motori var būt vienpolāri vai bipolāri, un šeit mēs izmantojam vienpolu soļu motoru. Vienpolu pakāpienu motors sastāv no sešiem vadiem, no kuriem četri ir savienoti ar motora spoli, un divi ir kopīgi vadi. Katrs kopējais vads ir savienots ar sprieguma avotu, bet pārējie vadi ir savienoti ar mikrokontrolleru.

Ķēdes shēma:

Stepper motora saskarnes ķēde

Stepper motora saskarnes ķēde

Avota kods:

# iekļaut
sbit a = P3 ^ 0
sbit b = P3 ^ 1
sbit c = P3 ^ 2
sbit d = P3 ^ 3

anulēt kavēšanos ()

anulēt galveno ()
{

kamēr (1)
{

a = 0
b = 1
c = 1
d = 1
kavēšanās ()
a = 1
b = 0
c = 1
d = 1
kavēšanās ()
a = 1
b = 1
c = 0
d = 1
kavēšanās ()
a = 1
b = 1
c = 1
d = 0

}
}

anulēt kavēšanos ()
{

neparakstīta char i, j, k
par (i = 0i<6i++)
par (j = 0j<255j++)
par (k = 0k<255k++)

}

5. Matricas tastatūras saskarne ar 8051

Apraksts:

Matricas tastatūra

Matricas tastatūra

Tastatūra ir plaši izmantota ievades ierīce ar daudzām lietojumprogrammām, piemēram, tālruni, datoru, bankomātu, elektronisko slēdzeni utt. Tastatūru izmanto, lai no lietotāja ievadītu ievades informāciju tālākai apstrādei. Šeit ir 4 līdz 3 matricas tastatūra, kas sastāv no slēdžiem, kas sakārtoti rindās un kolonnās saskarni ar mikrokontrolleru . Saskarē ir arī 16 līdz 2 LCD, lai parādītu izvadi.

Tastatūras saskarnes jēdziens ir ļoti vienkāršs. Katram tastatūras numuram tiek piešķirti divi unikāli parametri, kas ir rinda un kolonna (R, C). Tādējādi katru reizi, kad tiek nospiests taustiņš, numuru identificē, nosakot tastatūras rindu un kolonnu numurus.

Tastatūras iekšējā shēma

Tastatūras iekšējā shēma

Sākotnēji visas rindas kontrolieris ir iestatījis uz nulli (‘0’), un kolonnas tiek skenētas, lai pārbaudītu, vai nav nospiests kāds taustiņš. Ja netiek nospiests neviens taustiņš, visu kolonnu izlaide būs augsta (‘1’).

Ķēdes shēma

Matricas tastatūras saskarne ar 8051

Matricas tastatūras saskarne ar 8051

Avota kods:

# iekļaut
#define kam P0
sbit rs = P2 ^ 0
sbit rw = P2 ^ 1
sbit pie = 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 (neparakstīta char)
void lcd_cmd (neparakstīta char)
anulēt kavēšanos (neparakstīts int)
tukšs displejs (neparakstītas char * s, neparakstītas char r)

anulēt galveno ()
{
lcd_initi ()
lcd_cmd (0x80)
kavēšanās (100)
displejs (“0987654321”, 10)
kamēr (1)
}

tukšs displejs (neparakstītas char * s, neparakstītas char r)
{

neparakstīts int w
par (w = 0w{

lcd_dat (s [w])
}
}
void lcd_initi ()
{
lcd_cmd (0x01)
kavēšanās (100)
lcd_cmd (0x38)
kavēšanās (100)
lcd_cmd (0x06)
kavēšanās (100)
lcd_cmd (0x0c)
kavēšanās (100)
}

void lcd_dat (neparakstīts char dat)
{
ķemme = tas
rs = 1
rw = 0

in = 1
kavēšanās (100)
in = 0
}
void lcd_cmd (neparakstīts char cmd)
{
nāca = cmd
rs = 0
rw = 0

in = 1
kavēšanās (100)
in = 0

}
void delay (neparakstīts int n)
{

neparakstīts int a
par (a = 0a}
}

Mēs ceram, ka mums ir izdevies sniegt plašas zināšanas par pamata, tomēr svarīgām saskarnes mikrokontrolleris 8051 . Šīs ir visvienkāršākās shēmas, kas nepieciešamas jebkurā iegultās sistēmas lietojumprogrammā, un mēs ceram, ka mēs esam jums nodrošinājuši labu pārskatīšanu.

Cits vaicājums vai atsauksmes par šo tēmu ir laipni aicināti minēt komentāru sadaļā zemāk.

Fotoattēlu kredīti