Olá pessoal, encontrei uma página que mostra como funciona o recebimento de sinais externos pela porta paralela. Inclusive tem exemplificado um circuito para testar esta funcionalidade... Agora precisamos escrever um programa para controlar esta função. Acredito que esta será a solução para finalizarmos esta etapa da aprendizagem, vou levar este esquema para o Prof. Egydio na 2ª feira para debatermos com ele esta solução. Postei na íntegra a matéria do site citado. Se quiserem visitar o site fonte segue o link:
Porta Paralela
- É muito interessante, conhecermos um pouco mais sobre a Porta Paralela,
- pois ela oferece muitos recursos, como por exemplo, você pode acionar motores,
- lâmpadas, controlar sensores, etc... e tudo atravez do seu software!
INTRODUÇÃO
A porta de comunicação paralela, foi criada especificamente para a impressão, mas ela pode ser usada para outras finalidades. Se você conhece um pouco de eletrônica e domina uma linguagem de programação (C, C++, Pascal, Delphi ou Visual Basic), poderá controlar um circuito eletrônico externo através desta porta. Essa porta de comunicação é chamada fisicamente pelo seu computador de LPT1, LPT2 ou até de LPT3, contém também 3 (três) registradores de controle que são:
- 378h - Registro de Dados, envia sinal
- 379h - Registro de Status, lê sinal
- 37Ah - Registro de Controle, envia sinal
O conector responsável para essa interface é chamado de DB25, que contém 25 pinos

Cada pino tem sua função como descrito abaixo:

Os pinos de cor azul e verde servem para saída de sinal que é(5v), os de cor laranja servem para entrada que também é(5v), e os vermelhos servem para fechar o circuito que recebe um sinal de voltagem negativa.
ATENÇÃO: as cores usadas só serviram para explicação.
A porta paralela do computador trabalha com a tecnologia TTL isso seguinifica que teremos que enviar/receber 0.5v ou 5v (0.5 nível baixo - 5 nível Alto) que será lido por três tipo de registradores de controle:
- 378h - Registro de Dados, envia sinal
- 379h - Registro de Status, lê sinal
- 37Ah - Registro de Controle, envia sinal
Se construirmos um programa que mande para a porta paralela um numero em binário, esse numero se relacionará com os pinos S0, S1, S2, S3, S4, S5, S6, S7 (que formarão um byte(8 posições)), obtendo então, ausência ou presença de energia nos mesmos, por exemplo: se mandar-mos o numero binário 00101010 para a porta paralela, os pinos S0 à S7 se relacionarão dessa forma:
![]()
isso significa que o pino S7 está em nível baixo ou seja com 0.5v, S6 nível baixo 0.5v, S5 nível alto 5v e assim por diante.
Se você sabe algo sobre eletrônica, poderá aproveitar a voltagem que está por exemplo no pino S5 e montar algo . Lembre-se você esta trabalhando com a porta paralela que esta ligada na placa mãe, qualquer circuito provocado pode danificar seu computador.
CRIANDO UM CIRCUITO PARA ENVIAR SINAL
Sabemos que os pinos do DB25 S0 à S7 quando em nível alto emitem 5v, então vamos montar um aparelho eletrônico que receba o sinal emitido pêlos pinos e ligue um circuito. Antes de começar-mos, temos que criar um software que envie para a paralela os números em binários. O aparelho é formado por fios um Led e um Resistor. Uma das extremidade é conectada em um dos pinos(S0,S1,S2,S3,S4,S5,S6,S7) a outra nos pinos terra (18,19,20,21,22,23,24,25). Quando o pino de saída é ativado o Led do aparelho se acende indicando presença de energia. Através desde principio você pode ampliar o circuito criando mais 7 conjunto de led's e resistores que iram todos conectados nos pinos (S0 à S7) formando então um verdadeiro jogo de led's ou até mesmo montar qualquer circuito eletrônico que será startado pelo computador. Abaixo o esquema do aparelho.

CRIANDO UM CIRCUITO PARA RECEBER SINAL
Como mencionamos a cima, a porta paralela recebe/envia 0v ou 5v, então o que temos que fazer é saber quais são os pinos que recebem sinal e qual o registrador que faz a leitura. Se você voltar na introdução desta pagina vai ver que os pinos responsáveis para o recebimento de sinal são os pinos 10,11,12,13,15 e o registrador que faz a leitura é o 379h. Tendo tudo isso definido é só criar um circuito e um programa que faça a leitura. Agora vamos fazer um circuito extremamente simples que envia sinal para dentro do computador. Você irá precisar de uma pilha pequena e dois fios (que iremos chamar de A e B). Conecte os dois fios (A e B) no polo negativo da pilha, uma extremidade você coloca no terra do DB25 e a outra em qualquer pino responsável pelo recebimento de sinal e então execute o programa. Você ira notar que o programa ira retornar um numero diferente, cada vez que você mudar o fio B de pino. Com esse principio você pode indicar para o computador pôr exemplo que um alarme esta ligado.

