Página 1 de 1

Auxilio LCD 3.5Dig 7S

MensagemEnviado: 06 Mar 2018 09:02
por fabim
Pessoal, para quem já fez algo ou pelo menos conhece algo, peço auxilio.
Estou a 4 dias gastanto algumas horas por dia lendo o manual do PIC18F67K90, na parte que trata sobre a utilização do direct display drive.
Eu estou querendo utilizar o display LCD de 3.5Dig e 7S padrão de mercado, que é encontrado nestes multimetros de baixo custo.
Porém até o momento eu não consegui entender, ou sair do lugar!!
Vi que existe apenas 1 comum para todos os segmentos!!
Imagino que os segmentos devem ser multiplexados por nivel de tensão ou algo do tipo, pois já li isto a uns trocentos anos atrás.
Porém não consigo entender como conectar o display aos pinos do pic, ou sequer configurar para o fim que descrevi!!

Alguém sabe me explicar, indicar ou qualquer coisa que possa me ajudar ???


Muito obrigado!

Re: Auxilio LCD 3.5Dig 7S

MensagemEnviado: 06 Mar 2018 10:54
por tcpipchip
talvez o pessoal da CIKA ELETRONICA, se ainda existir pode lhe ajudar

Eu trabalhei com HOLTEK e fiz funcionar na epoca um LCD destes, mas, foi em 1995 :(

Usei o software HT-IDE3000V6

Achei até o codigo

Código: Selecionar todos
//Controlador de LCd 3,5DIG
//Miguel Wisintainer 13-3-1995
#include <ht49c70-1.h>
unsigned char *ponteiro_lcd;

const  char ROM_CHARACTER_1[8][30]={           {1,1,1,1,1,
                                     1,0,0,0,1,
                                     1,1,1,1,1,
                                     1,0,0,0,1,
                                      1,0,0,0,1,
                                    0,0,0,0,0
                                    },
                                    {1,1,1,1,0,
                                      1,0,0,0,1,
                                      1,1,1,1,1,
                                      1,0,0,0,1,
                                      1,1,1,1,0,
                                    0,0,0,0,0
                                    },
                                    {1,1,1,1,1,
                                      1,0,0,0,0,
                                      1,0,0,0,0,
                                      1,0,0,0,0,
                                      1,1,1,1,1,
                                    0,0,0,0,0
                                    },
                                    {1,1,1,1,0,
                                      0,1,0,0,1,
                                      0,1,0,0,1,
                                      0,1,0,0,1,
                                      1,1,1,1,0,
                                    0,0,0,0,0
                                    },
                                    {1,1,1,1,1,
                                      1,0,0,0,0,
                                      1,1,1,1,0,
                                      1,0,0,0,0,
                                      1,1,1,1,1,
                                    0,0,0,0,0
                                    },
                                    {1,1,1,1,1,
                                      1,0,0,0,0,
                                      1,1,1,1,0,
                                      1,0,0,0,0,
                                      1,0,0,0,0,
                                    0,0,0,0,0
                                    },
                                    {0,1,1,1,0,
                                      1,0,0,0,0,
                                      1,0,1,1,1,
                                      1,0,0,1,0,
                                      0,1,1,1,0,
                                    0,0,0,0,0
                                    },
                                    {1,0,0,0,1,
                                      1,0,0,0,1,
                                      1,1,1,1,1,
                                      1,0,0,0,1,
                                      1,0,0,0,1,
                                    0,0,0,0,0
                                    }
                                   };

const char ROM_CHARACTER_2[8][30]={            {0,1,1,1,0,
                                      0,0,1,0,0,
                                      0,0,1,0,0,
                                      0,0,1,0,0,
                                      0,1,1,1,0,
                                    0,0,0,0,0
                                    },
                                    {0,1,1,1,1,
                                      0,0,0,1,0,
                                      0,0,0,1,0,
                                      0,1,0,1,0,
                                      0,1,1,1,0,
                                    0,0,0,0,0
                                    },
                                    {1,0,0,1,0,
                                      1,0,1,0,0,
                                      1,1,0,0,0,
                                      1,0,1,0,0,
                                      1,0,0,1,0,
                                    0,0,0,0,0
                                    },
                                    {1,0,0,0,0,
                                      1,0,0,0,0,
                                      1,0,0,0,0,
                                      1,0,0,0,0,
                                      1,1,1,1,0,
                                    0,0,0,0,0
                                    },
                                    {1,0,0,0,1,
                                      1,1,0,1,1,
                                      1,0,1,0,1,
                                      1,0,1,0,1,
                                      1,0,0,0,1,
                                    0,0,0,0,0
                                    },
                                    {1,0,0,0,1,
                                      1,1,0,0,1,
                                      1,1,1,0,1,
                                      1,0,1,0,1,
                                      1,0,0,1,1,
                                    0,0,0,0,0
                                    },
                                    {0,1,1,1,0,
                                      1,0,0,0,1,
                                      1,0,0,0,1,
                                      1,0,0,0,1,
                                      0,1,1,1,0,
                                    0,0,0,0,0
                                    },
                                    {1,1,1,1,0,
                                      1,0,0,0,1,
                                      1,1,0,0,1,
                                      1,1,1,1,0,
                                      1,0,0,0,0,
                                    0,0,0,0,0
                                    }
                                  };

const char ROM_CHARACTER_3[8][30]={            {0,1,1,1,0,
                                      1,0,0,0,1,
                                      1,0,0,0,1,
                                      0,1,1,1,1,
                                      0,0,0,0,1,
                                    0,0,0,0,0
                                    },
                                    {1,1,1,1,0,
                                      1,0,0,1,0,
                                      1,1,1,1,0,
                                      1,0,1,0,0,
                                      1,0,0,1,0,
                                    0,0,0,0,0
                                    },
                                    {0,1,1,1,1,
                                      1,0,0,0,0,
                                      0,1,1,1,0,
                                      0,0,0,0,1,
                                      1,1,1,1,0,
                                    0,0,0,0,0
                                    },
                                    {1,1,1,1,1,
                                      0,0,1,0,0,
                                      0,0,1,0,0,
                                      0,0,1,0,0,
                                      0,0,1,0,0,
                                    0,0,0,0,0
                                    },
                                    {1,0,0,0,1,
                                      1,0,0,0,1,
                                      1,0,0,0,1,
                                      1,0,0,0,1,
                                      1,1,1,1,1,
                                    0,0,0,0,0
                                    },
                                    {1,0,0,0,1,
                                      1,0,0,0,1,
                                      1,0,0,0,1,
                                      0,1,1,1,0,
                                      0,0,1,0,0,
                                    0,0,0,0,0
                                    },
                                    {1,0,0,0,1,
                                      0,1,0,1,0,
                                      0,0,1,0,0,
                                      0,1,0,1,0,
                                      1,0,0,0,1,
                                    0,0,0,0,0
                                    },
                                    {1,0,0,0,1,
                                      0,1,0,1,0,
                                      0,0,1,0,0,
                                      0,0,1,0,0,
                                      0,0,1,0,0,
                                    0,0,0,0,0
                                    },
                                 };

const char ROM_CHARACTER_4[1][30]=   {          {1,1,1,1,0,
                                      0,0,0,1,0,
                                      0,0,1,0,0,
                                      0,1,0,0,0,
                                      1,1,1,1,0,
                                    0,0,0,0,0
                                    }
                                 };

char COM_SEG;
char BITMAP;
char ROM_TABLE_CHARACTER;
char INDEX_TABLE_CHARACTER;
char temp;

char Verifica_ROM_CHARACTER(char caracter, char bit_map_character)
{
   if(caracter<=7)
   {
     INDEX_TABLE_CHARACTER=caracter;
       return(ROM_CHARACTER_1[INDEX_TABLE_CHARACTER][bit_map_character]);
   }
   if(caracter>=8 && caracter<=15)
   {
     INDEX_TABLE_CHARACTER=caracter-8;
       return(ROM_CHARACTER_2[INDEX_TABLE_CHARACTER][bit_map_character]);
   }

   if(caracter>15 && caracter<=23)
   {
     INDEX_TABLE_CHARACTER=caracter-16;
       return(ROM_CHARACTER_3[INDEX_TABLE_CHARACTER][bit_map_character]);
   }

   if(caracter>23)
   {
     INDEX_TABLE_CHARACTER=caracter-24;
       return(ROM_CHARACTER_4[INDEX_TABLE_CHARACTER][bit_map_character]);
   }

   return(1);
}


void Imprime_os_4_LCD(char c1,char c2, char c3,char c4)
{
   ponteiro_lcd= (unsigned char *) 0x140;
   COM_SEG=0;

   for(BITMAP=0;BITMAP<=24;BITMAP++)
      {
         if(Verifica_ROM_CHARACTER(c1,BITMAP))
            COM_SEG=COM_SEG+1;
         if(Verifica_ROM_CHARACTER(c2,BITMAP))
            COM_SEG=COM_SEG+2;
         if(Verifica_ROM_CHARACTER(c3,BITMAP))
            COM_SEG=COM_SEG+4;
         if(Verifica_ROM_CHARACTER(c4,BITMAP))
            COM_SEG=COM_SEG+8;
         *ponteiro_lcd=COM_SEG;
         COM_SEG=0;
         ponteiro_lcd++;
      }   
}

void Imprime_o_5_LCD(char c5)
{
   ponteiro_lcd= (unsigned char *) 0x159;
   COM_SEG=0;
   for(BITMAP=0;BITMAP<=4;BITMAP++)
      {
         if(Verifica_ROM_CHARACTER(c5,BITMAP))
            COM_SEG=COM_SEG+1;
         if(Verifica_ROM_CHARACTER(c5,BITMAP+10))
            COM_SEG=COM_SEG+2;
         if(Verifica_ROM_CHARACTER(c5,BITMAP+20))
            COM_SEG=COM_SEG+4;
         *ponteiro_lcd=COM_SEG;
         COM_SEG=0;
         ponteiro_lcd++;
      }   

   ponteiro_lcd= (unsigned char *) 0x15E;
   COM_SEG=0;
   for(BITMAP=5;BITMAP<=9;BITMAP++)
      {
         if(Verifica_ROM_CHARACTER(c5,BITMAP))
            COM_SEG=COM_SEG+1;
         if(Verifica_ROM_CHARACTER(c5,BITMAP+10))
            COM_SEG=COM_SEG+2;
         *ponteiro_lcd=COM_SEG;
         COM_SEG=0;
         ponteiro_lcd++;
      }   
}

void main(void)
{
repete:

    Imprime_os_4_LCD(0,1,2,3);


   for(temp=0;temp<=24;temp++)
   {
      Imprime_os_4_LCD(temp,temp,temp,temp);
      Imprime_o_5_LCD(temp);
    }
   goto repete;
}


Re: Auxilio LCD 3.5Dig 7S

MensagemEnviado: 06 Mar 2018 12:57
por KrafT
Só utilizei esse tipo de display burro com MSP430, baseado nesse doc: http://www.ti.com/lit/an/slaa654a/slaa654a.pdf

Re: Auxilio LCD 3.5Dig 7S

MensagemEnviado: 06 Mar 2018 15:25
por fabim
Egidio, Miguel, Obrigado!!

Vou ler os documentos, e bater a cabeça até descobrir!!