ESEN ofrece una amplia gama de módulos LCD de carácter estándar para las aplicaciones de los clientes.
Los módulos LCD de caracteres comunes en el mercado añadirán una placa de transferencia para soportar la interfaz I2C como muestra la figura 1, lo que conduce al aumento del grosor de la LCM,más procesos en la fabricación y menor tasa de rendimiento.
| Figura 1:El módulo LCD de carácter común en el mercado que añade una placa de transferencia para soportar I2C. | Figura 2Modulo de cristal líquido de 1602 caracteres de ESEN. Soporta interfaces I2C y SPI y no requiere una placa de transmisión adicional. |
No es necesario añadir una placa de relé. Sólo conecta la placa de desarrollo de Arduino Uno, y se puede controlar directamente el módulo de carácter LCD utilizando diferentes interfaces de comunicación.
Identificar la definición del pin del LCM
Cuadro 1:Definición del pin de la LCM
| El número de pin. | El símbolo | Descripción |
|---|---|---|
| - No, no es así.1 | Vss | En el suelo |
| - No, no es así.2 | VDD | Fuente de alimentación para la lógica |
| - No, no es así.3 | V0 | Ajuste del contraste |
| - No, no es así.4 | RS | Selección de comandos/datos |
| - No, no es así.5 | RW | Solo señal de selección de lectura/escritura para interfaz 6800 de 8/4 bits |
| - No, no es así.6 | - ¿ Por qué? | Habilitar señal para interfaz 6800 8/4 bits sólo |
| - No, no es así.7 | Se aplicará el procedimiento siguiente: | Línea de bus de datos 0 sólo para interfaz de 8 bits 6800 Línea de configuración de direcciones SA0 para la interfaz I2C |
| - No, no es así.8 | Se aplicará el procedimiento siguiente: | Línea de bus de datos 1 sólo para interfaz de 8 bits 6800 Línea de configuración de direcciones SA1 para la interfaz I2C |
| - No, no es así.9 | DB2 | Línea de bus de datos 2 sólo para interfaz de 8 bits 6800 |
| - No, no es así.10 | DB3 | Línea de bus de datos 3 sólo para interfaz de 8 bits 6800 |
| - No, no es así.11 | El DB4 | Línea de bus de datos 4 sólo para interfaz de 8/4 bits 6800 |
| - No, no es así.12 | Se aplican las siguientes condiciones: | Línea de bus de datos 5 para la interfaz 6800 de 8/4 bits únicamente CSB habilitar líneas de selección para interfaz I2C y SPI |
| - No, no es así.13 | DB6 / SDA / SCLK | Línea de bus de datos 6 para la interfaz 6800 de 8/4 bits únicamente Línea de datos SDA para la interfaz I2C Sincronización SCLK para la interfaz SP |
| - No, no es así.14 | Se aplicará el método de evaluación de la seguridad. | Línea de bus de datos 7 sólo para interfaz de 8/4 bits 6800 Línea de tiempo SCL para la interfaz I2C Línea de datos SID para la interfaz SPI |
| - No, no es así.15 | A+ | Fuente de alimentación para B/L + |
| - No, no es así.16 | ¿ Qué es eso? | Fuente de alimentación para B/L - |
En relación con V0 en la tabla anterior, se utiliza una resistencia variable de 20k Ohm para ajustar el contraste de los caracteres.Por favor gire esta resistencia variable para ajustar el contraste.
El método de conexión de la resistencia variable V0 como se muestra en la figura 3:
| Figura 3:Método de conexión de la resistencia variable V0 |
Cómo conectar LCM y placa de desarrollo Arduino Uno
Los métodos de conexión de cuatro interfaces de comunicación LCM (I2C, SPI, 6800 8bit/4bit) a Arduino Uno como se muestra en la Figura 4.Los usuarios pueden observar que las interfaces I2C y SPI sólo necesitan un pequeño número de pines GPIO para controlar los módulos LCD de carácter.
Para la interfaz I2C, ya que Arduino Uno proporciona las resistencias de arranque dentro de los pines I2C, no hay resistencias de arranque adicionales conectadas a los pines SDA y SCL.Si la resistencia de tracción interna está desactivada en el programa, debe estar conectada una resistencia de arranque externa.
| (a) ElConexión de interfaz I2C | b) LasConexión de interfaz SPI |
| (c) ElConexión de interfaz 6800-4 bits | (d) LasConexión de interfaz de 6800-8 bits |
| Figura 4:Métodos de conexión de 4 interfaces de comunicación LCM a Arduino Uno. | |
Los comandos LCM
No todas las interfaces de comunicación pueden usar el conjunto completo de comandos de LCM; con la interfaz SPI, no hay línea de control RW y pines MISO, por lo tanto, el comando de lectura no es compatible.a través de la línea de control RS para determinar si escribir datos de comando o mostrar datos.
En la interfaz I2C, también no hay línea de control RW por lo que no hay soporte para comandos de lectura tampoco.el código de control de comandos (A0=0) o el código de control de datos (A0=1) debe enviarse para determinar si el siguiente byte que se enviará es datos de comando o datos de visualización.
Temporización de las interfaces SPI e I2C
Dos diagramas de tiempo se muestran en la Figura 5 y en la Figura 6. Es el diagrama de tiempo de control de la LCM a través de la interfaz SPI.Los usuarios pueden observar que la LCM utiliza un SPI que no es la interfaz SPI típica proporcionada por una MCU típica, se requiere una línea de señal RS adicional para determinar si el byte actual que se envía es un comando o datos.Los datos de bits (BIT7~BIT0) de la línea de datos (SID) cambian cuando la línea de reloj (SCLK) está en un nivel bajoLos datos de bit (BIT7~BIT0) se capturan cuando la línea de reloj (SCLK) está en un nivel alto (BIT7~BIT0).
| Figura 5:Temporización de la orden de escritura SPI |
| Figura 6:Tiempo de escritura de los datos de SPI |
Las figuras 7 y 8 muestran el diagrama de tiempo de control de la LCM a través de la interfaz I2C.Los lectores pueden observar que el control de la interfaz I2C es enviar tres bytes cada vez que escribe un comando o muestra datosEntre ellos, el bit A0 del segundo byte determinará si el tercer byte es datos de comando o datos de visualización.
| Figura 7:I2C Sincronización de las órdenes de escritura |
| Figura 8:I2C Tiempo de escritura de los datos |
Código
El LCM se puede compilar y utilizar directamente modificando la configuración del programa.
Paso 1: establecer el número máximo de caracteres en una sola línea de LCM.
Por ejemplo, la siguiente configuración establece que una sola línea tenga un máximo de 16 caracteres.
![]()
Paso 2: establecer el número máximo de líneas en el LCM.
Por ejemplo, lo siguiente establece que la LCM tenga 2 líneas.
![]()
Paso 3: establece la interfaz LCM.
Por ejemplo, los siguientes conjuntos de interfaz I2C.
![]()
Paso 4: compilar y subir el programa a la tabla de desarrollo de Arduino Uno.
La figura 9 muestra un diagrama esquemático de las pantallas de tres LCM.
Cuando el contraste de la pantalla es claro o oscuro, la resistencia variable en el pin V0 se puede ajustar a un contraste adecuado, como se muestra en la figura 10.
| (a) Contraste de luz Solo se pueden ver caracteres ligeros. | b) Contraste adecuado | (c) Contraste oscuro Cada personaje tiene una sombra evidente. |
|---|---|---|
| Figura 9:un diagrama esquemático de las pantallas de tres LCM | ||
![]()
Figura 10:el pin V0 es ajustable
Si usted tiene demanda de código demo completo, por favor póngase en contacto con nosotros.
Persona de Contacto: Mr. james
Teléfono: 13924613564
Fax: 86-0755-3693-4482