Auxilio LCD 3.5Dig 7S

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

Auxilio LCD 3.5Dig 7S

Mensagempor fabim » 06 Mar 2018 09:02

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!
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Re: Auxilio LCD 3.5Dig 7S

Mensagempor tcpipchip » 06 Mar 2018 10:54

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;
}

------------------------------------------
http://www.youtube.com/tcpipchip
Avatar do usuário
tcpipchip
Dword
 
Mensagens: 6560
Registrado em: 11 Out 2006 22:32
Localização: TCPIPCHIPizinho!

Re: Auxilio LCD 3.5Dig 7S

Mensagempor KrafT » 06 Mar 2018 12:57

Só utilizei esse tipo de display burro com MSP430, baseado nesse doc: http://www.ti.com/lit/an/slaa654a/slaa654a.pdf
"..."Come to the edge," he said. And so they came. And he pushed them. And they flew."― Guillaume Apollinaire
Avatar do usuário
KrafT
Dword
 
Mensagens: 2228
Registrado em: 11 Out 2006 14:15
Localização: Blumenau -SC

Re: Auxilio LCD 3.5Dig 7S

Mensagempor fabim » 06 Mar 2018 15:25

Egidio, Miguel, Obrigado!!

Vou ler os documentos, e bater a cabeça até descobrir!!
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?


Voltar para PIC

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

x