A Porta Paralela, no modo padrão,
têm cinco entradas. Isso é útil quando
você precisa capturar sinais do mundo externo para
dentro do computador. Como exemplo, saber se um sensor esta
ativo ou não, ou mesmo se um alarme foi disparado
e etc.
As cinco entradas através do conector DB25 são:
|
Entradas |
Pino |
| |
Ack |
10 |
| |
Busy |
11 |
| |
Paper |
12 |
| |
Slct out |
13 |
| |
Error |
15 |
Portanto você poderá enviar
para o computador cinco bits de uma só vez.
Usando as funções inportb()
ou Recebe() da classe TPorta, já
comentadas, você poderá ler o registrador de
Status da Porta Paralela, e saber se o sinal em um determinado
pino está alto ou baixo (0-zero ou 1-um) no sistema
binário.
As funções inportb() e Recebe()
lêem um byte através da Porta Paralela. Se
você quiser saber se um determinado pino está
com o sinal alto ou baixo, terá de converter este
byte em binário para saber o estado do mesmo.
Nem todos os bits do byte recebido através
das funções inportb() ou Recebe() são
válidos, como eu já vimos, são somente
cinco as entradas no registrador de Status da Porta Paralela,
e cada entrada está relacionada com um bit.
Ao ler o registrador de Status, os bits
nas posições 0, 1 e 2 não devem ser
levados em conta, porque não estão relacionados
com nenhum pino do DB25, mesmo assim fará parte do
byte recebido.
A tabela abaixo mostra o significado de
cada bit do byte recebido, através das funções
inportb( ) ou Recebe( ), usando o Projeto
4 conectado à Porta Paralela. Observe que os
bits, Ack, Paper end, Slct out e Error, trabalham de maneira
invertida, diferente de Busy, que só é ativado
quando tiver um sinal no pino 11:
Descrição
Número dos Pinos |
Busy |
Ack |
Paper And |
Slct Out |
Error |
Byte lido
em bynário |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
11 |
10 |
12 |
13 |
15 |
| Byte lido em Decimal |
126 |
|
Para saber como o computador agrupa os bits num byte, observe
o esquema abaixo:
BYTE
No esquema acima observe que cada nibble
equivale a 4 bits; e a contagem dos bits é feita
da direita para a esquerda (0,1,2,3...).
|