Eletrônica Silveira
Olá, Seja Bem-Vindo ao Fórum Eletrônica Silveira!!!!
Para você poder ver os mais variados Projetos do nosso Fórum, você precisa fazer o cadastro!

Depois de se Cadastrar, não se esqueça de ler as regras do fórum!

http://eletronicasilveira.forumeiros.com/t3-regras-do-forum#3


Administrador do Fórum,
Rafael Silveira
HOMENAGEM

Na vida tudo passa tudo acontece mas alguém igual a você a gente jamais esquece




★ 22 de novembro de 1991

† 12 de março de 2016

Nosso eterno amigo, administrador e fundador deste fórum
Quem está conectado
40 usuários online :: 10 usuários cadastrados, Nenhum Invisível e 30 Visitantes :: 2 Motores de busca

adelar, fandnas, fatorum, Iba, joelciodias, maheleno, phissico, Vidal alves, willychigo, “Alex”

[ Ver toda a lista ]


O recorde de usuários online foi de 264 em Seg 18 Mar 2013 - 11:54
Últimos assuntos
CURSOS ONLINE VIP
Top dos mais postadores
Rafael Silveira (7816)
 
Caca Silva (6017)
 
renatoscp (3877)
 
CMeletronica (3209)
 
michel chagas (2791)
 
Railson (2119)
 
alexsandro rodrigues de a (1813)
 
naldo santos (1599)
 
ablacon64 (1222)
 
gilvantexas (1061)
 

Medidor de Velocidade

Publicidade

Números grandes em LCD Alphanumérico com PIC como criar?

Ir em baixo

Números grandes em LCD Alphanumérico com PIC como criar?

Mensagem por Caca Silva em Qui 14 Jun 2018 - 21:47

Boa noite. Nunca havia pensando nessa possibilidade mas navegando pela net vi alguns exemplos disso.

Tentei algumas coisinhas com o Mikroc ou o CCS mas não consegui sair do lugar, usando a função de caracteres especiais o máximo que consigui criar foram 8 caracteres por causa da memória CGRAM ir de 0 a 7. Alguém sabe outra maneira de fazer isso de preferência com o Mikroc?
Minha tentativa com o CCS (fiz o número 0):
Código:

#include <16F628A.h>
#FUSES NOMCLR                   //Master Clear pin used for I/O
#FUSES NOBROWNOUT               //No brownout reset
#FUSES NOLVP                    //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#use delay(crystal=4000000)

#include <DSPGRDCCS.h>
#define LCD_ENABLE_PIN PIN_B0
#define LCD_RS_PIN PIN_B1
#define LCD_RW_PIN PIN_B2
#define LCD_DATA4 PIN_B4
#define LCD_DATA5 PIN_B5
#define LCD_DATA6 PIN_B6
#define LCD_DATA7 PIN_B7

#include <lcd.c>
int zero1[8] = {0x1F,0x1F,0x1F,0x1C,0x1C,0x1C,0x1C};
int zero2[8] = {0x1F,0x1F,0x1F,0x07,0x07,0x07,0x07};
int zero3[8] = {0x1C,0x1C,0x1C,0x1C,0x1F,0x1F,0x1F};
int zero4[8] = {0x07,0x07,0x07,0x07,0x1F,0x1F,0x1F};

void main()
{

   lcd_init();
   lcd_set_cgram_char(0,zero1);
   lcd_set_cgram_char(1,zero2);
   lcd_set_cgram_char(2,zero3);
   lcd_set_cgram_char(3,zero4);


   while(TRUE)
   {
    
   printf(lcd_putc,"\f%c%c\n%c%c", 0,1,2,3);
   delay_ms(50);
  
      
   }

}

_________________
avatar
Caca Silva
ADMINISTRADOR
ADMINISTRADOR

Mensagens : 6017
Data de inscrição : 30/01/2011
Idade : 38
Localização : Ritápolis MG

Voltar ao Topo Ir em baixo

Re: Números grandes em LCD Alphanumérico com PIC como criar?

Mensagem por clebermag em Seg 25 Jun 2018 - 10:50

Caca, seguinte, olhando seu post, vi que não são necessários mais do que os 7 caracteres disponívieis para fazer o que vc precisa.

Uma solução imediata é você criar uma função especial para enviar caracteres, algo assim:

void Enviar_numero(numero, pos);

void Enviar_numero (int numero, int pos)
{
switch(numero)
{
case 0:
lcd_gotoxy(pos,0);
lcd_putc(PRIMEIRO_CARACTER_0); // define para o dado da cgram
lcd_putc(SEGUNDO_CARACTER_0); // define para o dado da cgram
lcd_putc(TERCEIRO_CARACTER_0); // define para o dado da cgram
lcd_putc(' '); // caracter espaço
lcd_gotoxy(pos,1);
lcd_putc(QUARTO_CARACTER_0); // define para o dado da cgram
lcd_putc(QUINTO_CARACTER_0); // define para o dado da cgram
lcd_putc(SEXTO_CARACTER_0); // define para o dado da cgram
lcd_putc(' '); // caracter espaço

break;

case 1:
lcd_gotoxy(pos,0);
lcd_putc(PRIMEIRO_CARACTER_1); // define para o dado da cgram
lcd_putc(SEGUNDO_CARACTER_1); // define para o dado da cgram
lcd_putc(TERCEIRO_CARACTER_1); // define para o dado da cgram
lcd_putc(' '); // caracter espaço
lcd_gotoxy(pos,1);
lcd_putc(QUARTO_CARACTER_1); // define para o dado da cgram
lcd_putc(QUINTO_CARACTER_1); // define para o dado da cgram
lcd_putc(SEXTO_CARACTER_1); // define para o dado da cgram
lcd_putc(' '); // caracter espaço
break;
case 2:
lcd_gotoxy((1+pos_x),0);
lcd_putc(PRIMEIRO_CARACTER_2); // define para o dado da cgram
lcd_putc(SEGUNDO_CARACTER_2); // define para o dado da cgram
lcd_putc(TERCEIRO_CARACTER_2); // define para o dado da cgram
lcd_putc(' '); // caracter espaço
lcd_gotoxy((1+pos_x),1);
lcd_putc(QUARTO_CARACTER_2); // define para o dado da cgram
lcd_putc(QUINTO_CARACTER_2); // define para o dado da cgram
lcd_putc(SEXTO_CARACTER_2); // define para o dado da cgram
lcd_putc(' '); // caracter espaço

break;
// ... e assim vai
}
}

uso:
....
Enviar_numero(2,0);
Enviar_numero(7,4);
lcd_gotoxy(5,1);
lcd_putc('.');
lcd_gotoxy(5,2);
lcd_putc('.');
Enviar_numero(2,9);
Enviar_numero(9,13);
...
Espero que ajude
avatar
clebermag
Nível 1
Nível 1

Mensagens : 1
Data de inscrição : 10/09/2016
Idade : 40
Localização : Ibirité

Voltar ao Topo Ir em baixo

Re: Números grandes em LCD Alphanumérico com PIC como criar?

Mensagem por Caca Silva em Seg 2 Jul 2018 - 17:45

Opa vou dar uma olhada

_________________
avatar
Caca Silva
ADMINISTRADOR
ADMINISTRADOR

Mensagens : 6017
Data de inscrição : 30/01/2011
Idade : 38
Localização : Ritápolis MG

Voltar ao Topo Ir em baixo

Re: Números grandes em LCD Alphanumérico com PIC como criar?

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Voltar ao Topo


 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum