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.
IanTods

Interface de teclado de PC para 8051 via COM1

Recommended Posts

Olá a todos,

Estou desenvolvendo um projeto utilizando o microcontrolador 8051/31 que necessita do uso de um teclado. Cheguei a solução de utilizar o PC como via pra poder "mandar" os dados do teclado pra o micro, através do HyperTerminal. Bom até aí tudo bem, utilizando o sistema mínimo já montado do laboratório da minha escola, fiz um programa simples que só tinha o objetivo de "pegar" o dado recebido via serial e mandá-lo pro Port1, para eu ver o que estava sendo recebido. Constatei uns problemas, um deles foi que o bit mais significativo ficava semrpe em "1" mesmo quando teclava várias teclas, mas isso é fácil de se resolver, é sobre o outro problema que preciso de ajuda. O que acontece é o seguinte: o segundo bit mais significativo (no P1.6) permanece comutando a medida que aperto a mesma tecla, ou seja, quando eu aperto a letra "a", deveria aparecer no port o código ASCII 61h (01100001b) mas aparece 21h (00100001b, P1.6=0), mas quando eu reaperto "a", aparece o 61h, ou seja, p1.6 vai para 1 mostrando o verdadeiro código ASCII para a tecla, e reapertando novamente, P1.6 vai para 0 novamente (00100001b = 21h).

Tentei ser o mais claro possivel. Mas o que lhes peço é que me explique o porque dessa "comutação" e se tem como configurar para que seja enviado somente o código ASCII correto todas as vezes que a mesma tecla é pressionada.

Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Salve, IanTods.

Como estão configurados os parâmetros de comunicação no PC e no MCU?

Baud-rate, paridade, protocolo, essas coisas.

Eles tem que ser os mesmos, em ambas as pontas, tanto no PC, como no MCU.

Eu aqui tenho rotinas para comunicação serial entre o PC e o 8051, em linguagem C, utilizando o HyperTerminal.

http://download.editoraerica.com.br/prog_c_8051/exercicios.exe

você está usando o conversor de nível TTL-232?

Eu uso MAX232. Seu uso é obrigatório nesse tipo de comunicação.

Post seu programa aqui. Fica melhor pra analisar, principalmente, as rotinas de geração de comunicação.

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Maurício2006,

Pra mim só é possivel fazer testes na minha escola, tanto que o programa está no PC de lá, mas como ele é simples posso refazê-lo aqui sem problemas, logo postarei. Mas só queria adicionar uma coisa: fiz um teste utilizando osciloscópio direto no cabo serial que sai do pc, e o mesmo problema da comutação do bit 6 ocorria, logo, acredito que o problema seja no computador, na transmissão, configuração do HyperTerminal e tal.

Quanto às suas perguntas, sim, na placa do sistema minimo já tem o MAX232, pus baud-rate de 2400bps que é melhor com um cristal de 12MHz que é meu caso, no hyperterminal não pus paridade e deixe sem controle de fluxo. Protocolo? não me lembro de ter mexido algo do tipo.

Obrigado! ^^

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

×