Adaptador de teclado PS2 para MSX – Parte 3

Olá Galera;

Dando continuidade ao nosso projeto do adaptador do teclado PS2 para MSX, finalizamos nosso gravador para nosso PIC gastando praticamente nada, é nisso que temos sempre que nos concentrar, pois em eletrônica as vezes pequenos centavos fazem a diferença para um sucesso de um projeto.

Nos posts anteriores falei a respeito do PIC16F628A como nosso principal componente na construção desse adaptador, mas na verdade o que é esse microcontrolador e como ele funciona.

Para explicar o funcionamento do microcontrolador usarei o datasheet ou o desenho dos pinos abaixo;

Representação de um PIC e seus pinos

A imagem acima retrata o  microcontrolador 16f628A, um chip de 18 pinos, as setas junto a cada pino mostra como esses pinos podem trabalhar, por exemplo, neste microcontrolador apenas os pinos 4, 5 e 14(na realidade tenho dúvida sobre o pino 5 mas até que me ensinem o contrario ele é apenas entrada de sinal) são apenas entrada de sinal ,todos os outros podem trabalhar como entradas ou saídas.
Agora não entrarei em detalhes sobre a função ou como configurar cada pino para entrada ou saída pois, isso será revelado aos poucos com o aprendizado, mas falarei dos grupos de pinos existentes.
Notem os pinos 5 e 14 são apenas entrada de sinal pois eles são responsáves pela alimentação de tensão ao microcontrolador em geral 5V. VDD é o positivo e VSS o Negativo ou GND como quiser chamar.
Os outros pinos são separados por grupos denominados Port A(Porta) e Port B(Portb). cada port possui 8 pinos ligados a eles que são identificados como;
Porta – Ra0, Ra1, Ra2, Ra3, Ra4, Ra5, Ra6 e Ra7.
Portb – Rb0, Rb1, Rb2, Rb3, Rb4, Rb5, Rb6, Rb7,
Cada Port na realidade é um byte (8bits) de memória onde cada bit deste byte se refere a um pino. por padrão quando o bit está em nível alto ou seja, há tensão do mesmo ele é representado em binário pelo número 1. caso o nível seja baixo ou seja, não há tensão sobre o mesmo ele é representado em binário pelo número 0
Ex;
Portb com todos os pinos em nível alto = 11111111 – Em binário é este o número que vai está literalmente estar gravado na parte da memória que se refere ao Portb.
Para os quem já conhecem de programação é só pensar que “Portb” é o nome da variável  que representa um espaço físico na memória do microcontrolador, esta variável possui 8 bit e é controlando o valor em cada bit que definimos se os pinos que estão ligados ao Portb estarão em nível alto ou baixo seja em grupo ou individualmente.
Ex;
 Portb     Rb0, Rb1, Rb2, Rb3, Rb4, Rb5, Rb6, Rb7
                 1      1      1       1       1       1      1      1    Todos os pinos  do Portb com nível alto.
                 0      0      0       0       0       0      0      0    Todos os pinos do Portb com nível baixo
                 0      1      0       1       0       1      0      1    Apenas os pinos Rb1, Rb3,Rb5 e Rb7 do Portb com nível alto.
A mesma situação ocorre para o Porta.

Assim podemos concluir que o que queremos quando programamos o microcontrolador é ter controle sobre suas portas, para exemplo note o desenho abaixo.

Representação de um circuito utilizando o PIC
Segue abaixo a descrição do circuito;
B1 – Quando apertado põe Ra2 em nível alto(1)
B2 – Quando apertado Põe RA4 em nível baixo (0) fazendo com que o processador Resete
Vss – Negativo para funcionamento do microcontrolador
Vdd – Positivo para funcionamento do microcontrolador (5v)
R1 e R3 – Resistor de controle de corrente
R2 Resistor Pull – UP (Mantém RA4 em nível alto enquanto B2 não é apertado e impede que haja curto quando B2 for apertado)
R4 Resistor Pull Down (Mantem o RA2 em nível baixo até que seja apertado o botão B1 e impede que haja curto quando B1 é apertado)
L1 – Led que acenderá quando Rb5 for para nível alto.
Talvez você se pergunte afinal eu também me perguntei, para que usar um microcontrolador para acender um led se eu posso liga-lo direto no botão? Lembra que eu pedi no post anterior para realizarmos a experiência de acender um LED para testar o nosso gravador e nossa habilidade de controlar o PIC ? Pois é…
Aconteçe que utilizando o microcontrolador eu posso além de ligar o led posso controlar o motivo para ligar, o tempo que leva para ligar, o tempo que vai levar para desligar ou posso simplesmente faze-lo piscar de forma intermitente e etc….
Como então programar para que o microcontrolador faça o que eu quero. Como eu disse iremos controlar na realidade os seus pinos e  é mais ou menos assim, no caso do circuito acima ,se eu quero que o led acenda ao apertar o botão
Eu diria o seguinte para ele.
Inicio
se Ra2 = 1 (nivel alto Botão apertado)
     Rb5 = 1 (nivel alto led acesso)
se não Rb5 = 0 (nível baixo led desligado)
volta para inicio
Claro isso tudo em linguagem de programação.
Bom galera, agora que sabemos os pinos, o que é o PIC, que temos o nosso gravador construido, vamos realizar a experiência de acender o LED e a partir daí partimos ir para o que nos interessa, o tão esperado adaptador.
Não sei se os leitores estão entendendo o propósito de tudo isso, pois nosso foco principal é aprender eletrônica junto com o MSX ! 🙂
Até +
MsxRevival
Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s