Cómo llamar a caracteres personalizados de LCD
Creo que ahora sabes cómo mostrar cualquier carácter en la tabla de fuentes buscando la tabla de fuentes. Si quiero mostrar un determinado valor de temperatura ahora, necesito marcar el símbolo de temperatura "°C". Ahora busca en la tabla de fuentes y descubre que este símbolo no se puede encontrar en absoluto. A continuación solucionaremos este problema mediante caracteres personalizados.
Como se mencionó anteriormente, para el control del módulo de visualización, nos centramos principalmente en dos aspectos: dónde mostrar y qué contenido mostrar. Sabemos que los gráficos (los caracteres también pueden considerarse gráficos) se componen de líneas y las líneas se componen de puntos. Si podemos controlar que un punto se muestre en cualquier parte del módulo de visualización, entonces se puede mostrar cualquier gráfico. Por supuesto, estos "gráficos arbitrarios" se refieren a la capacidad de visualización de este módulo de visualización. Eso significa que se resuelve cómo mostrar el símbolo de temperatura "°C". Ahora veamos cómo mostrar un punto en cualquier posición en el módulo LCD1602.
Para facilitar la lectura, aquí interceptamos parte de la tabla de fuentes LCD1602. Como se mencionó anteriormente, si desea mostrar el carácter 'A', entonces los bits altos de los datos escritos (b7-b4) son 0100, los bits bajos de los datos escritos (b3-b0) son 0001 y el total es 0x41. Entonces, si los datos 0x00 se escriben ahora, aparecerá ¿Qué? Los 4 bits altos y los 4 bits bajos de los datos 0x00 son todos 0, lo que corresponde a la primera columna de la primera fila en la tabla anterior. Descubrimos que está vacía, como se muestra en el cuadro rojo en la figura anterior.
La parte en el cuadro rojo es para que podamos 'personalizar personajes'. De manera similar, toda la columna correspondiente a 0000 en (b7-b4) está vacía, excepto esta columna, el resto de las columnas tienen caracteres. En otras palabras, el cuadro azul de la derecha está "arreglado", o otros han ayudado. Lo escribimos. La parte de 'carácter personalizado' está relacionada con el CGRAM (ram generador de caracteres) que se muestra en la tabla, y la parte 'fija' a la derecha está relacionada con CGROM. Ahora queremos escribir datos 0x00 para mostrar un determinado carácter, luego necesitamos construir un carácter en la posición correspondiente a 0x00 (que se muestra en el cuadro rojo en la imagen de arriba). "espacio en blanco" primero, y luego "rellene el espacio en blanco" y luego haga coincidir el azul. La parte de color es la misma. El carácter de "rellenar el espacio en blanco" puede ser arbitrario, lo que significa que es un "carácter personalizado". Echemos un vistazo a cómo "completar el espacio en blanco".
(1) Abra el software de extracción de fuentes (puede encontrarlo en la herramienta de software proporcionada por Sanyi Electronics www.ppptalk.com o descargarlo en línea), haga clic en Nueva imagen
(2 ) Seleccione 8×8 y haga clic en Aceptar
(3) Cree la imagen, haga clic para ampliar la cuadrícula en la animación de simulación y ajuste la imagen al máximo para una fácil observación
( 4) Descarte las 3 columnas de la izquierda, haga clic en las 5 columnas de la derecha. Tenga en cuenta que el punto negro significa encendido (1) y el punto blanco significa apagado (0). Deja un punto negro en la imagen. Aquí construimos un carácter chino simple '五' como experimento, como se muestra en la siguiente figura.
(5) Haga clic en 'Configuración de parámetros' y luego haga clic en 'Otras opciones', como se muestra en la figura. a continuación
Las opciones están configuradas de la siguiente manera, haga clic en Aceptar para salir.
(6) Haga clic en 'Formato C51' en 'Modo de módulo', y el cuadro rojo en el 'área de generación de celosía' serán los datos construidos.
El actual 'rellene el Los datos de los espacios en blanco ya se obtuvieron, entonces, ¿cómo 'rellenar los espacios en blanco'? Como se mencionó anteriormente, es CGRAM, entonces, ¿cómo escribirlo? Simplemente regrese y verifique la tabla de instrucciones LCD1602. Los dos bits superiores están fijos en 01 (es decir, 0x40). La forma en que se distribuyen los 6 bits restantes se muestra en la columna de dirección CGRAM a continuación:
CGRAM. tiene una sección de 64 palabras, un carácter requiere 8 bytes, por lo que CGRAM puede representar 8 caracteres, lo que significa que hay 8 'espacios en blanco' que podemos personalizar.
Como puede ver en la imagen de arriba, bit5, bit4 y bit3 se usan para seleccionar qué número de 'espacios en blanco' (un *** tiene 8 'espacios en blanco' para completar), y bit2, bit1 y bit0 se usan para determine el octavo 'espacio en blanco' correspondiente a este carácter Bytes de datos (los datos de 'completar los espacios en blanco' que obtenemos a través del software de fuentes), bit7 y bit6 se fijan en 0, 1.
En esto. De esta manera, podemos mostrar cualquier carácter. Por supuesto, esto "arbitrario" está dentro de las capacidades de visualización del módulo de visualización.