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.
 
Fonte: Evolução dos Computadores
No comments:
Post a Comment