Home Soluções Guia da Interface de Controle do LCD Character STN

Guia da Interface de Controle do LCD Character STN

Jan 19, 2023

Introdução

A Winstar oferece uma ampla linha de módulos LCD de caracteres padrão para aplicações industriais e embarcadas. Os tipos de display disponíveis incluem as séries WH0802, WH1202, WH1601, WH1602, WH1604, WH2002, WH2004, WH2402 e WH4002. Com a possibilidade de utilizar o menor número possível de pinos de controle, esses módulos facilitam a integração do display e a seleção do MCU mais adequado.

Os módulos LCD de caracteres convencionais disponíveis no mercado geralmente utilizam uma placa de conversão adicional para suportar a interface I2C, conforme mostrado na Figura 1. Essa solução pode aumentar a espessura do LCM, adicionar etapas ao processo de fabricação e reduzir o rendimento da produção.
 

Módulo LCD de caracteres convencional com placa de conversão I2C adicional

Figura 1: Módulo LCD de caracteres convencional do mercado com uma placa de conversão adicional para suporte à interface I2C.

Módulo LCD de caracteres WH1602 da Winstar com interfaces I2C e SPI integradas

Figura 2: O módulo LCD de caracteres WH1602 da Winstar suporta interfaces I2C e SPI sem a necessidade de uma placa de conversão adicional.

 

Sem a necessidade de adicionar uma placa de conversão, basta conectar a placa de desenvolvimento Arduino Uno para controlar diretamente os seguintes módulos LCD de caracteres da Winstar por meio de diferentes interfaces de comunicação.

  • WINSTAR WH1602 LCM: 16 caracteres × 2 linhas
  • WINSTAR WH2002 LCM: 20 caracteres × 2 linhas
  • WINSTAR WH2004 LCM: 20 caracteres × 4 linhas
 

Essas três séries de LCM integram o controlador LCD RW1063 e suportam interfaces seriais (I2C e SPI), além da interface paralela (6800).

Observação: para obter mais informações sobre interfaces de display, consulte "Conhecendo as interfaces de display".

Definição dos pinos do LCM

Nº do pino Símbolo Descrição
No.1 Vss Terra (GND)
No.2 Vdd Alimentação da lógica
No.3 V0 Ajuste de contraste
No.4 RS Seleção entre comando e dados
No.5 RW Sinal de seleção leitura/escrita somente para interface 6800 de 8/4 bits
No.6 E Sinal de habilitação somente para interface 6800 de 8/4 bits
No.7 DB0/SA0 Linha de dados 0 somente para interface 6800 de 8 bits
Linha de configuração de endereço SA0 para interface I2C
No.8 DB1/SA1 Linha de dados 1 somente para interface 6800 de 8 bits
Linha de configuração de endereço SA1 para interface I2C
No.9 DB2 Linha de dados 2 somente para interface 6800 de 8 bits
No.10 DB3 Linha de dados 3 somente para interface 6800 de 8 bits
No.11 DB4 Linha de dados 4 somente para interface 6800 de 8/4 bits
No.12 DB5/CSB/CSB Linha de dados 5 somente para interface 6800 de 8/4 bits
Linhas de seleção CSB Enable para interfaces I2C e SPI
No.13 DB6/SDA/SCLK Linha de dados 6 somente para interface 6800 de 8/4 bits
Linha de dados SDA para interface I2C
>Sinal de clock SCLK para interface SPI
No.14 DB7/SCL/SID Linha de dados 7 somente para interface 6800 de 8/4 bits
Linha de clock SCL para interface I2C
Linha de dados SID para interface SPI
No.15 A+ Alimentação do backlight (B/L) +
No.16 K- Alimentação do backlight (B/L) -
 
Tabela 1: Definição dos pinos do LCM

 

Conforme indicado na tabela acima, o pino V0 utiliza um resistor variável de 20 kΩ para ajustar o contraste dos caracteres. Durante o teste, caso os caracteres não sejam exibidos ou a imagem de fundo continue aparecendo, ajuste esse resistor variável para obter o contraste adequado.

O método de conexão do resistor variável V0 é mostrado na Figura 3:

Método de conexão do resistor variável V0
 
Figura 3: Método de conexão do resistor variável V0

 

Conexão do LCM com a placa de desenvolvimento Arduino Uno

 

A Figura 4 apresenta os métodos de conexão das quatro interfaces de comunicação do LCM (I2C, SPI, 6800 de 8 bits/4 bits) com o Arduino Uno. É possível observar que as interfaces I2C e SPI utilizam apenas uma quantidade reduzida de pinos GPIO para controlar os módulos LCD de caracteres.

Na interface I2C, como o Arduino Uno possui resistores de pull-up internos nos pinos I2C, não são necessários resistores de pull-up adicionais conectados aos pinos SDA e SCL. Caso o resistor de pull-up interno seja desabilitado no programa, um resistor de pull-up externo deverá ser conectado.

(a) Conexão da interface I2C

Conexão da interface I2C entre o LCM e o Arduino Uno

(b) Conexão da interface SPI

Conexão da interface SPI entre o LCM e o Arduino Uno

(c) Conexão da interface 6800 de 4 bits

Conexão da interface 6800 de 4 bits entre o LCM e o Arduino Uno

(d) Conexão da interface 6800 de 8 bits

Conexão da interface 6800 de 8 bits entre o LCM e o Arduino Uno

Figura 4: Métodos de conexão das quatro interfaces de comunicação do LCM com o Arduino Uno.

 

Comandos do LCM

Nem todas as interfaces de comunicação permitem utilizar o conjunto completo de comandos do LCM. Na interface SPI, não há linha de controle RW nem pinos MISO disponíveis; portanto, o comando de leitura não é suportado. Durante a escrita, a linha de controle RS determina se os dados enviados correspondem a dados de comando ou dados de display.

Na interface I2C, a linha de controle RW também não está disponível, portanto os comandos de leitura também não são suportados. Antes de enviar dados de comando ou dados de display, é necessário transmitir o código de controle de comando (A0=0) ou o código de controle de dados (A0=1) para determinar se o próximo byte enviado corresponde a um comando ou a dados de display.

Temporização das interfaces SPI e I2C

As Figuras 5 e 6 apresentam os diagramas de temporização para o controle do LCM por meio da interface SPI. É possível observar que a interface SPI utilizada pelo LCM não corresponde à interface SPI padrão normalmente disponibilizada por um MCU. É necessário um sinal RS adicional para determinar se o byte atualmente transmitido corresponde a um comando ou a um dado. Os dados dos bits (BIT7~BIT0) na linha de dados (SID) são alterados quando a linha de clock (SCLK) está em nível baixo. Os dados dos bits (BIT7~BIT0) são capturados quando a linha de clock (SCLK) está em nível alto.

Temporização da escrita de comando SPI

Figura 5: Temporização da escrita de comando SPI

Temporização da escrita de dados SPI

Figura 6: Temporização da escrita de dados SPI

As Figuras 7 e 8 apresentam os diagramas de temporização para o controle do LCM por meio da interface I2C. Exceto pelo sinal Chip Select Bar (CSB), o controle pela interface I2C consiste no envio de três bytes a cada operação de escrita de dados de comando ou dados de display. Entre esses bytes, o bit A0 do segundo byte determina se o terceiro byte corresponde a um comando ou a dados de display.

Temporização da escrita de comandos I2C

Figura 7: Temporização da escrita de comandos I2C

Temporização da escrita de dados I2C

Figura 8: Temporização da escrita de dados I2C

Código

O LCM pode ser compilado e utilizado diretamente após a configuração dos parâmetros do programa.

Step1: definir o número máximo de caracteres por linha do LCM.
Por exemplo, a configuração a seguir define uma linha com no máximo 16 caracteres.

Step1: definição do número máximo de caracteres por linha do LCM

Step2: definir o número máximo de linhas do LCM.
Por exemplo, a configuração a seguir define o LCM com 2 linhas.

Step2: definição do número máximo de linhas do LCM

Step3: definir a interface do LCM.
Por exemplo, a configuração a seguir seleciona a interface I2C.

Step3: definição da interface do LCM

Step4: compilar o programa e fazer o upload para a placa de desenvolvimento Arduino Uno.
A Figura 9 apresenta uma representação esquemática das telas exibidas por três LCMs.
Quando o contraste do display estiver muito claro ou muito escuro, o resistor variável conectado ao pino V0 pode ser ajustado para obter o contraste adequado, conforme mostrado na Figura 10.

(a) Contraste baixo
Apenas caracteres pouco visíveis podem ser observados.
(b) Contraste adequado (c) Contraste alto
Cada caractere apresenta uma sombra evidente.
figure9-a-1-telas de três LCMs figure9-b-1-telas de três LCMs figure9-c-1-telas de três LCMs
figure9-a-2-telas de três LCMs figure9-b-2-telas de três LCMs figure9-c-2-telas de três LCMs
figure9-a-3-telas de três LCMs figure9-b-3-telas de três LCMs figure9-c-3-telas de três LCMs
Figura 9: Representação esquemática das telas exibidas por três LCMs

 

Figura 10: pino V0 ajustável

Figura 10: Pino V0 ajustável

Se precisar do código de demonstração completo, entre em contato conosco.

Tem perguntas sobre as soluções de displays para a sua empresa? Entre em contato conosco!

Assinar

Receba e-mails sobre novas atualizações da Winstar

Entre em contato conosco

Preço/Ficha de dados/Consulta geral

Suporte técnico

Entre em contato conosco para qualquer informação técnica

go top
Contato
close

Valorizamos sua privacidade

Ao clicar em "Permitir todos os cookies", você concorda com o armazenamento de cookies no seu dispositivo para melhorar a navegação no site, analisar o uso do site e auxiliar nossos esforços de marketing e desempenho. Você pode encontrar mais informações sobre esse assunto em nossa política. Política de privacidade

Valorizamos sua privacidade

A Winstar e certos terceiros utilizam cookies no site www.winstar.com.tw. Os detalhes sobre os tipos de cookies, sua finalidade e as partes terceiras envolvidas estão descritos abaixo e em nossa Política de Cookies. Clique em “Permitir todos” para consentir o uso de cookies e obter a melhor experiência possível em nossos sites. Você também pode definir suas preferências ou rejeitar cookies (exceto os estritamente necessários).

Gerenciar preferências de consentimento

Sempre ativo
Cookies essenciais

Esses cookies são essenciais para permitir que você navegue pelo site e utilize seus recursos, como definir suas preferências de privacidade, fazer login ou preencher formulários.

Cookies de análise

Também conhecidos como "cookies estatísticos", esses cookies coletam informações sobre como você utiliza um site, como quais páginas você visitou e em quais links você clicou. Veja os detalhes.