Página 1 de 1

como colocar uma variavel bit em uma contagem infinita?

MensagemEnviado: 24 Out 2013 12:20
por renan-papaco
estou criando o seguinte programa:
Código: Selecionar todos
#include<at89x52.h>
#include<delay.h>
int cont;
char saida;

 void main(){
 while(1){
      for(cont=0;cont<10;cont++);
     P0=saida;
      saida++;

            }
            } 



mas a variável saida está em char... se eu coloca-la em bit, ela não conta... precisaria disso apenas pra gerar múltiplas frequências com um pino do port P0(eu usarei esse projetinho pra fazer uma espécie de teclado musical)

Re: como colocar uma variavel bit em uma contagem infinita?

MensagemEnviado: 24 Out 2013 14:33
por ze2
nem vou comentar sobre contagem infinita de variável bit.
voce pode fazer
Código: Selecionar todos
void main(){
while(1){
P00^=1; //ou P0_0 ou P0.0 ... inverte estado
delay(xxx); // e controlar a frequencia aqui
...
}
}

Acho que a porta P0 tem que ter pullup.
uma outra maneira seria fazer
Código: Selecionar todos
for(;;)
{
TXREG=0x55;//não lembro o nome do registro
baudrate=xxx; //e controlar a frequencia no baudrate. e não lembro como fazer
...
}

e usar um teclado por interrupt

Re: como colocar uma variavel bit em uma contagem infinita?

MensagemEnviado: 24 Out 2013 15:33
por renan-papaco
vlw..era isso msm

Re: como colocar uma variavel bit em uma contagem infinita?

MensagemEnviado: 24 Out 2013 15:48
por xultz
Cara, esse é um jeito bem ruim de gerar frequências, o ideal é usar o PWM prá poder gerar as notas com frequência bem precisa.

Re: como colocar uma variavel bit em uma contagem infinita?

MensagemEnviado: 24 Out 2013 22:04
por renan-papaco
xultz escreveu:Cara, esse é um jeito bem ruim de gerar frequências, o ideal é usar o PWM prá poder gerar as notas com frequência bem precisa.

aí q tá... como faço isso?quais os primeiros passos pra usar PWM no 8051? vou dar uma olhada por ai na net...