Leds piscando com microcontrolador 8255 e 8051(89c51,89c52)

Leds piscando com microcontrolador 8255 e 8051(89c51,89c52)

Aqui está um projeto simples sobre como fazer a interface do 8255 com o microcontrolador 8051 (89c51). O projeto demonstra um programa simples de leds piscando. Os LEDs são conectados à porta A do 8255. Quando os quatro bits inferiores da porta A do 8255 estão altos, os quatro bits superiores estão baixos. Os LEDs conectados à ponta superior permanecerão apagados e os da parte inferior acenderão. Após algum atraso, os bits são alterados e os leds superiores acenderão e os inferiores apagarão. Toda esta condição está em execução contínua. Fazendo a porta A morder alto e baixo ou acender e apagar os LEDs.

Se você não estiver familiarizado com o periférico programável 8255. Aqui é bom tutorial

  • PIN 8255 E DESCRIÇÃO DE TRABALHO.

Eu recomendo que você faça o tutorial porque se você não estiver familiarizado com o 8255, identifique seu funcionamento e sua inicialização. Então é muito difícil entender o código abaixo.

O circuito é muito fácil. Conecte a porta 2 do 8051 com os pinos de dados do 8255. Faça os pinos CS (seleção de chip) e RESET do aterramento do 8255. Conecte A0 com a porta 1, pino 0 do microcontrolador 8051, e A1 com a porta 1, pino 1. Conecte o pino WR (gravação) de 8255 com a porta 3, pino 6. Conecte o pino RD (leitura) de 8255 com a porta 3, pino 7. O diagrama de circuito é fornecido abaixo.

Interface 8255 com microcontrolador 8051(89c51,89c52)

Interface 8255 com microcontrolador 8051(89c51,89c52)
A codificação é muito fácil se você estiver totalmente familiarizado com os microcontroladores da série 8051 (89c51,89c52), sua programação e o funcionamento do 8255 PPI. A função delay é usada para gerar algum atraso. Na função principal, primeiro faço a saída das portas 2 e 3. Então eu fiz rd(read)=1. Fazer rd=1 significa que eu não queria ler nada do 8255. Então fiz WR(write)=0 significa que quero escrever qualquer coisa no 8255. Então envio 0x80 para os pinos de dados do 8255, é minha palavra de controle. Ele define todas as portas A, B e C do 8255 como saída. Então selecionei o registro de controle porque a palavra de controle é sempre escrita no registro de controle. Então, em loop while contínuo, estou fazendo a porta A mordiscar alto e baixo. Que alternativamente pisca leds.

  • P2=0xF0 -> Fazendo quatro mordidelas superiores da porta A de 8255 alta e inferior baixa.
  • P2=0x0F -> Fazendo quatro mordidelas inferiores da porta A do 8255 alto e superior baixo.

Essas duas condições superiores fazem com que os LEDs pareçam estar piscando. Os atrasos entre as condições são muito importantes. Eles são usados ​​para fazer com que os leds permaneçam em determinadas condições por algum tempo, por exemplo, 0xF0 deve permanecer na porta A por algum tempo e depois mudar para 0x0F. Se você não usar atrasos nessas duas condições você não conseguirá ver os leds piscando. O programa é executado tão rápido que fica tão difícil identificar o que está acontecendo.

Você pode alterar o código de acordo com seu desejo. Você pode usar o LCD conectado ao 8255 para exibir o que quiser. Você pode estender suas portas conectando 8255 ao microcontrolador 8051 (89c51,89c52). Baixe os arquivos do projeto Code (C++,HEX) compilados em keil u vision-3 e nos dê seu feedback sobre o projeto. Escreva suas dúvidas abaixo na seção de comentários.
Leds piscando com microcontrolador 8255 e 8051(89c51,89c52)

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 Arctic Semiconductor revelou o SilverWings. Representando um avanço...
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 GenAI está transformando a força de trabalho com...
Entenda o papel fundamental dos testes unitários na validação...
Aprenda como os testes de carga garantem que seu...
Aprofunde-se nas funções complementares dos testes positivos e negativos...
Vídeos deep fake ao vivo cada vez mais sofisticados...
Voltar para o blog

Deixe um comentário

Os comentários precisam ser aprovados antes da publicação.