HOME      PROJETOS      PROGRAMAÇÃO     
Voltar ao índice

SR_USERCHAR addr,num,chrtab

A macro SR_USERCHAR addr,num,chartab permite criar um caracter do usuário na memória CGRAM de um LCD compatível com o Hitachi 44780. Essa macro usa a função SR_SETCGRAM da sobrotina subrotinas/lcdsr44780.php">lcdsr44780 portanto, essa subrotina deve ser incluida no programa juntamente com a infraestrutura para seu funcionamento, isto é, as subrotinas lcdsr44780.asm, delay_ms, delay_us, seus símbolos e registradores.

Essa macro permite que o usuário defina até 8 caracteres de 5 x8 bits memória CGRAM do LCD.

Para criar um caracter com a macro SR_USERCHAR, deve-se seguir os seguintes passos:

1 - Definir o endereço do caracter a ser gerado na CGRAM:

grausC equ 0x00 ; endereco do caracter na CGRAM


2 - Definir o número de caracteres a serem gerados:

qtd equ .1 ; vou definir somente um caracter


3 - Na família 16F, definir uma Table Read (chrtab) com o desenho do caracter:

chrtab ADDWF PCL,f DT 0x0E,0x11,0x11,0x0E,0x00,0x00,0x00,0x00 ; simbolo de graus celsius


4 - Na família 18F definir a tabela na memória de programa:

chartab DB 0x0E,0x11,0x11,0x0E,0x00,0x00,0x00,0x00 ; simbolo de graus celsius


5 - Chamar a macro:

SR_USERCHAR grausC, qtd, chrtab


Para criar vários caracteres de uma só vez as etapas são as seguintes:

Em ambas as famílias de microcontroladores, definir os endereços dos caracteres:

grau equ .0 ; endereco do simbolo graus celsius ssobe equ .1 ; endereco do seta para cima sdesce equ .2 ; endereco do seta para baixo


Na família 16F, definir o desenho dos caracteres:

cgram_chars ADDWF PCL,f DT 0x0E,0x11,0x11,0x0E,0x00,0x00,0x00,0xF1 ; simbolo de graus celsius DT 0x04,0x0E,0x1F,0x04,0x04,0x04,0x04,0xF1 ; flexa para cima DT 0x04,0x04,0x04,0x04,0x1F,0x0E,0x04,0xF1 ; flexa para baixo


Na familia 18F, definir o desenho dos caracteres:

cgram_chars DB 0x0E,0x11,0x11,0x0E,0x00,0x00,0x00,0xF1 ; simbolo de graus celsius DB 0x04,0x0E,0x1F,0x04,0x04,0x04,0x04,0xF1 ; flexa para cima DB 0x04,0x04,0x04,0x04,0x1F,0x0E,0x04,0xF1 ; flexa para baixo


Para ambas as familias usar a MACRO:

SR_USERCHAR grau, .3, cgram_chars



Voltar ao índice









H P S P I N

Desde 04 de Março de 2010

Atualização: 04 de May de 2024