Perifèrics electrònics principals relacionats amb el microcontrolador 8051

Proveu El Nostre Instrument Per Eliminar Problemes





La interfície és un dels conceptes importants de microcontrolador 8051 perquè el microcontrolador és una CPU que pot realitzar alguna operació en una dada i dóna la sortida. No obstant això, per realitzar l'operació necessitem un dispositiu d'entrada per introduir les dades i al seu torn el dispositiu de sortida mostra els resultats de l'operació. Aquí utilitzem el teclat i la pantalla LCD com a dispositius d’entrada i sortida juntament amb el microcontrolador.

Microcontrolador 8051 Dispositius perifèrics

Microcontrolador 8051 Dispositius perifèrics



La interfície és el procés de connectar dispositius junts perquè puguin intercanviar la informació i això resulti més fàcil d’escriure els programes. Hi ha diferents tipus de dispositius d’entrada i sortida pel que fa als nostres requisits, com ara LEDs, LCD, 7 segments, teclat, motors i altres dispositius.


Aquí es donen alguns mòduls importants interfaciats amb el microcontrolador 8051.



1. Interfície LED amb microcontrolador:

Descripció:

Els LED s’utilitzen amb més freqüència en moltes aplicacions per indicar la sortida. Troben una gran quantitat d'aplicacions com a indicadors durant la prova per comprovar la validesa dels resultats en diferents etapes. Són molt econòmics i són fàcilment disponibles en una gran varietat de formes, colors i mides.

Díode emissor de llum

Díode emissor de llum

El principi de funcionament de LEDs és molt fàcil. Un LED senzill també serveix com a dispositiu de visualització bàsic, en estat ON i OFF expressa informació completa sobre un dispositiu. Els LED disponibles més habituals tenen una caiguda de voltatge d’1,7 V que significa que quan apliquem per sobre d’1,7 V, el díode condueix. El díode necessita corrent de 10 mA per brillar amb plena intensitat.


El següent circuit descriu 'com encendre els LED'.

Els LED es poden connectar al microcontrolador en configuració d'ànode comú o càtode comú. Aquí els LED estan connectats en una configuració d'ànode comuna perquè la configuració de càtode comuna consumeix més energia.

Esquema de connexions

Interfície LED amb microcontrolador

Interfície LED amb microcontrolador

Codi font:

#incloure
void main ()
{
unsigned int i
mentre que (1)
{
P0 = 0x00
per a (i = 0i<30000i++)
P0 = 0xff
per a (i = 0i<30000i++)
}
}

2. Circuit d'interfície de visualització de 7 segments

Descripció:
Una pantalla de set segments és la pantalla electrònica més bàsica. Consta de vuit LEDs que s’associen de manera seqüencial per mostrar els dígits del 0 al 9 quan s’encenen les combinacions adequades de LED. Una pantalla de 7 segments utilitza set LED per mostrar dígits del 0 al 9 i el vuitè LED s’utilitza per al punt. Un segment típic de set aspecte té gustos, tal com es mostra a la següent figura

Pantalla de 7 segments

Pantalla de 7 segments

Les pantalles de 7 segments s’utilitzen en diversos sistemes per mostrar la informació numèrica. Poden mostrar un dígit a la vegada. Per tant, el nombre de segments utilitzats depèn del nombre de dígits a mostrar. Aquí els dígits del 0 al 9 es mostren contínuament amb un retard predefinit.

Les pantalles de 7 segments estan disponibles en dues configuracions que són ànode comú i càtode comú. Aquí s'utilitza una configuració d'ànode comuna perquè el corrent de sortida del microcontrolador no és suficient per accionar els LED. La pantalla de 7 segments funciona amb lògica negativa, hem de proporcionar la lògica 0 al pin corresponent per fer que el LED brilli.

Configuracions de visualització de 7 segments

Configuracions de visualització de 7 segments

La taula següent mostra els valors hexadecimals que s’utilitzen per mostrar els diferents dígits.

Taula de visualització de 7 segments

Taula de visualització de 7 segments

Esquema de connexions

Interfície de visualització de 7 segments

Interfície de visualització de 7 segments

Codi font:

#incloure
sbit a = P3 ^ 0
void main ()
{
caràcter sense signar n [10] = {0x40,0xF9,0x24,0x30,0x19,0x12,0x02,0xF8,0xE00,0x10}
unsigned int i, j
a = 1
mentre que (1)
{
per a (i = 0i<10i++)
{
P2 = n [i]
per a (j = 0j<60000j++)
}
}
}

3. Interfície LCD amb microcontrolador

La pantalla LCD significa pantalla de cristall líquid que pot mostrar els caràcters per línia. Aquí la pantalla LCD de 16 per 2 pot mostrar 16 caràcters per línia i hi ha 2 línies. En aquest LCD cada caràcter es mostra en una matriu de 5 * 7 píxels.

Pantalla LCD

Pantalla LCD

El LCD és un dispositiu molt important que s’utilitza per a gairebé tots els dispositius automatitzats com ara rentadores, un robot autònom, sistemes de control de potència i altres dispositius. Això s'aconsegueix mostrant el seu estat en mòduls de visualització petits, com ara pantalles de 7 a 7 segments, LEDs de diversos segments, etc. Les raons són que les pantalles LCD tenen un preu raonable, són fàcilment programables i no tenen limitacions per mostrar caràcters especials.

Consta de dos registres com ara el registre d’ordres / instruccions i el registre de dades.

El registre d'ordres / instruccions emmagatzema les instruccions d'ordres donades a la pantalla LCD. Una ordre és una instrucció que es dóna a la pantalla LCD que realitza un conjunt de tasques predefinides com inicialitzar, netejar la pantalla, configurar la posició del cursor, controlar la visualització, etc.

El registre de dades emmagatzema les dades que es mostraran a la pantalla LCD. Les dades són un valor ASCII dels caràcters que es mostraran a la pantalla LCD.

El funcionament de la pantalla LCD està controlat per dues ordres. Quan RS = 0, R / W = 1 llegeix les dades i quan RS = 1, R / W = 0, escriu (imprimeix) les dades.

La pantalla LCD utilitza els següents codis d'ordres:

Ordres de pantalla LCD

Ordres de pantalla LCD

Esquema de connexions:

Interfície LCD amb microcontrolador

Interfície LCD amb microcontrolador

Codi font:

#incloure
#define kam P0

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

void lcd_initi ()
void lcd_dat (caràcter sense signar)
void lcd_cmd (caràcter sense signar)
retard nul (int sense signar)
visualització nul·la (caràcters sense signe *, caràcters sense signe r)
void main ()
{

lcd_initi ()
lcd_cmd (0x80)
retard (100)
pantalla ('EDGEFX TECHLNGS', 15)
lcd_cmd (0xc0)
pantalla ('KITS I SOLUCIONS', 15)
mentre que (1)
}

visualització nul·la (caràcters sense signe *, caràcters sense signe r)
{
sense signar int w
per a (w = 0w{

lcd_dat (s [w])
}
}

void lcd_initi ()
{
lcd_cmd (0x01)
retard (100)
lcd_cmd (0x38)
retard (100)
lcd_cmd (0x06)
retard (100)
lcd_cmd (0x0c)
retard (100)
}
void lcd_dat (dades de caràcters sense signar)
{
pentinar = això
rs = 1
rw = 0

a = 1
retard (100)
a = 0
}
void lcd_cmd (cmd de caràcter sense signar)
{
came = cmd
rs = 0
rw = 0

a = 1
retard (100)
a = 0
}
retard nul (int signat n)
{

sense signar int a
per a (a = 0a}

4. Circuit d'interfície del motor pas a pas

Tipus de motors pas a pas-1

Motor pas a pas unipolar

A motor pas a pas és un dels motors més utilitzats per a un moviment angular precís. L’avantatge d’utilitzar un motor pas a pas és que la posició angular del motor es pot controlar sense cap mecanisme de retroalimentació. Els motors pas a pas s’utilitzen àmpliament en aplicacions industrials i comercials. També s’utilitzen habitualment com en sistemes d’accionament com ara robots, rentadores, etc.

Tipus de motors pas a pas-2

Motor pas a pas bipolar

Els motors pas a pas poden ser unipolars o bipolars i aquí estem utilitzant un pas pas unipolar. El motor pas a pas unipolar consta de sis cables, dels quals quatre estan connectats a la bobina del motor i dos són cables comuns. Cada cable comú està connectat a una font de tensió i els cables restants es connecten al microcontrolador.

Esquema de connexions:

Circuit d

Circuit d'interfície del motor pas a pas

Codi font:

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

retard nul ()

void main ()
{

mentre que (1)
{

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

}
}

retard nul ()
{

unsigned char i, j, k
per a (i = 0i<6i++)
per a (j = 0j<255j++)
per a (k = 0k<255k++)

}

5. Interfície del teclat Matrix a 8051

Descripció:

Teclat Matrix

Teclat Matrix

El teclat és un dispositiu d’entrada àmpliament utilitzat amb moltes aplicacions com ara telèfon, ordinador, caixer automàtic, pany electrònic, etc. Aquí hi ha un teclat matricial de 4 per 3 format per commutadors disposats en files i columnes interfície al microcontrolador . Una pantalla LCD de 16 per 2 també està connectada per mostrar la sortida.

El concepte d'interfície de teclat és molt senzill. A cada número de teclat se li assignen dos paràmetres únics que són fila i columna (R, C). Per tant, cada vegada que es prem una tecla, el número s’identifica detectant els números de fila i columna del teclat.

Diagrama intern del teclat

Diagrama intern del teclat

Inicialment, totes les files s’estableixen a zero (‘0’) pel controlador i s’escanegen les columnes per comprovar si es prem alguna tecla. Si no es prem cap tecla, la sortida de totes les columnes serà alta ('1').

Esquema de connexions

Interfície del teclat Matrix a 8051

Interfície del teclat Matrix a 8051

Codi font:

#incloure
#define kam P0
sbit rs = P2 ^ 0
sbit rw = P2 ^ 1
SBIT en = 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 (caràcter sense signar)
void lcd_cmd (caràcter sense signar)
retard nul (int sense signar)
visualització nul·la (caràcters sense signe *, caràcters sense signe r)

void main ()
{
lcd_initi ()
lcd_cmd (0x80)
retard (100)
pantalla ('0987654321', 10)
mentre que (1)
}

visualització nul·la (caràcters sense signe *, caràcters sense signe r)
{

sense signar int w
per a (w = 0w{

lcd_dat (s [w])
}
}
void lcd_initi ()
{
lcd_cmd (0x01)
retard (100)
lcd_cmd (0x38)
retard (100)
lcd_cmd (0x06)
retard (100)
lcd_cmd (0x0c)
retard (100)
}

void lcd_dat (dades de caràcters sense signar)
{
pentinar = això
rs = 1
rw = 0

a = 1
retard (100)
a = 0
}
void lcd_cmd (cmd de caràcter sense signar)
{
came = cmd
rs = 0
rw = 0

a = 1
retard (100)
a = 0

}
retard nul (int signat n)
{

sense signar int a
per a (a = 0a}
}

Esperem haver estat capaços de proporcionar un ampli coneixement sobre els circuits bàsics però importants de la interfície microcontrolador 8051 . Aquests són els circuits més bàsics necessaris en qualsevol aplicació de sistema incrustat i esperem haver-vos proporcionat una bona revisió.

A la secció de comentaris següent, es pot esmentar qualsevol altra consulta o comentari relacionat amb aquest tema.

Crèdits fotogràfics