Brilho do Led controlado com microcontrolador 8051(89c51,89c52)

Brilho do Led controlado com microcontrolador 8051(89c51,89c52)

Controlar o brilho do LED ou desbotar um LED usando o microcontrolador 8051(89c51,89c52) não é uma tarefa fácil. É necessário um conhecimento profundo dos temporizadores do microcontrolador 8051 e seus registros para atenuar ou controlar o brilho do LED com o microcontrolador 89c51. Então neste projeto/tutorial vou te ensinar como fazer fade de um led com microcontrolador 89c51?

Como controlar o brilho do LED?

Para desbotar e controlar o brilho do LED, temos que fornecer diferentes níveis de sinal de tensão para o LED. Cada nível de tensão brilha de acordo com o valor da tensão. Por exemplo, você tem um LED cuja classificação é de 5 volts. Para desvanecer temos que fornecer tensão variando de 0,1 a 5 volts. Com 5 volts, o LED de entrada brilhará com brilho máximo. Diminuir a tensão de 5 diminuirá o brilho do LED. Se acelerarmos o ciclo de brilho, o LED mostrará um efeito de desbotamento.

Método típico de controle de brilho do LED

Um resistor variável pode facilmente desbotar um led variando a resistência, se o led estiver conectado em série com ele. A variação da resistência aumenta ou diminui a tensão de saída. Da mesma forma que giramos o potenciômetro/resistor variável do ventilador para acelerar ou diminuir a velocidade de rotação do ventilador de teto doméstico. Com resistor/potenciômetro variável é fácil controlar o brilho do led. Mas quando precisamos controlar o brilho com o microcontrolador, parece ser uma tarefa difícil, pois não há funcionalidade de resistor variável no microcontrolador.

Como desbotar o led usando microcontroladores?

A melhor maneira de desbotar o LED usando microcontroladores é usar a técnica PWM (modulação por largura de pulso). Na modulação por largura de pulso, o ciclo de trabalho do sinal é variado. O ciclo de trabalho é a proporção entre o período ativo e o período não ativo. Para cada ciclo de trabalho, a tensão de saída é diferente. O ciclo de trabalho de 100% fornece tensão máxima. Quando o ciclo de trabalho diminui de 100%, a tensão de saída também diminui. Aqui está uma imagem simples que esclarece o jogo do ciclo de trabalho.
Ciclos de trabalho PWM

Ciclos de trabalho PWM

Diagrama de circuito de desvanecimento do LED 89c51

Conectei o led ao pino nº 0 da porta 1 do microcontrolador 89c51. O LED está conectado em série a um resistor de 510 ohms. O cristal de 11,0592 MHz é usado para fornecer clock ao microcontrolador 8051. O Crystal é conectado ao microcontrolador 8051 em paralelo a dois capacitores de 22pf. O diagrama do circuito do projeto é fornecido abaixo.
Fading led usando técnica PWM com microcontrolador 89c51

Fading led usando técnica PWM com microcontrolador 89c51

Geração de sinal PWM (modulação por largura de pulso) usando temporizadores de microcontrolador 89c51

Para gerar PWM usando microcontrolador é necessário utilizar seu temporizador. No código abaixo usei temporizadores para gerar PWM. Os microcontroladores da série 8051 possuem dois temporizadores integrados. Você pode usá-los como 16 ou 8 bits. Visto que 8051 é um microcontrolador de 8 bits, como poderíamos usar o temporizador no modo de 16 bits. Existem dois registros de 8 bits dedicados para temporizadores. Você pode combiná-los para usar o temporizador no modo de 16 bits. Esses registradores são THx e TLx. Para saber mais sobre os temporizadores 8051, os registros associados a eles e como usar os temporizadores basta seguir um pequeno tutorial.
Como usar temporizadores internos do microcontrolador 8051(89c51,89c52)?

Estou usando o Timer-0 do microcontrolador 89c51 no modo de 16 bits. São duas variáveis ​​mais importantes no meu código. Eles são alto-baixo e h1-l1. alto-baixo está associado ao período alto do sinal e h1-l1 está associado ao período baixo do sinal. high e h1 estão associados ao registro TH0 de 89c51. Estou gerando 20 ondas diferentes para atingir o PWM. 20 ondas diferentes significam 20 ciclos de trabalho diferentes. No código, um loop for é executado 20 vezes, a lógica do ciclo de trabalho é colocada nesse loop for. Inicialmente, o ciclo de trabalho é baixo por um pequeno período e depois aumenta cada vez mais até 100%. Na verdade, os temporizadores são carregados com 20 valores diferentes e funcionam com 20 valores diferentes, mas ao mesmo tempo o temporizador funciona com um único valor.

No código inicialmente TH0 é carregado com 0xFF(alto) e TL0 com 0xFF(baixo), esta combinação é para sinal alto. O temporizador funciona com esta combinação 100 vezes e ao mesmo tempo para sinal baixo TH0 é carregado com 0xEB(h1) e TL0 0xFF(l1). TH0 é carregado com 0xEB porque inicialmente queremos sinal baixo por um longo período. Agora, quando este loop for executado, o sinal para ondas altas aumenta e o sinal para ondas baixas diminui. Devido ao qual recebemos um sinal PWM como saída no pino e podemos ver o desbotamento do LED e o brilho aumentando e diminuindo continuamente.

Observação: 0xEB fornece uma lacuna de 0xFF-0xEB(hexadecimal)=20(decimal). Portanto, estamos aumentando e diminuindo nossos níveis de sinal igualmente em ambos os lados (alto e baixo). h1 aumenta de 0xEB e vai para 0xFF após 20 incrementos e high diminui de 0xFF para 0xEB após 20 decrementos. Você pode aumentar a frequência PWM usando um cristal de alto valor.

Baixe o código do projeto e o arquivo HEx. O código é escrito em linguagem C e o compilador keil é usado para compilar o código. A pasta também contém a simulação do projeto. A simulação é feita no Proteaus 8.0. Por favor, dê-nos o seu feedback sobre o projeto.
Fading Led com microcontrolador 89c51

Conteúdo Relacionado

Uma rede de sensores é incorporada em todos os...
O controlador do motor é um dos componentes mais...
ESP32-CAM é um módulo de câmera compacto que combina...
A evolução dos padrões USB foi fundamental para moldar...
A SCHURTER anuncia um aprimoramento para sua conhecida série...
A Sealevel Systems anuncia o lançamento da Interface Serial...
A STMicroelectronics introduziu Diodos retificadores Schottky de trincheira de...
Determinar uma localização precisa é necessário em várias indústrias...
O novo VIPerGaN50 da STMicroelectronics simplifica a construção de...
A Samsung Electronics, fornecedora de tecnologia de memória avançada,...
O mercado embarcado tem uma necessidade de soluções de...
Você provavelmente já se deparou com o termo 'arrastar'...
Você provavelmente tem um Isolador de suporte Se você...
Você provavelmente já viu permanecer um isolante sente-se em...
Você provavelmente já viu Isoladores de manilha entronizados em...
Você provavelmente já passou por situações em que o...
返回博客

发表评论

请注意,评论必须在发布之前获得批准。