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