Friday, June 20, 2014

Teclado e os Códigos de Varredura.

Teclado e os Códigos de Varredura.

1 - Independente do tipo de tecla utilizada, o ato de pressioná-la causará uma alteração no fluxo da corrente através dos
circuitos associados à tecla.

2 - Um microprocessador, como o 8048 da Intel, dentro do teclado, varre constantemente os circuitos que conduzem às teclas.
Ele detecta o aumento e a diminuição de corrente da tecla que está sendo pressionada. Quando detecta aumento ou diminuição
na corrente, o processador pode dizer tanto se a tecla foi pressionada ou liberada. Cada tecla possui um determinado
conjunto de códigos, mesmo que para os usuários elas pareçam idênticas. O processador pode, por exemplo, distinguir entre a
tecla Shift da esquerda e a da direita. Para distinguir entre um sinal real e uma flutuação anormal na corrente, a varredura
é repetida centenas de vezes por segundo. Somente os sinais detectados por duas ou mais varreduras têm significado para o
processador.

3 - Dependendo de qual tecla do circuito traz o sinal para o microprocessador, o processador gera um número, conhecido como
código de varredura. Há dois códigos de varredura para cada tecla, um para quando ela é pressionada e outro quando é
liberada. O processador armazena esse número no buffer de memória do próprio teclado e carrega-o numa porta de conexão para
que possa ser lido pelo BIOS do computador. Em seguida, o processador envia um sinal de interrupção através do cabo do
teclado, informando que há um código de varredura esperando por ele. Uma interrupção pede que o processador deixe de lado
qualquer coisa que esteja fazendo e volte sua atenção para o serviço que está sendo solicitado.

4 - O BIOS lê o código de varredura da porta do teclado e envia um sinal para o teclado, informando-o de que o código pode
ser apagado da memória.

5 - Se o código de varredura for relativo a uma das teclas obtidas através de Shift ou a uma das teclas consideradas
especiais ou de dois estados — Ctrl, Alt, Num Lock, Caps Lock, Scroll Lock ou Insert — o BIOS altera dois bytes em uma área
especial da memória para registrar quais teclas foram pressionadas.

6 - Para todas as demais teclas, o BIOS verifica esses bytes para determinar se foi pressionada alguma tecla com Shift ou
especial. Dependendo do que encontrar, o BIOS converte o código de varredura para código ASCII, usado pelo PC, que
representa um caractere ou um código especial de tecla de função ou de tecla de movimentação de cursor. Os caracteres
minúsculos e maiúsculos possuem códigos ASCII diferentes. Em ambos os casos, o BIOS coloca um código ASCII ou de tecla
especial em sua própria memória, na qual será buscado pelo sistema operacional ou pelo programa assim que a operação que
está sendo realizada tiver terminado.


No comments:

Post a Comment