1 Introducción
Los módulos de visualización gráfica de cristal líquido de matriz de puntos se han convertido en un dispositivo de visualización ideal en sistemas de microcomputadoras de un solo chip y se utilizan ampliamente en instrumentos inteligentes controlados por un solo chip. microcomputadoras, campos de control industrial, equipos de comunicación y electrodomésticos. Sin embargo, es muy difícil que los módulos de pantalla de cristal líquido de matriz de puntos gráficos ordinarios se utilicen para mostrar interfaces gráficas. En primer lugar, la pantalla gráfica ocupa una gran cantidad de espacio ROM del usuario. Tomando como ejemplo el módulo LCD de matriz de puntos de 320×240, el espacio ROM ocupado al mostrar una imagen (pantalla completa) es 320×240/8=9.6k Byte. Este es un microcontrolador de memoria flash FLASH con solo unos pocos kbytes. el chip es imposible; en segundo lugar, el proceso de visualización de imágenes es extremadamente complicado. La posición de cada matriz de puntos debe calcularse en función de los gráficos que se mostrarán y luego los datos deben escribirse en bytes para controlar el encendido y apagado. cada matriz de puntos. El nivel de complejidad es aún más desalentador si se muestran varias imágenes.
Además, al mostrar caracteres chinos, el módulo gráfico de pantalla de cristal líquido de matriz de puntos también tiene problemas como ocupar una gran capacidad de ROM, complejos circuitos de interfaz de hardware con el microcontrolador, temporización de interfaz compleja y programación de software complicada. .
Es precisamente debido a las deficiencias mencionadas anteriormente las que limitan la aplicación de los módulos gráficos de pantalla de cristal líquido de matriz de puntos en la generación de interfaces chino-computadora humana complejas y exquisitas. La interfaz china y la pantalla gráfica son tendencias inevitables en el desarrollo de interfaces hombre-máquina para productos electrónicos. De hecho, cualquier tipo de interfaz de visualización se genera esencialmente mediante la disposición y combinación de varios píxeles. Si las operaciones subyacentes del control de visualización del módulo LCD de matriz de puntos gráfica se pueden integrar en el microordenador de un solo chip del módulo, se utilizan varios píxeles en el. Se generará la interfaz de visualización. La interfaz gráfica y la biblioteca de caracteres chinos estándar están prealmacenadas en el módulo. Al usarlo, el usuario solo puede enviarle comandos de control simples a través del puerto serie para generar una interfaz de visualización de gráficos y texto. haciendo que sea simple y fácil generar interfaces gráficas complejas y, en última instancia, resolviendo el problema de los productos electrónicos. Es difícil generar una hermosa interfaz hombre-máquina durante el proceso de desarrollo.
VLCM320240 es un módulo LCD gráfico de matriz de puntos con las funciones anteriores. Este módulo lo lanza Shenzhen Yananjia Company.
2 características de rendimiento del VLCM320240
El módulo de pantalla de cristal líquido de matriz de puntos gráfico VLCM320240 tiene las siguientes características principales:
● Este módulo de pantalla de cristal líquido adopta la película azul película negativa producida por Taiwan EDT Company Display EW32F10BCW? Tiene una resolución de matriz de puntos de 320 × 240 y retroiluminación CCFT;
● Contiene un microcontrolador de alta velocidad W78E516BP producido por Taiwan Winbond Company;
● Contiene la biblioteca de fuentes simplificadas de primer y segundo nivel estándar nacional de matriz de puntos GB2312 16 × 16, los caracteres chinos en la biblioteca de fuentes se pueden mostrar en cualquier posición de la pantalla LCD;
● Contiene ASCⅡ 8 ×16 biblioteca de fuentes en inglés de matriz de puntos;
● Contiene una biblioteca de imágenes de creación propia o una biblioteca de fuentes artísticas de 64 kB, datos de visualización FLASH de programación en línea en el sitio
● Contiene un controlador LCD SED1330F y búfer de visualización de 32 kB;
● El software de depuración de simulación Visual LCM puede completar de forma independiente la edición de la interfaz de visualización, la descarga de datos y la generación de la interfaz en la computadora;
● Tiene serie RS232 estándar control de comunicación y puede controlarse fácilmente mediante una computadora host o un microcontrolador;
● Tiene un uso mínimo de recursos de hardware cuando se usa un microcontrolador como computadora host, se pueden usar dos líneas de E/S para simular la serie. puerto Cuando se utiliza el control de nivel TTL, solo se necesita una línea de E/S.
VLCM320240 tiene dos interfaces para los usuarios, a saber, el puerto de alimentación POWER y el puerto de comunicación RS232.
El puerto de alimentación incluye los siguientes puertos:
●Fuente de alimentación de +9V: suministrada al microcontrolador después de la estabilización;
●GND: tierra de alimentación del módulo;
●+Fuente de alimentación de 5V: para uso con inversor.
El puerto RS232 se define de la siguiente manera:
●BUSY: salida de indicador de ocupado, nivel bajo significa ocupado;
●RX: entrada de comando de control, incluidos 8 bits Bits de datos, 1 bit de inicio, 1 bit de parada;
●GND: señal de tierra.
3 comandos de usuario
En un uso específico, la visualización del VLCM320240 se puede controlar mediante comandos de usuario desde la computadora host.
En carácter chino o carácter ASCII comando de visualización El parámetro es el código estándar nacional de dos bytes o el código de carácter ASCII del carácter chino mostrado.
4 aplicaciones específicas
El módulo LCD de programación visual VLCM320240 se puede utilizar ampliamente en aplicaciones con un rico contenido de información de visualización o una gran capacidad de información de visualización, como aparatos de información, equipos de comunicación, control industrial, En los campos de la instrumentación inteligente y otros campos, el uso de módulos se puede dividir en dos pasos: generación de interfaz de visualización y visualización en tiempo real.
4.1 Generación de simulación de la interfaz de visualización
La generación de la interfaz de visualización se completa en la computadora host. El software de programación visual Visual LCM se puede utilizar para generar varios gráficos o gráficos utilizados en el sistema. diseño El texto se resume y edita en un patrón, pero el tamaño del patrón no debe exceder los 320 × 240 píxeles y el patrón debe seleccionarse en blanco y negro. Luego descargue los patrones editados en la memoria FLASH del ISP del módulo. El número de patrones debe ser inferior a 256. Para mostrar una gran cantidad de información de texto, también deberías intentar generar hermosas fuentes artísticas y guardarlas como patrones. Esto puede acelerar enormemente la visualización de información de texto. Después de descargar el patrón en el módulo, se pueden enviar comandos BMP a través del puerto serie para mostrar cualquier imagen en cualquier posición del módulo LCD.
4.2 Visualización de información en tiempo real
Diversa información gráfica generada por la computadora host finalmente mostrará la información correspondiente bajo el control del microcontrolador. La Figura 1 muestra el circuito de interfaz entre el microcontrolador y VLCM320240, tomando AT89C52 como ejemplo.
En el circuito que se muestra en la Figura 1, el extremo RXD del AT89C52 está conectado al extremo BUSY del puerto de comunicación VLCM320240RS232, y el extremo TXD del microcontrolador está conectado al extremo RX del módulo. Para garantizar la precisión de la velocidad en baudios, se debe seleccionar el oscilador de cristal del AT89C52 como 11,0592 MHz. Además, al compilar el software de control de pantalla correspondiente, también debe prestar atención a los siguientes puntos:
●El modo del puerto serie debe configurarse en el modo 1 (1 bit de inicio, 8 bits de datos, 1 bit de parada). bit);
●La velocidad en baudios debe establecerse en 19200 (TH1=TL1=0FDH, SMOD=1);
●El módulo debe detectarse como inactivo (BUSY) antes enviando el comando =1)? De lo contrario, el comando enviado puede no ser válido;
●El código ASCII enviado por el puerto serie debe ser el comando completo (los caracteres chinos son los códigos internos y los caracteres ASCII son los Códigos ASCII), como el comando "BMP0B000C0D", el contenido real enviado por el puerto serie es "424D503042303030433044", el orden es:
"B→M→P→0→B→0→0 →0→C→0→D";
●Al principio y al final de cada comando, se debe agregar el código ASCII "0DH" del código de fin del comando "tecla Enter" para indicar el final de el comando.
●Si el puerto serie del microcontrolador AT89C52 ha sido ocupado para otros fines, utilice una línea de puerto para simular un puerto serie suave con un protocolo de comunicación de (19200, N, 8, 1) para enviar comandos.
La subrutina de control de visualización que coincide con el circuito anterior se proporciona a continuación:
; Definición de bit
BUSY BIT P3; Definición de línea de señal ocupada
; Definición de bytes de datos
X V EQU 30H; Definir parámetro x
XH V EQU 31H; Definir parámetro xH
Y V EQU 32H; /p>
NUBER EQU 33H; Definir parámetro n
WIDTH EQU 34H; Definir parámetro w
HIGHT EQU 35H; Definir parámetro h
ASC XH; EQU 36H; Definir los cuatro dígitos superiores del parámetro x
ASC XL EQU 37H; Definir los cuatro dígitos inferiores del parámetro x
ASC XHH EQU 38H; xH
ASC XHL EQU 39H; Define los cuatro dígitos inferiores del parámetro
ASC NH EQU 3CH; Define los cuatro bits superiores del parámetro n
ASC NL EQU; 3DH; Defina los cuatro bits inferiores del parámetro n
ASC WH EQU 3EH; Defina el parámetro con cuatro dígitos altos
ASC WL EQU 3FH defina el parámetro con cuatro dígitos bajos
ASC HH EQU 40H; define el parámetro h con cuatro dígitos altos
ASC HL EQU 41H; define los cuatro bits inferiores del parámetro h
; p>INIT SIO: MOV SCON, #50H; modo de puerto serie 1
MOV TMOD, #21H
MOV TH1, #0FDH Velocidad de transmisión = 19200?
MOV TL1?#0FDH
ORL PCON?#80H; SMOD=1
SETB TR1; Iniciar T1
RET
; Establezca caracteres chinos o ASCII para mostrar el primer comando de dirección
ORDER HZA: MOV X V
MOV R0? ; Convertir el parámetro x a
código ASCII de dos bytes
MOV A?XH V
MOV R0 #REG ASC XHH
LCALL H ASC; Convertir el parámetro
MOV A?Y V
MOV R0? #REG ASC YH
LCALL H ASC; >
dos códigos ASCII de byte
LCALL BUSY CK
MOV A? "H"; enviar código ASCII del código de comando HZA
p>
LCALL ENVÍO BYTE
MOV A?#“Z”
LCALL ENVÍO BYTE
MOV A?#“A”
LCALL SEND BYTE
MOV R0? #REG ASC XHH
LCALL SEND CS; enviar el código ASCII del parámetro H
MOV R0? ASC XH
LCALL SEND CS; enviar el código ASCII del parámetro x
MOV R0?
C YH
LCALL SEND CS; envía el código ASCII del parámetro y
LJMP ORDER END
; muestra la subrutina de cadena de caracteres chinos
ORDEN HZ ? LCALL BUSY CK; detecta el estado inactivo del módulo
MOV A?#“H”
LCALL ENVÍO BYTE
MOV A?#“Z”
BYTE DE ENVÍO DE LLAMADA
MOV A? #“D”
BYTE DE ENVÍO DE LLAMADA
SIGUIENTE HZ: CLR A; bits del carácter chino Código interno
MOVC A, @A+DPTR
INC DPTR; ajustar puntero de código interno
LCALL SEND BYTE
CLR A; obtiene caracteres chinos Los ocho códigos internos inferiores de R7, NEXT HZ
MOV A, #0DH Fin del comando
LCALL SEND BYTE
RET
; Mostrar subprograma de cadena ASCII
ORDEN ASCII:
LCALL BUSY CK
MOV A,# "H";
BYTE DE ENVÍO DE LLAMADA A LC
MOV A, #"Z"
BYTE DE ENVÍO DE LLAMADA A LC
MOV A?#"D" p>
LCALL ENVIAR BYTE
¿SIGUIENTE ASCII? CLR A ?Obtener código ASCII
MOVC A?@A+DPTR
INC DPTR
LCALL ENVÍO BYTE
DJNZ R7 ?NEXT ASCII
MOV A?#0DH
LCALL ENVÍO BYTE
RET
; borrar subrutina de pantalla
ORDER CLR: LCALL BUSY CK
MOV A,#"C"
LCALL SEND BYTE
MOV A?#"L"
LCALL ENVÍO BYTE
MOV A?#“R”
LCALL ENVÍO BYTE
LJMP ORDER END
;Mostrar descarga A la subrutina gráfica en el módulo
ORDER BMP: MOV A, X V
MOV R0, #REG ASC XH p>
LCALL H ASC; convierte el parámetro x a dos
bytes de código ASCII
MOV A, XH V
MOV R0?# REG ASC XHH
LCALL H ASC ;Convierte el parámetro xH en dos
bytes de código ASCII
MOV A, Y V
MOV R0, # REG ASC YH
LCALL H ASC; Convierte el parámetro y en dos
bytes de código ASCII
MOV A, NUBER
MOV R0 ?# REG ASC NH
LCALL H ASC; Convierte el parámetro n en dos
bytes de código ASCII
p>
LCALL BUSY CK; Detectar estado inactivo del módulo
MOV A, # "B" Enviar código de comando primero
Código BMP ASCII
LCALL ENVÍO BYTE
MOV A, #"M"
LCALL ENVÍO BYTE
MOV A?#"P"
LCALL ENVÍO BYTE
MOV R0, #REG ASC NH
LCALL SEND CS; envía el código ASCII del parámetro n
MOV R0, #REG ASC XHH
LCALL SEND CS; envía el código ASCII del parámetro xH MOV R0, #REG ASC XH
LCALL SEND CS; envía el código ASCII del parámetro x
MOV R0, # REG ASC YH
LCALL SEND CS; Enviar el código ASCII del parámetro y
FIN DEL PEDIDO: MOV A, #0DH; Enviar indicador de fin de comando
Marcar " 0DH"
MOV SBUF, A
JNB TI, $
CLR TI
RET
; Fin la última subrutina de comando
BUSY CK: MOV A, #0DH
MOV SBUF, A
JNB TI, $
CLR TI
p>JNB BUSY?$
RET
;Enviar subrutina de parámetros
ENVIAR CS: MOV A,@R0
BYTE DE ENVÍO DE LLAMADA LC
INC R0
MOV A,@R0
BYTE DE ENVÍO DE LLAMADA LC
RET
;Subrutina de envío de datos de bytes
ENVIAR BYTE: MOV SBUF, A
JNB TI, $
CLR TI
RET
TAB HZ: DB "Tabla de códigos internos de caracteres chinos"
TAB ASCII: DB "Tabla de caracteres ASCII"
5 Conclusión
Visualización VLCM320240 La programación del módulo LCD puede preestablecer las imágenes utilizadas en el sistema en el módulo LCD, lo que facilita la generación de interfaces gráficas e interfaces chinas. Por lo tanto, este módulo será sin duda un campo de aplicación con altos requisitos para mostrar información. las opciones ideales de dispositivos de visualización.