Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
Entre para seguir isso  
elizeu.tce

Como é feito a multiplexação de display 7 seg. em c

Recommended Posts

Bom dia galera, sou iniciante em eletrônica e não tenho menor ideia de como é feito a multiplexação de display 7seg. em "C" já faço algumas coisas em "C" consigo um contador de 0-a-9 com um só display mas quando passa a ser dois ou mais não funciona, se alguém puder me dar um passo-a-passo desde já agradeço. 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Use uma porta para enviar o valor do que você quer visualizar em cada display 7 seg.

Use tantos pinos de saída quantos forem os displays de 7 seg.

Suponha que hajam 4 displays. Então use 4 pinos para acessar. Chame-os de D0, D1, D2 e D3.

Para mostrar os displays faça:

1 - Envie o código 7seg do display D0

2 - Acione o display D0. Costuma-se usar um transistor para não carregar muito os pinos D0 a D3.

3 - Mantenha acionado o display D0 por um tempo T0. Depois desligue D0.

4 - Repita os itens 1, 2 e 3 para D1.

5 - Repita os itens 1, 2 e 3 para D2.

6 - Repita os itens 1, 2 e 3 para D3.

7 - Repita os itens de 1 a 6 e mantenha-os em loop contínuo.

Observe que APENAS UM dos displays é acionado por vez. APENAS um dos pinos Ds é mantido em '1' lógico. enquanto os outros se mantém desligados. ISSO é um exemplo de multiplexação no tempo.

Agora vamos determinar T0.

Se o número de displays for N, então:

T0 = 30ms / N.

 

Como você está mostrando cada display por 1 / N do tempo total, deverá aumentar a corrente em cada led do display em, preferivelmente, N vezes o normal. Mas atente para os limites de corrente, determinados pelo transistor e pelos leds.

MOR_AL

Compartilhar este post


Link para o post
Compartilhar em outros sites

@elizeu.tce ,

 

voce está postando numa área só para Assembly.... mas já que começou aqui, seguirei aqui também. Mas seria interessante você continuar em outro tópico, fora daqui, digo, na área Geral de Microcontroladores.

 

 

Para entender o processo, dê uma olhada aqui, eu explico a teoria :

 

Os programas apresentados são em Basic, e você pode passar facilmente para o C.

 

Paulo

Editado por aphawk

Compartilhar este post


Link para o post
Compartilhar em outros sites

O que o moris disse foi meu 1º projeto funcional em assembly(!!!) com um 8049(!!). Perdi o fonte.. snif.

 

Bom, perceba como o verbo é conjugado nos itens de 1 a 7. Ou seja VOCÊ tem que fazer passo a passo e foi exatamente o que fiz naquela era. Isso incorria num problema: se eu fizesse algo (uma conta, uma leitura ad) entre um evento e outro, vai perder tempo e o display poderia ficar 1/2 doido. Retornando à atualidade...

 

Use uma interrupção de um timer. Algo como 50Hz por display. você vai perceber que 'bastam' os itens 1 e 2 que o moris propôs. O resto é 1/2 automático. O legal é que você vai poder fazer o que quiser dentro do main() pois os displays vão ser atualizados automaticamente. Algo como um coprocessador ou melhor... um mc multitarefas

Mó moleza. A qualquer momento (se você for 1 bom menino) publico parte de algum fonte meu.

 

Ah claro! isto é muito importante! Faça o que o moris sugeriu pra você entender o conceito da coisa em sw. Só depois disso vamos partir pro hw ok? Desculpem por 'atropelar'!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Entre para seguir isso  





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×