Adquira os produtos em nossa Loja Virtual


Fabricação Manutenção e Distribuidor de
Equipamentos Eletrônicos

Principal

Assistencia Tecnica e Manutençao

 Download  Manuais de Alarmes

Apostilas Visual Basic

Kit Porta Paralela

Codigo Fonte em Visual Basic

Contato

Enviar Dados através da Porta Paralela                                                         Ir para Receber Dados


Kit Porta Paralela
  

Adquira nosso Kit para Controle da Porta Paralela,
para aprender a controlá-la em Visual Basic.
Clique
aqui
para maiores informações.

 


Porta Paralela – Introdução
O que é a Porta Paralela
Conector DB25
Pinagem do Conector DB25
Registradores da Porta Paralela
Controlando a Porta Paralela em Visual Basic
Limitações do Visual Basic para controlar a Porta Paralela
Programando a Porta Paralela – Como usar a "inpout32.dll"
Enviando Dados através da Porta Paralela
Controlar 8 Saídas da Porta Paralela
Recebendo Dados pela Porta Paralela

 
PORTA PARALELA

CONTROLE DE DISPOSITIVOS e MONITORAMENTO DE DADOS

O objetivo dessa página é fornecer alguns dados para que se possa controlar a porta paralela em Visual Basic. Aqui não apresentamos detalhes sobre como usar portas bidirecionais e outras coisas relacionadas ao assunto, para isso faça uma busca para Apostilas Porta Paralela. Assumimos que você já tenha algum conhecimento sobre Visual Basic. Para se aprofundar no assunto, na Internet existem Apostilas para Visual Basic sobre o assunto.

Porta Paralela – Introdução

Para podermos controlar a Porta Paralela do computador, primeiramente devemos saber o que ela é e como funciona.

O que é a Porta Paralela?

A Porta Paralela, assim como as outras portas do computador (COM, USB, Controladora de Joystick, etc), é um circuito digital por onde o computador envia e recebe dados do mundo externo. À Porta Paralela podemos conectar outros dispositivos que não a impressora, podendo controla-los, enviando ou recebendo dados através da LPT.  

Topo

Conector DB25

A conexão de qualquer equipamento à porta paralela é feita através do Conector DB25. Esse conector é universal e contém 25 pinos. É através desse conector que se estabelece a comunicação da porta paralela com interfaces conectadas a ela.

Pinagem do Conector DB25

No Conector DB25, cada pino recebe um nome, que está relacionado ao Registrador que o controla.

1- Os pinos 2 a 9, denominados, da esquerda para a direita, de D0, D1, D2, D3, D4, D5, D6 e D7 são controlados pelo Registrador de Dados (saída de dados), e a letra D indica isso. O número que vem após a letra corresponde à posição do pino dentro do Byte.

2- Os pinos 10, 11, 12, 13 e 15, denominados S6 – Ack, S7 – Busy, S5 – Paper End, S4 – Select Out, S3 – Error, são controlados pelo Registrador de Status (entrada de dados), e a letra S indica isso. O número que vem após a letra corresponde à posição do pino dentro do Byte.

3- Os pinos 1, 14, 16 e 17, denominados C0 – Strob, C1 – Auto Feed, C2 – Init e C3 – Select In, são controlados pelo Registrador de Controle da Porta Paralela (controla a impressora, pode ser usado como outras 4 saídas), e a letra C indica isso. O número que vem após a letra corresponde à posição do pino dentro do Byte.

4- Os pinos 18 a 25) são terra (Ground).

Atenção: Existem pinos na Porta Paralela que trabalham com lógica invertida, isso quer dizer que quando queremos ativar esses pinos temos que enviar um sinal lógico0e quando desejamos desativar, devemos mandar um sinal lógico1.

  Topo

Registradores da Porta Paralela

A Porta Paralela possui três Registradores:  

1-  Registrador de Dados (Data Lines) – usado para enviar dados através da Porta Paralela.

2- Registrador de Entrada (Status Lines) – através desse registrador podemos receber dados do mundo externo.

3- Registrador de Controle (Control Lines) – a princípio tem a função de controlar a impressora, mas pode ser usado para enviar dados para o mundo externo.

Cada Registrador tem um endereço único, que não interfere nos demais. São eles:

Registrador de Dados:     888 ou 378h (em Hexadecimal)

Registrador de Status:     889 ou 379h (em Hexadecimal)

Registrador de Controle: 890 ou 37Ah (em Hexadecimal)  

Topo

Controlando a Porta Paralela em Visual Basic

Para controlar a Porta Paralela é necessário saber o endereço base da Porta e uma interface para Porta Paralela. O computador nomeia a porta paralela como LPT1. Existem computadores que possuem mais de uma Porta Paralela, então ele as nomeia como LPT1, LPT2, LPT3...

A porta LPT1 tem os seguintes endereços para os Registradores:
Registrador de Dados:      H378
Registrador de Status:       H379
Registrador de Controle:   H37A

Na porta LPT2, os endereços são:
Registrador de Dados:      H278
Registrador de Status:       H279
Registrador de Controle:   H27A

Para o controle da porta paralela, temos que saber qual o endereço que queremos acessar, como acessar e qual pino desejamos ativar ou desativar. Se quisermos ativar todos os pinos do Registrador de Dados, por exemplo, teremos que escrever 255 em decimal, pois esse número indica à porta que todos os pinos desse registrador terão o nível lógico 1. Se, de forma inversa, quisermos desativar esses pinos, escrevemos 0.

Limitações do Visual Basic para controlar a Porta Paralela

Antes de prosseguirmos, precisamos ter conhecimento de algumas limitações que o Visual Basic possui. Ele não acessa diretamente o hardware do sistema. Todas as requisições de hardware devem ser feitas através do Windows. Por isso, o mais perto que se pode chegar da porta paralela é o Objeto Printer. Esse objeto é útil quando se quer imprimir algo, mas é inútil quando se deseja controlar um hardware conectado à porta paralela. Para podermos controlar a porta diretamente necessitamos do uso de algo externo ao nosso programa. A solução para isso é o uso de alguma DLL que permita o controle da porta paralela. Existem várias à disposição na Internet e gratuitas. Aqui usaremos a inpout32.dll. Pode-se fazer o download dessa DLL clicando aqui. Essa dll funciona somente na versão 5 ou superior do Visual Basic. Ela deve estar na mesma pasta de seu programa ou no diretório: C:\Windows\System. Por questões de segurança, essa DLL não funciona no Windows NT.  

Topo


Programando a Porta Paralela
– Como usar a "inpout32.dll"

Para se poder acessar qualquer uma das funções dessa dll, é necessário que as mesmas sejam declaradas. Essas declarações deverão estar em qualquer módulo de seu programa, na seção General_Declarations.

Aqui estão as declarações que devem estar no módulo:

                Public Declare Function Inp Lib "inpout32.dll" _
                Alias "Inp32" (ByVal PortAddress As Integer) As Integer
                Public Declare Sub Out Lib "inpout32.dll" _
                Alias "Out32" (ByVal PortAddress As Integer, ByVal Value As Integer)

Após adicionar essas declarações no módulo, tem-se dois novos comandos à disposição para serem usados para controlar a porta paralela.

A função "out" é usada para enviar um bit de dado para a porta. Para exemplificar, observe a sintaxe abaixo:

                  out [porta] , [número]

onde: out é a declaração da sub
           porta é o endereço da porta que se quer controlar
           número é o dado que queremos escrever na mesma.

O endereço pode ser escrito em hexadecimal ou em decimal, assim como o dado (número). Como existem somente 8 linhas de dados, o valor máximo que se pode enviar à porta é 255 (11111111, em binário).  

Topo

Enviando Dados através da Porta Paralela

Com base na expressão acima, observe exemplos práticos:

' seta a porta em 00000000 
           out 888, 0  ' aqui usamos o Registrador de Dados da porta LPT1 (888)

           ' seta a porta em 00000001 (pino 2, D0)
          
out 888, 1  ou out &h378, 1  ' observe que podemos usar hexadecimal ou decimal para indicar a mesma porta

           ' seta a porta em 00000010 (pino 3, D1)
          
out 888, 2

           ' seta a porta em 00000100  (pino 4, D2)
          
out &h378, 4 ou out 888, 4

           'seta a porta em 00001000  (pino 5, D3)
          
out 888, 8

           ' seta a porta em 11111111
          
out 888, 255

Para mudarmos mais de um bit no mesmo comando, basta somar o número do bit:

           ' seta a porta em 00001011
          
out 888, 11 ' aqui estamos setando (pino 2, D0), (pino 3, D1) e (pino 5, D3)  

Controlar 8 saídas da Porta Paralela

Para poder testar os comandos acima e verificar seu funcionamento, é necessário um circuito para esse fim. Para isso, siga algum esquema existente na Internet, ou adquira nosso Kit de Estudo da Porta Paralela, que vem com código fonte ensinando como enviar dados pela porta paralela.

Clique aqui para baixar o Controlador de Dispositivos e, através do que foi explicado acima, faça o seu de forma que funcione da mesma maneira que este.

.Topo


Na página seguinte, veremos como
receber dados através da LPT

Ir para Receber Dados