Ir ao conteúdo
  • Cadastre-se

Projeto 8051 Assembly


Posts recomendados

Galera, estou com um probleminha... Estou com um projeto que pede:

 

Objetivos

 

   Montar um hardware no Proteus com base no microcontrolador 8051 e com os seguintes periféricos: 

  1. um teclado matricial 4x4
  2. 4 displays de 7 segmentos multiplexados (poderá ser utilizado o módulo disponível no Proteus que contém 4 displays integrados).
  3. 1 relé
  4. Quando a tecla pressionada for numérica, o número deve aparecer no display de 7 segmentos, seguindo a ordem: milhar<-centena<-dezena<-unidade.
Requisitos Obrigatórios do Trabalho
 
  • O sistema deverá cadastrar uma senha de 4 dígitos. Esse cadastro deve ser efetuado ao ser pressionado a sequência “on”, “=”, “+”, “9”, “9” .
  • Em seguida, deve aparecer a mensagem ScAd, por 1 segundo e depois os quatro displays devem ser apagados, sendo acendido somente um cursor fixo (_) posicionado no display menos significativo.
  • Neste momento deve ser inserida a senha que se deseja cadastrar. Cada dígito inserido deve ser exibido no display, sendo cada novo dígito inserido no primeiro display (Menos significativo) e os demais rolados à esquerda.
  • Durante o processo de cadastramento da senha, ao ser pressionada a tecla “x” (vezes), o último dígito inserido deve ser apagado e o cursor deve permanecer aceso na posição onde o dígito estava.
  • Ao final do 4o dígito, deve ser pressionado a tecla “+” (mais) para salvar a senha. Neste momento deve ser exibida a mensagem SSAL (senha salva) durante 1 segundo e um sinal sonoro de 2kHz deve ser gerado, pelo mesmo período.
  • A partir daí o programa deve aguardar uma senha, com todos os displays apagados e somente o cursor “_” do primeiro display aceso, piscando com uma cadência de 0,5s (0,5 aceso e 0,5 apagado).
  • Quando a senha for digitada corretamente, deve ser exibida a mensagem AbrE por um segundo, gerar um sinal sonoro de 2kHz pelo mesmo período. É gerado então um pulso de 500ms no pino que estiver conectado ao relé, para acionar a abertura do cofre.
  • Em seguida, o programa retorna para o estado de aguardar senha. Caso a senha seja digitada errada, deve ser exibida a mensagem Erro por um segundo e o programa retorna para o estado de aguardar senha.

 

90% do projeto já está concluído, apenas a parte de geração de sinal sonoro com 2kHz e o pulso de 500ms q eu não estou sabendo fazer, caso alguém saiba fazer isso ou me forneça ao menos um exemplo ao qual eu possa estar estudando e adaptando para usar no meu projeto eu vou estar agradecendo imensamente.

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Amigo, a multiplexação atrapalha a geração de 2Khz.

3 alternativas:

-multiplexar a 4Khz e controlar a inversão do um pino de áudio na interrupção

-parar a interrupt pra gerar o pulso de 2Khz

-e a que recomendo... programar a serial com baudrate 2Khz e enviar alguns 0x55 durante 500mS no pino tx. Não precisa interromper a interrupt

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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

×
×
  • Criar novo...