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:  
Thiago Lima Lopes

Display RG2004A (20x4) não aparece digitos

Recommended Posts

olá pessoal eu estou desenvolvendo um projeto de tcc, elaboreio código e o circuito, testei td no proteus e funcionou, porém quando fui testar na protoboard o display liga mas não aparece digito algum.

o código a baixo é um trecho do código original, esse é o q eu estou usando para teste:


;inicialição do display lcd

        org 0000h
        mov p2, #00h
        mov p0, #00h

;controle do display
        rst equ p2.0
        e equ p2.2
    
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
;                          inicio do programa
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++        
        clr rst        ;reseta reset
                
        mov p0, #0ch    ;ativa display s/ cursor 
        acall envdado

        mov p0, #3ch    ;estabaelece o numeri da linhas(2)
        lcall envdado
        
        ;mensagem de iniciando
;============================================================================    
                            
        lcall linha2            ;vai para proxima linha
        mov dptr, #iniciando        ;carreba o dptr com bom_dia
        lcall escreve            ;escreve mensagem da tabela

        lcall tempo            ;aguarda 2s
        lcall tempo
        
                ;escreve na segunda tala
;=============================================================================
        lcall limpa

        mov dptr, #etec
        lcall escreve
        
        lcall linha2
        
        mov dptr, #etec2
        lcall escreve
        
        lcall linha4
        
        mov dptr, #santos
        lcall escreve    
        
        lcall tempo 
        lcall tempo
        lcall tempo
        
        ;mensagem1                
                
        ;escreve terceira tela
;==============================================================================
        lcall limpa    
                        
        mov dptr, #tcc        ;carreba o dptr com tcc
        lcall escreve
                            
        lcall linha2        ;vai para proxima linha
                            
        mov dptr, #sem        ;carreba o dptr com 2sem
        lcall escreve
        
        lcall linha4        ;vai para proxima linha
                
        mov dptr,#santos    ;carrega dptr com a tabela santos
        lcall escreve
                        
        lcall tempo
        lcall tempo
        lcall tempo
        
;==========================================================================
;================              sub rotinas                =================        
        
;enviar dados
;============================================================================

envdado:    clr rst        ;limpa reset (p/ enviar instruções)
        setb e         ;seta enable
        clr e        ;reseta enable
        lcall delay    ;chama rotina de delay
        ret
;pula linha
;=============================================================================
    
linha2:        mov p0, #0c0h    ;envia informação p/ portas de dados
        lcall envdado    ;habilita leitura dos dados p/ display        
        ret 
        
linha4:        mov p0, #0d4h    ;envia informação p/ portas de dados
        lcall envdado    ;habilita leitura dos dados p/ display    
        ret         
;linpando display
;==============================================================================    
limpa:        clr rst        ;reseta o reset
        mov p0, #01h    ;limpa display retorna cursor ao inicio
        lcall envdado
        mov p0, #0ch    ;ativa display s/ cursor 
        lcall envdado
        mov p0, #3ch    ;estabaelece o numeri de linhas(2)
        lcall envdado
        
        ret
;frases
;==============================================================================                

iniciando:    db '      iniciando     '

tcc:        db ' tcc de eletronica  '        
sem:        db '  2 sem. de  2017   '

santos:        db '    santos-2017     '

etec:        db '        etec        '
etec2:        db 'aristoteles ferreira'

;escreve caracteres no display
;==============================================================================
        
escreve:    setb rst
        mov r5,#20            ;indice
volta:        clr a                 ;limpa o acc
        movc a,@a+dptr            ;mov p/ acc o conteúdo apontado por
                        ;dptr+acc
        setb e                ;seta enable
        mov p0,a            ;move para p0 o conteudo de acc
        lcall delay
        clr e                ;reseta enable (escreve)
        lcall delay
        inc dptr            ;incrementa dptr
        djnz r5, volta            ;decrementa r5 e salta p/ volta
        ret
    
;rotina de delay
;==============================================================================        
delay:        mov r0, #100
        djnz r0,$
        ret            
;rotina de tempo
;==============================================================================        
tempo:        mov r0, #8
volta2:        mov r1, #250
volta1:        mov r2, #250
        djnz r2, $
        djnz r1, volta1
        djnz r0, volta2        
        ret
        end

 

circuito proteus.PNG

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu não domino essa tua linguagem... mas já tentou um "hello Word" neste lcd fora do proteus no circuito real? Está funcionando? Pois precisa de resistores nesses LCDs ou ajuste no potenciômetro na parte de trás se for o caso.. 

 

Se tiver funcionando alguém vai lhe ajudar abaixo, acaso não reveja seu circuito só do lcd.

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
5 horas atrás, Thiago Lima Lopes disse:

olá pessoal eu estou desenvolvendo um projeto de tcc, elaboreio código e o circuito, testei td no proteus e funcionou, porém quando fui testar na protoboard o display liga mas não aparece digito algum.

 

circuito proteus.PNG

 

 

Bom, não posso falar nada sobre o display... mas duvido muito esse seu circuito de teclado funcionar na prática ...

 

Paulo

Editado por aphawk

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não sei quanto ao datasheet mas eu (eu) gosto de colocar um capacitor entre reset e gnd. PSEN e ALE também não gosto de deixar abertos. Se não for lhe pedir muito e achar que deve, consulte o datasheet por gentileza.

13 horas atrás, aphawk disse:

circuito de teclado

...sinistro mesmo...

adicionado 12 minutos depois

ops... capacitor entre reset e vcc...

ds pfv

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • Autor do tópico
  • Em 07/09/2017 às 19:10, aphawk disse:

     

     

    Bom, não posso falar nada sobre o display... mas duvido muito esse seu circuito de teclado funcionar na prática ...

     

    Paulo

    Então paulo, funcionou aq era só o port P0 q tava sem resistores de pullup. Coloquei uma ponte resistiva e ficou uma beleza, depois arrumei uns erros q tinha no programa nesse trecho principalmente :

     

    escreve:    setb rst
                       mov r5,#20                       ;indice
    volta:           clr a                                   ;limpa o acc
                        movc a,@a+dptr            ;mov p/ acc o conteúdo apontado por
                                                                ;dptr+acc
                         setb e                ;seta enable
                        mov p0,a            ;move para p0 o conteudo de acc
                       lcall delay
                         clr e                ;reseta enable (escreve)
                   
      lcall delay
                       inc dptr            ;incrementa dptr
                        djnz r5, volta            ;decrementa r5 e salta p/ volta
                          ret

     

    o "setb e                ;seta enable" saiu dai e foi pro lugar do "lcall delay" q eu deletei.

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
    2 horas atrás, Thiago Lima Lopes disse:

    era só o port P0 q tava sem resistores de pullup

    ...estranho .. eu podia jurar que vi uma rede RN1 lá no esquema. Acho que foi alucinação...

    Ah .. o sinistro.... aqueles bc´s fazem pouco ou nenhum sentido. Como estão ligados, é o mesmo os pinos do tec direto nos ports. Ou estão só como diodos.. que penso ser melhor...

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
  • Autor do tópico
  • Em 05/10/2017 às 14:06, Isadora Ferraz disse:

    ...estranho .. eu podia jurar que vi uma rede RN1 lá no esquema. Acho que foi alucinação...

    Ah .. o sinistro.... aqueles bc´s fazem pouco ou nenhum sentido. Como estão ligados, é o mesmo os pinos do tec direto nos ports. Ou estão só como diodos.. que penso ser melhor...

    você viu a RN1 no circuito do proteus, mas na protoboard eu não tinha colocado... monta no proteus e ve se funciona sem os bc"s espertão... ;)

    Entendeu o código pelo menos?

    Editado por Thiago Lima Lopes

    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






    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

    ×