Principales periféricos electrónicos que se conectan al microcontrolador 8051

Pruebe Nuestro Instrumento Para Eliminar Los Problemas





La interfaz es uno de los conceptos importantes en microcontrolador 8051 porque el microcontrolador es una CPU que puede realizar alguna operación en un dato y da la salida. Sin embargo, para realizar la operación necesitamos un dispositivo de entrada para ingresar los datos y, a su vez, el dispositivo de salida muestra los resultados de la operación. Aquí estamos usando el teclado y la pantalla LCD como dispositivos de entrada y salida junto con el microcontrolador.

Microcontrolador 8051 Dispositivos periféricos

Microcontrolador 8051 Dispositivos periféricos



La interfaz es el proceso de conectar dispositivos entre sí para que puedan intercambiar la información y eso demuestra que es más fácil escribir los programas. Hay diferentes tipos de dispositivos de entrada y salida según nuestro requisito, como LED, LCD, 7 segmentos, teclado, motores y otros dispositivos.


Aquí se dan algunos módulos importantes interconectados con el microcontrolador 8051.



1. Interfaz de LED al microcontrolador:

Descripción:

Los LED se utilizan con mayor frecuencia en muchas aplicaciones para indicar la salida. Encuentran una amplia gama de aplicaciones como indicadores durante la prueba para verificar la validez de los resultados en diferentes etapas. Son muy baratos y fácilmente disponibles en una variedad de formas, colores y tamaños.

Diodo emisor de luz

Diodo emisor de luz

El principio de funcionamiento de LED es muy fácil. Unos LED simples también sirven como dispositivos de visualización básicos, su estado de encendido y apagado expresa información completa sobre un dispositivo. Los LED comunes disponibles tienen una caída de voltaje de 1,7 V, lo que significa que cuando aplicamos más de 1,7 V, el diodo conduce. El diodo necesita una corriente de 10 mA para brillar con plena intensidad.


El siguiente circuito describe 'cómo encender los LED'.

Los LED se pueden conectar al microcontrolador en configuración de ánodo común o cátodo común. Aquí los LED están conectados en una configuración de ánodo común porque la configuración de cátodo común consume más energía.

Diagrama de circuito

Interfaz LED al microcontrolador

Interfaz LED al microcontrolador

Código fuente:

#incluir
vacío principal()
{
unsigned int i
mientras (1)
{
P0 = 0x00
para (i = 0i<30000i++)
P0 = 0xff
para (i = 0i<30000i++)
}
}

2. Circuito de interfaz de pantalla de 7 segmentos

Descripción:
Una pantalla de siete segmentos es la pantalla electrónica más básica. Consiste en ocho LED que están asociados en secuencia para mostrar los dígitos del 0 al 9 cuando se encienden las combinaciones adecuadas de LED. Una pantalla de 7 segmentos usa siete LED para mostrar los dígitos del 0 al 9 y el octavo LED se usa para el punto. Un segmento típico de siete se ve como se muestra en la figura siguiente.

Pantalla de 7 segmentos

Pantalla de 7 segmentos

Las pantallas de 7 segmentos se utilizan en varios sistemas para mostrar la información numérica. Pueden mostrar un dígito a la vez. Por tanto, el número de segmentos utilizados depende del número de dígitos que se mostrarán. Aquí, los dígitos del 0 al 9 se muestran continuamente con un retardo de tiempo predefinido.

Las pantallas de 7 segmentos están disponibles en dos configuraciones que son ánodo común y cátodo común. Aquí se usa la configuración de ánodo común porque la corriente de salida del microcontrolador no es suficiente para impulsar los LED. La pantalla de 7 segmentos funciona con lógica negativa, tenemos que proporcionar un 0 lógico al pin correspondiente para que el LED brille.

Configuraciones de pantalla de 7 segmentos

Configuraciones de pantalla de 7 segmentos

La siguiente tabla muestra los valores hexadecimales utilizados para mostrar los diferentes dígitos.

Mesa de visualización de 7 segmentos

Mesa de visualización de 7 segmentos

Diagrama de circuito

Interfaz de pantalla de 7 segmentos

Interfaz de pantalla de 7 segmentos

Código fuente:

#incluir
sbit a = P3 ^ 0
vacío principal()
{
carácter sin signo n [10] = {0x40,0xF9,0x24,0x30,0x19,0x12,0x02,0xF8,0xE00,0x10}
unsigned int i, j
a=1
mientras (1)
{
para (i = 0i<10i++)
{
P2 = n [i]
para (j = 0j<60000j++)
}
}
}

3. Interfaz de LCD al microcontrolador

LCD significa pantalla de cristal líquido que puede mostrar los caracteres por línea. Aquí la pantalla LCD de 16 por 2 puede mostrar 16 caracteres por línea y hay 2 líneas. En esta pantalla LCD, cada carácter se muestra en una matriz de 5 * 7 píxeles.

Pantalla LCD

Pantalla LCD

La pantalla LCD es un dispositivo muy importante que se utiliza para casi todos los dispositivos automatizados, como lavadoras, un robot autónomo, sistemas de control de potencia y otros dispositivos. Esto se logra mostrando su estado en pequeños módulos de pantalla como pantallas de 7 a 7 segmentos, LED de múltiples segmentos, etc. Las razones son que las pantallas LCD tienen un precio razonable, son fácilmente programables y no tienen limitaciones para mostrar caracteres especiales.

Consta de dos registros, como el registro de comando / instrucción y el registro de datos.

El registro de comando / instrucción almacena las instrucciones de comando dadas a la pantalla LCD. Un comando es una instrucción que se le da a la pantalla LCD que realiza un conjunto de tareas predefinidas como inicializar, limpiar la pantalla, colocar el cursor, controlar la pantalla, etc.

El registro de datos almacena los datos que se mostrarán en la pantalla LCD. Los datos son un valor ASCII de los caracteres que se mostrarán en la pantalla LCD.

El funcionamiento de la pantalla LCD se controla mediante dos comandos. Cuando RS = 0, R / W = 1 lee los datos y cuando RS = 1, R / W = 0, escribe (imprime) los datos.

La pantalla LCD utiliza los siguientes códigos de comando:

Comandos de la pantalla LCD

Comandos de la pantalla LCD

Diagrama de circuito:

Interfaz LCD al microcontrolador

Interfaz LCD al microcontrolador

Código fuente:

#incluir
#define kam P0

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

vacío lcd_initi ()
void lcd_dat (carácter sin firmar)
void lcd_cmd (carácter sin firmar)
demora nula (int sin firmar)
visualización vacía (caracteres sin firmar *, carácter r sin firmar)
vacío principal()
{

lcd_initi ()
lcd_cmd (0x80)
retraso (100)
pantalla (“EDGEFX TECHLNGS”, 15)
lcd_cmd (0xc0)
pantalla ('KITS Y SOLCIONES', 15)
mientras (1)
}

visualización vacía (caracteres sin firmar *, carácter r sin firmar)
{
unsigned int w
para (w = 0w{

lcd_dat (s [w])
}
}

vacío lcd_initi ()
{
lcd_cmd (0x01)
retraso (100)
lcd_cmd (0x38)
retraso (100)
lcd_cmd (0x06)
retraso (100)
lcd_cmd (0x0c)
retraso (100)
}
void lcd_dat (dat de carácter sin firmar)
{
peine = eso
rs = 1
rw = 0

en=1
retraso (100)
en=0
}
void lcd_cmd (cmd de caracteres sin firmar)
{
vino = cmd
rs = 0
rw = 0

en=1
retraso (100)
en=0
}
demora nula (unsigned int n)
{

unsigned int a
para (a = 0a}

4. Circuito de interfaz del motor paso a paso

Tipos de motores paso a paso-1

Motor paso a paso unipolar

A motor paso a paso es uno de los motores más utilizados para movimientos angulares precisos. La ventaja de utilizar un motor paso a paso es que la posición angular del motor se puede controlar sin ningún mecanismo de retroalimentación. Los motores paso a paso se utilizan ampliamente en aplicaciones industriales y comerciales. También se utilizan comúnmente en sistemas de accionamiento como robots, lavadoras, etc.

Tipos de motores paso a paso-2

Motor paso a paso bipolar

Los motores paso a paso pueden ser unipolares o bipolares y aquí estamos usando un motor paso a paso unipolar. El motor paso a paso unipolar consta de seis cables de los cuales cuatro están conectados a la bobina del motor y dos son cables comunes. Cada cable común está conectado a una fuente de voltaje y los cables restantes están conectados al microcontrolador.

Diagrama de circuito:

Circuito de interfaz de motor paso a paso

Circuito de interfaz de motor paso a paso

Código fuente:

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

demora anulada ()

vacío principal()
{

mientras (1)
{

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

}
}

demora anulada ()
{

carácter sin firmar i, j, k
para (i = 0i<6i++)
para (j = 0j<255j++)
para (k = 0k<255k++)

}

5. Interfaz del teclado de matriz con 8051

Descripción:

Teclado de matriz

Teclado de matriz

El teclado es un dispositivo de entrada ampliamente utilizado con muchas aplicaciones como teléfono, computadora, cajero automático, cerradura electrónica, etc. Se utiliza un teclado para recibir información del usuario para su procesamiento posterior. Aquí se muestra un teclado matricial de 4 por 3 que consta de interruptores dispuestos en filas y columnas. interconectado al microcontrolador . También se interconecta una pantalla LCD de 16 por 2 para mostrar la salida.

El concepto de interfaz del teclado es muy simple. A cada número de teclado se le asignan dos parámetros únicos que son fila y columna (R, C). Por lo tanto, cada vez que se presiona una tecla, el número se identifica al detectar los números de fila y columna del teclado.

Diagrama interno del teclado

Diagrama interno del teclado

Inicialmente, todas las filas se establecen en cero ('0') por el controlador y las columnas se escanean para verificar si se presiona alguna tecla. En caso de que no se presione ninguna tecla, la salida de todas las columnas será alta ('1').

Diagrama de circuito

Interfaz de teclado de matriz con 8051

Interfaz de teclado de matriz con 8051

Código fuente:

#incluir
#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
vacío lcd_initi ()
void lcd_dat (carácter sin firmar)
void lcd_cmd (carácter sin firmar)
demora nula (int sin firmar)
visualización vacía (caracteres sin firmar *, carácter r sin firmar)

vacío principal()
{
lcd_initi ()
lcd_cmd (0x80)
retraso (100)
pantalla ('0987654321', 10)
mientras (1)
}

visualización vacía (caracteres sin firmar *, carácter r sin firmar)
{

unsigned int w
para (w = 0w{

lcd_dat (s [w])
}
}
vacío lcd_initi ()
{
lcd_cmd (0x01)
retraso (100)
lcd_cmd (0x38)
retraso (100)
lcd_cmd (0x06)
retraso (100)
lcd_cmd (0x0c)
retraso (100)
}

void lcd_dat (dat de caracteres sin firmar)
{
peine = eso
rs = 1
rw = 0

en=1
retraso (100)
en=0
}
void lcd_cmd (cmd de caracteres sin firmar)
{
vino = cmd
rs = 0
rw = 0

en=1
retraso (100)
en=0

}
demora nula (unsigned int n)
{

unsigned int a
para (a = 0a}
}

Esperamos haber podido proporcionar un amplio conocimiento sobre los circuitos de interfaz básicos pero importantes de microcontrolador 8051 . Estos son los circuitos más básicos necesarios en cualquier aplicación de sistema embebido y esperamos haberle proporcionado una buena revisión.

Cualquier consulta o comentario adicional relacionado con este tema puede ser mencionado en la sección de comentarios a continuación.

Créditos fotográficos