Ir ao conteúdo
  • Cadastre-se

Outro micro 8051 piano digital


Posts recomendados

Olá boa tarde. Esse é meu primeiro contato aqui no fórum. Tenho um trabalho a ser feito com o 8051 e sou leigo na linguagem assembly, agradeço desde já a ajuda de todos.

 O trabalho é:

Fazer um piano digital de uma escala “Do” até o outro “Do”, incluindo os sustenidos. São 13 teclas.

Do, Do#, Re, Re#, Mi, Fa, Fa#, Sol, Sol#, La, La#, SI E Do. Quando apertar uma tecla o micro deve soltar uma forma de onda 0 e 1 tipo clock com a frequência da nota musical da tecla e período T. e manter enquanto a tecla estiver sendo apertada. Só uma tecla por vez deve ser apertada.

Segue as frequências das notas:

Do, 252 Hz

 Do#, 277 Hz

Re, 294 Hz

Re#, 311 Hz

Mi, 330 Hz

Fa, 349 Hz

 Fa#, 370 Hz

Sol, 392 Hz

Sol#, 415 Hz

La, 440 Hz

La#, 466 Hz

SI, 494 Hz

 Do, 523 Hz.

 

Obrigado a todos..

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Só pra 'descarregar' um estilo algo como...

 

Em C... a rotina abaixo gera tons

#define saida P0.0
 

void delay(unsigned char t) //tempo

{

while (t--);

}

 

void nota(unsigned char d) //duração

{

while(d--);

{

saida^⁼1;

delay(nota);// a freq da nota definida pelas teclas abaixo

}

 

Define as notas

#define do P1.1

#define re P1.2

#define mi P1.3

...

digitei online. Depois você compara com seu assembly...

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

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