Exibir caracteres personalizados do idioma urdu em LCD 16 × 2 usando o microcontrolador pic16f877a

Exibir caracteres personalizados do idioma urdu em LCD 16 × 2 usando o microcontrolador pic16f877a

Neste projeto, vou exibir caracteres do idioma urdu em um lcd 16×2 usando o microcontrolador pic16f877. Urdu é um idioma falado no Paquistão, Índia e Bangladesh. Os lcds de caracteres geralmente contêm um controlador Hitachi HD4478. O HD4478 contém apenas o conjunto de caracteres ASCII e podemos exibir apenas os caracteres predefinidos que estão presentes nele. Ele contém caracteres numéricos, ingleses e chineses.
Portanto, para exibir caracteres urdu, devemos saber como criar caracteres personalizados e exibi-los em LCD de 16 × 2 caracteres. Exibir caracteres personalizados feitos por você mesmo no LCD requer conhecimento sobre a estrutura interna do LCD. Para exibir caracteres personalizados como urdu, você deve conhecer lcd CG-RAM, registros de dados e comandos.

Um tutorial bom e perfeito para entender a estrutura interna da ram lcd CG (character generated) é dado abaixo. Como é um tópico muito importante e longo, não é possível explicá-lo aqui. Recomendo que você faça o tutorial abaixo, caso contrário, você não conseguirá entender o código do projeto abaixo.

  • Como gerar caracteres personalizados em cg ram de lcd de 16×2 caracteres.

Requisitos do Projeto

  • Microcontrolador Pic 16f877
  • LCD 16×2
  • Cristal 20 MHz
  • Potenciômetro (para definir o contraste do LCD)
O LCD é interligado com o microcontrolador Pic16f877 no modo de 8 bits. Os pinos de dados do LCD são conectados diretamente à Porta B do microcontrolador Pic16f877. Os sinais de controle do LCD rw (leitura-gravação), rs (seleção de registro) e en (habilitação) são fornecidos pelos pinos RD5, RD6 e RD7 da Porta D do microcontrolador Pic16f877. O diagrama de circuito do projeto é fornecido abaixo.

Caracteres urdu personalizados exibidos em lcd usando microcontrolador pic

Caracteres urdu personalizados exibidos em lcd usando microcontrolador pic

Chegando à parte do código. O código é escrito em linguagem c usando MP-lab ide. O compilador c de alta tecnologia é usado para compilar o código. O arquivo de cabeçalho htc.h é importado primeiro. Este arquivo deve ser incluído em todos os projetos que usam o compilador c de alta tecnologia para compilar o código. Então a frequência do cristal é definida, que é 20 MHz (20e6 = 20^6). Os pinos de controle do LCD são definidos em seguida. Então a função delay é definida, que está gerando algum atraso arbitrário para nós. A função lcdcmd está enviando comandos para o registro de comando do lcd. A função dispaly está enviando dados para o registro de dados do lcd. Se você não sabe sobre dados do lcd e registro de comando e seu funcionamento, aqui está um bom tutorial.

  • Dados LCD e registros de comando funcionando

A função Lcdint está inicializando nosso lcd. O tutorial dado uma linha acima também abrange a fase de inicialização do lcd e os comandos de inicialização. Na função principal, estou gerando alfabetos urdu em CG-RAM e, em seguida, eles são exibidos em um lcd 16×2. Primeiro, dou o comando lcdcmd(0x40) para lcd. Este 0x40 é o endereço inicial do CG-RAM. Em seguida, os pontos individuais do primeiro caractere urdu “i” são enviados para lcd. O próximo 0x48 é enviado para lcd. Que é o segundo endereço do caractere CG-RAM. Os pontos do segundo caractere são então enviados para CG-RAM do lcd. Este processo se repete para os oito caracteres. Em seguida, todos os oito caracteres gerados personalizados são invocados para exibição no lcd, apenas fornecendo seus endereços (0 a 8).
Depois de exibir os primeiros oito caracteres urdu, os próximos oito são construídos em CG-RAM e exibidos no LCD. Este processo se repete até que o último caractere seja exibido. Após o último caractere, o lcd começa do início e começa a exibir caracteres urdu desde o início.

Observação: A primeira linha do LCD exibe continuamente “Urdu Characters!” e os caracteres urdu são exibidos na segunda linha. Cada caractere urdu é exibido no LCD com uma lacuna de matriz do outro. Como o LCD 16×2 tem 16 coulombs, 8 caracteres com uma separação de matriz dos outros são exibidos perfeitamente na segunda linha do LCD.

Código/Arquivos do Projeto

Conteúdo Relacionado

Microchip Technology ha presentado la familia de controladores Universal...
Acumentrics introduziu uma nova unidade robusta de distribuição de...
Ethernovia, Inc. anunciou a amostragem de uma família escalável...
Neste projeto, construiremos um aplicativo de pintura no Arduino...
A RIGOL Technologies está expandindo sua família de instrumentos...
A digitalização mudou-nos significativamente para uma sociedade sem papel,...
A Infineon Technologies AG apresenta os novos MOSFETs CoolSiC...
En cada vehículo hay una red de sensores integrada...
El controlador del motor es uno de los componentes...
ESP32-CAM es un módulo de cámara compacto que combina...
La evolución de los estándares USB ha sido fundamental...
SCHURTER anuncia una mejora de su popular serie SWZ...
Visual Communications Company (VCC) ha anunciado sus nuevos tubos...
A Sealevel Systems anuncia o lançamento da Interface Serial...
A STMicroelectronics introduziu Diodos retificadores Schottky de trincheira de...
Determinar uma localização precisa é necessário em várias indústrias...
O novo VIPerGaN50 da STMicroelectronics simplifica a construção de...
Regresar al blog

Deja un comentario

Ten en cuenta que los comentarios deben aprobarse antes de que se publiquen.