Conectamos el LCD "doméstico" 16x2 MT-16S2S por SPI
La tendencia de sustitución de importaciones empujó a probar el indicador LCD simbólico de MELT. Tomamos el MT-16S2S en el ST7070. En cierto modo, este es un análogo del conocido WH-1602 en 44780. También es compatible con el modo SPI.MELT también recopila pantallas en el controlador doméstico KB1013VG6 de Integral. Tiene una diferencia de funcionamiento en modo de 4 bits con respecto al estándar 44780, que ya se ha convertido en estándar.El sitio del fabricante tiene un código de ejemplo para trabajar en diferentes modos. Pero está escrito en ensamblador y bajo una plataforma abstracta en el vacío. Rehacerlo en STM es como volver a escribir. La experiencia de usar bibliotecas listas para usar, incluso para el 44780 común, tampoco puedo llamar positivo. Deben editarse durante mucho tiempo bajo la plataforma deseada y el modelo de controlador. Y la mayoría de ellos usan la función de retraso bajo AVR, que "por alguna razón" no se proporciona para STM. E incluso lo que comenzó funciona muy mal, ahora saca algo y luego se congela. Por lo tanto, se decidió escribir su propia biblioteca.Además, el MT-16S2S tiene otra característica: la interfaz SPI, que le permite reducir el número de patas del controlador a 4. Por lo tanto, la salida se organizará con precisión a través de SPI.El sistema de comando se describe con cierto detalle. En general, en toda la situación actual, cuando casi no hay productos electrónicos domésticos en la vida cotidiana, es muy agradable, aunque inusual, leer la descripción de microcircuitos y otros productos en ruso (no traducido del inglés o chino, como "El bálsamo de tigre blanco cae la proteína de la muerte"). Es cierto que a veces te encuentras con perlas que piensas que "sería mejor en inglés". Pero aquí está todo bien.La conexión es casi estándar. VCC, E, D0-D4 más potencia, A0, GND, R / W y PSB a tierra; Conéctese al controlador: D5– a CS, D6 –– a SCK, D7 –– a MOSI, XRES– a cualquier GPIO. Me conecté a MISO, como todavía lo gestiono programáticamente. En el sitio en la descripción, por cierto, se da el esquema incorrecto. Se indica que el D5 está tirando hacia la potencia plus, pero esto es CS. El foro escribió que lo sabían, pero hasta ahora no se ha solucionado nada.Las conclusiones para la luz de fondo se pueden dejar libres, pero es mejor, por supuesto, trabajar con la luz de fondo, y para esto, conectar el ánodo a través de una resistencia de 10-30 ohmios a la alimentación y el cátodo a la tierra. La salida para controlar el contraste, por extraño que parezca, no controla nada en el indicador de 5 voltios. Lo dejé colgando en el aire.Otra característica interesante es la presencia de dos páginas del generador de caracteres. Gracias a esto, puede mostrar una gran cantidad de basura desconocida en una amplia variedad de personajes.Pero si ha elegido una pantalla "doméstica" para trabajar con el alfabeto cirílico, le espera una sorpresa. Las letras rusas que no tienen análogos en el alfabeto latino se encuentran en la primera página. Y los números y el latín están en cero. Y para reunirlos, debes cambiar de página. Por lo tanto, ninguna salida de línea funcionará por completo.En este sentido, la pantalla de Winstar es más conveniente. Deje que no tenga tantos caracteres, pero están en la misma página.Pero una persona rusa no necesitará el 90% del generador de caracteres MT-16S2S. Otro problema para el programador es la designación en la hoja de datos de las coordenadas de los caracteres en la tabla en unidades y ceros por mordisco. Es aún más divertido etiquetarlos como H y L. Es decir, el número de símbolo será, por ejemplo, 1111 + 1101 o HHHH + HHLH.¿Por qué no usar el código hexadecimal 0xFD conveniente para el desarrollador? Y después de todo en algunas pantallas, tales tablas son. ¿Es realmente tan difícil hacer una cuadrícula conveniente?Ahora sobre la biblioteca. Los siguientes requisitos estaban relacionados con la funcionalidad:1. Derivación de un símbolo de una tabla a una posición arbitraria;2. La salida de una línea de texto en una posición arbitraria;3. Grabar en memoria del propio símbolo;4. Limpiando la pantalla, activando y desactivando el cursor, desplazándolo, desplazando el área de visualización y otros ajustes del indicador.Todo esto se implementó con bastante rapidez. Pero aún es molesto la necesidad de cambiar constantemente entre las páginas del generador de caracteres cuando se usa el alfabeto cirílico. No publico la biblioteca en sí, porque fue hecha "para mí". Con todas las deficiencias y muletas, y para un chip específico: con puertos y frecuencias cableados (ya que el objetivo no era crear una versión comercial con juegos de cartas y hembras, la configuración de los puertos, SPI y retrasos se escriben directamente en las funciones mismas, dependiendo de qué controlador y a qué SPI está conectada la pantalla). En el futuro, su revisión está prevista.Ahora sobre la experiencia de operar la pantalla. Ha sido probado y funciona de manera estable en el rango de temperatura de -20 ° C a + 60 ° C. Sin embargo, a -20 ° C comienza a disminuir la velocidad al cambiar la imagen. Pero no hay nada que hacer. Solo cambie a otro tipo de indicador.En general, la impresión es positiva. Las fallas menores en la descripción en la pantalla y la falta de ejemplos de código normal interfieren con esto. El resto no está mal. Incluso el precio no es más alto que el del análogo Winstar-ovsky de WH-1602.Source: https://habr.com/ru/post/es397977/
All Articles