Conectar una pantalla LCD de 5 V con un controlador de 3,3 V como el LPC1768 es un poco complicado de manejar. Este es el artículo que explica cómo una pantalla LCD de 16x2 interactúa con LPC1768 en modo de 4 bits. LCD en 4 bits, lo que significa que usaremos 4 líneas en lugar de 8 líneas, lo que ahorra 4 GPIO que se pueden usar para otros fines. La configuración del entorno para el desarrollo de ARM Cortex M3 se analiza detalladamente en este artículo.
El LPC 1768 es un microcontrolador basado en ARM Cortex-M3 para capacidades de aplicaciones integradas con bajo consumo de energía y un alto nivel de integración. El ARM Cortex M3 está diseñado para mejorar las capacidades de depuración y un mayor nivel de integración del sistema. Funciona a una frecuencia de CPU de 100 MHz e incorpora una tubería de 3 etapas y utiliza una arquitectura Harvard con buses de datos e instrucciones locales separados para periféricos de tercer bus. La CPU ARM Cortex-M3 tiene una unidad de captación previa interna para admitir ramas especulativas. Los componentes periféricos incluyen memoria flash de 512 KB, memoria de datos de 64 KB, Ethernet MAC, USB OTG, 4 UART, controlador DMA de uso general de 8 canales, 2 controladores SSP, DAC de 10 bits, interfaz de codificador de cuadratura, interfaz SPI, 3 buses I2C interfaz, interfaz de bus I2S de 2 entradas más 2 salidas, 4 temporizadores de uso general, reloj en tiempo real (RTC) de potencia ultrabaja con suministro de batería independiente y hasta 70 pines de E/S de usuario General, 6 salidas generales -propósito PWM. Los LPC1768/66/65/64 son compatibles con los pines de la serie de microcontroladores basados en LPC236x ARM7 de 100 pines.
Conceptos básicos de la pantalla LCD 16X2:
La pantalla LCD china utilizada aquí es la JHD162A. Dispone de un controlador KS0066U/HD44780U. Tiene un dispositivo de interfaz de 16 pines que consta de 2 líneas con 16 caracteres cada una. El voltaje de funcionamiento es de 5V. Además, cuenta con retroiluminación LED. Hay 2 modos de funcionamiento:
1) Modo de instrucción: para inicializar y configurar la pantalla LCD antes de usarla
2) Modo de datos: Muestra los caracteres de los códigos respectivos que se suministran a la pantalla LCD a través de los pines de datos.
Descripción del pin LCD:
Número de PIN |
Símbolo |
E/S |
Descripción |
1 |
VSS |
– |
Piso |
dos |
CCV |
|
+5V |
3 |
VEE |
|
control de contraste |
4 |
JAJAJA |
Prohibido |
Registro de comandos/datos |
5 |
R/E |
Prohibido |
Registro de lectura/escritura |
6 |
Y |
Entrada salida |
Permitir |
7 |
DB0 |
Entrada salida |
No se utiliza en modo de 4 bits |
8 |
DB1 |
Entrada salida |
No se utiliza en modo de 4 bits |
9 |
DB2 |
Entrada salida |
No se utiliza en modo de 4 bits |
10 |
DB3 |
Entrada salida |
No se utiliza en modo de 4 bits |
11 |
DB4 |
Entrada salida |
Bus de datos en modo de 4 bits |
12 |
DB5 |
Entrada salida |
Bus de datos en modo de 4 bits |
13 |
DB6 |
Entrada salida |
Bus de datos en modo de 4 bits |
14 |
DB7 |
Entrada salida |
Bus de datos en modo de 4 bits |
15 |
CCV |
– |
Para retroiluminación LCD |
dieciséis |
VSS |
– |
Para retroiluminación LCD |
Fig. 1: Descripción de los pines del LCD
Inicializando el módulo LCD:
Después de verificar todas las conexiones del MCU al HFC4050 y al módulo LCD, podemos proceder a mostrar el texto en la pantalla LCD. Pero primero, es necesario inicializar correctamente la pantalla LCD. (Según la hoja de datos) Antes de inicializar la pantalla LCD, deberá esperar un tiempo mínimo de aproximadamente 15 milisegundos después de que el suministro de voltaje de entrada sea estable y superior a 4,5 voltios.
El primer paso es asegurarse de que RS y Habilitar se mantengan BAJOS. El siguiente paso es ingresar algunos comandos en la pantalla LCD usando los pines de datos. Estos comandos no se ejecutarán hasta que se suministre un pulso al pin Habilitar. Después de proporcionar un pulso al comando, Habilitar debe configurarse en Alto y luego en Bajo después de un breve retraso. Luego, se ejecuta el comando.
La pantalla LCD se puede configurar en modo de 4 bits enviándole el comando apropiado llamado "Configuración de funciones". El conjunto de funciones es un comando hexadecimal de la unidad LCD MPU, que selecciona los modos de funcionamiento de la LCD. El “Conjunto de funciones” se menciona en la siguiente tabla:
Fig. 2: Conjunto de funciones LCD para configurar en modo 4 bits
Descripción:
DL: longitud de los datos (DL = 1,8 bits, DL = 0,4 bits)
N – Número de líneas (N = 1 2 Líneas, N = 0 1 Líneas)
F – Fuentes (F = 1 5×10 puntos, F = 0 5×7 puntos)
Según la tabla, el valor del conjunto de funciones para el modo de 4 bits será 0010 0000(0x20) porque DL=0. El valor de “Conjunto de funciones” para la configuración LCD de 2 líneas (N=1), 5X7 puntos (F=0) y modo de 4 bits (DL=0) será 0010 1000(0x28).
Cuando se suministra alimentación a la pantalla LCD, ésta permanece en modo de 8 bits. Ahora, si se envía 0x20, la pantalla LCD no recibirá el cuarteto inferior porque hay cuatro líneas de datos (D4-D7) conectadas, por lo que se envía 0x02 en lugar de 0x20. Para obtener más detalles sobre la interfaz LCD, consulte estos enlaces.
Cómo interconectar LCD en modo de 4 bits con microcontrolador AVR.
Cómo interconectar LCD con LPC2148.
Cree un proyecto usando Keil uvision4 para el microcontrolador LPC1768:
En esta sección, comenzaremos a crear un proyecto en Keil MDK, ya hemos instalado Keil µVision y Co-MDK Plug-in + CoLinkEx Drivers necesarios para el adaptador de programación CoLinkEx. Puede comenzar descargando los archivos del proyecto y comenzar su experimento práctico.
Código.rar
Descripción del código:
Estas funciones explicadas se incluyen en la creación de una biblioteca LCD y en los archivos de codificación.
La siguiente función es enviar bytes de comando a la pantalla LCD:
Lcd_CmdWrite
La siguiente función es enviar bytes de datos a la pantalla LCD:
LCD_DataWrite
Inicialización en modo de 4 bits:
LCD_CmdWrite(0x02); // Inicializa la pantalla LCD en modo de 4 bits
LCD_CmdWrite(0x28); // habilita el modo 5×7 para los personajes
Lcd_CmdWrite(0x0E); // Pantalla apagada, cursor encendido
LCD_CmdWrite(0x01); //Borra la pantalla
LCD_CmdWrite(0x80); // Mueve el cursor al principio de la primera línea.
Código fuente del proyecto
###
Diagramas de circuito
Diagrama de circuito de interfaz LCD en modo de 4 bits con LPC1768 |
Componentes del proyecto
- LCD
- CONDUJO
- Resistor
Vídeo del proyecto