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

Uma rede de sensores é incorporada em todos os...
O controlador do motor é um dos componentes mais...
ESP32-CAM é um módulo de câmera compacto que combina...
A evolução dos padrões USB foi fundamental para moldar...
A SCHURTER anuncia um aprimoramento para sua conhecida série...
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...
A Samsung Electronics, fornecedora de tecnologia de memória avançada,...
O mercado embarcado tem uma necessidade de soluções de...
Você provavelmente já se deparou com o termo 'arrastar'...
Você provavelmente tem um Isolador de suporte Se você...
Você provavelmente já viu permanecer um isolante sente-se em...
Você provavelmente já viu Isoladores de manilha entronizados em...
Você provavelmente já passou por situações em que o...
Você pode não pensar nisso com frequência, mas relés...
Torna al blog

Lascia un commento

Si prega di notare che, prima di essere pubblicati, i commenti devono essere approvati.