Conectamos o LCD "doméstico" 16x2 MT-16S2S da SPI
A tendência de substituição de importações pressionou para testar o indicador simbólico do LCD do MELT. Pegamos o MT-16S2S na ST7070. De certa forma, este é um análogo do amplamente conhecido WH-1602 no 44780. Ele também suporta o modo SPI.O MELT também coleta displays no controlador doméstico KB1013VG6 da Integral. Há uma diferença na operação no modo de 4 bits do padrão 44780, que já se tornou padrão.O site do fabricante possui um código de exemplo para trabalhar em diferentes modos. Mas está escrito em assembler e sob uma plataforma abstrata no vácuo. Remanejá-lo no STM é como escrever novamente. A experiência de usar bibliotecas prontas, mesmo para o 44780 comum, também não posso chamar de positivo. Eles precisam ser editados por um longo tempo no modelo de plataforma e controlador desejado. E a maioria deles usa a função de atraso no AVR, que "por algum motivo" não é fornecida para o STM. E mesmo o que começou funciona muito mal, agora tirando alguma coisa e congelando. Por isso, decidiu-se escrever sua própria biblioteca.Além disso, o MT-16S2S possui outro recurso: a interface SPI, que permite reduzir o número de pernas do controlador usadas para 4. Portanto, a saída será organizada com precisão através do SPI.O sistema de comando é descrito em alguns detalhes. Em geral, em toda a situação atual, quando quase não há aparelhos eletrônicos domésticos na vida cotidiana, é muito agradável, embora incomum, ler a descrição de microcircuitos e outros produtos em russo (não traduzido do inglês ou chinês, como "Bálsamo de tigre branco cai proteína de construção da morte"). É verdade que, às vezes, você encontra pérolas que acha que "seria melhor em inglês". Mas aqui está tudo bem.A conexão é quase padrão. VCC, E, D0-D4 mais energia, A0, GND, R / W e PSB ao terra; Conecte-se ao controlador: D5– a CS, D6 –– a SCK, D7 –– a MOSI, XRES– a qualquer GPIO. Liguei-me ao MISO, como ainda gerencie programaticamente. No site da descrição, a propósito, o esquema errado é dado. É indicado que o D5 está se aproximando do power plus, mas isso é CS. O fórum escreveu que eles sabiam disso, mas até agora nada foi corrigido.As conclusões para a luz de fundo podem ser deixadas livres, mas é melhor, é claro, trabalhar com a luz de fundo e, para isso, conectar o ânodo através de um resistor de 10 a 30 Ohm à energia e o cátodo ao solo. A saída para controlar o contraste, por incrível que pareça, não controla nada no indicador de 5 volts. Eu apenas o deixei pendurado no ar.Outra característica interessante é a presença de duas páginas do gerador de caracteres. Graças a isso, você pode exibir uma enorme quantidade de lixo desconhecido em uma ampla variedade de caracteres.Mas se você escolheu uma exibição "doméstica" para trabalhar com o alfabeto cirílico, uma surpresa o espera. As letras russas que não possuem análogos no alfabeto latino estão localizadas na primeira página. E os números e o latim estão em zero. E para reuni-los, você precisa alternar entre as páginas. Portanto, nenhuma saída de linha funcionará completamente.A esse respeito, a exibição da Winstar é mais conveniente. Deixe que ele não tenha tantos caracteres, mas eles estão na mesma página.Mas 90% do gerador de caracteres MT-16S2S não será necessário para uma pessoa russa. Outro problema para o programador é a designação na folha de dados das coordenadas dos caracteres na tabela em unidades e zeros por mordidela. É ainda mais divertido rotulá-los H e L. Ou seja, o número do símbolo será, por exemplo, 1111 + 1101 ou HHHH + HHLH.Por que não usar o código hexadecimal 0xFD conveniente para o desenvolvedor? E, afinal, em alguns monitores essas tabelas são. É realmente tão difícil fazer uma grade conveniente?Agora sobre a biblioteca. Os seguintes requisitos estavam relacionados à funcionalidade:1. Derivação de um símbolo de uma tabela para uma posição arbitrária;2. A saída de uma linha de texto em uma posição arbitrária;3. Grave na memória do próprio símbolo;4. Limpando a tela, ligando e desligando o cursor, deslocando-o, deslocando a área de exibição e outras configurações do indicador.Tudo isso foi implementado rapidamente. Mas ainda é irritante a necessidade de alternar constantemente entre as páginas do gerador de caracteres ao usar o alfabeto cirílico. Não publico a biblioteca em si, porque foi feita "para mim". Com todas as deficiências e muletas, e para um chip específico: com portas e frequências com fio (como o objetivo não era criar uma versão comercial com jogos de cartas e mulheres, as configurações de portas, SPI e atrasos são escritas diretamente nas próprias funções, dependendo de qual controlador e a qual SPI o monitor está conectado). No futuro, sua revisão está planejada.Agora, sobre a experiência de operar a tela. Foi testado e funciona de forma estável na faixa de temperatura de -20 ° C a + 60 ° C. No entanto, a -20 ° C, ele começa a desacelerar ao alterar a imagem. Mas não há nada a ser feito. Apenas mude para outro tipo de indicador.Em geral, a impressão é positiva. Pequenas falhas na descrição no visor e a falta de exemplos de códigos normais interferem nisso. O resto não é ruim. Mesmo o preço não é superior ao preço do análogo Winstar-ovsky do WH-1602.Source: https://habr.com/ru/post/pt397977/
All Articles