











































































Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Programação pra Manufatura, Controle da porta paralela do computador com visual basic!
Tipologia: Notas de estudo
1 / 83
Esta página não é visível na pré-visualização
Não perca as partes importantes!












































































COMUNICAÇÃO VIA PORTA PARALELA DO PC
INTRODUÇÃO Nosso objetivo principal é a comunicação de um PC com um dispositivo de hardware que permita o controle de sistemas externos por um software específico feito pelo aluno, nas nossas aulas trabalharemos com a porta paralela do PC, conhecida como a porta da impressora (LPT), na qual pode ser utilizada como saída ou entrada. Inicialmente vamos concentrar nossos estudos para a saída de dados. A porta paralela conhecida também como porta Centronics é utilizada no interfaceamento entre o computador e um hardware específico (periférico). Atualmente vários dispositivos utilizam-se dela, tais como:
ENDEREÇAMENTO DA PORTA PARALELA
Para começarmos o trabalho, primeiramente deve-se saber onde está à porta, o computador as nomeia de LPT1, LPT2, LPT3 etc., mas a porta física default (padrão) é a LPT1 e seus endereços são 378H, 379H e 37AH. O “H” faz referência ao sistema hexadecimal de numeração.
DESCRIÇÃO DA PINAGEM DA PORTA CONFORME O ENDEREÇO
Endereços 278H e 378H Endereços 279H e 379H Endereços 27AH e 37AH D7 Pino 9 D7 Pino 11 D7 NC D6 Pino 8 D6 Pino 10 D6 NC D5 Pino 7 D5 Pino 12 D5 NC D4 Pino 6 D4 Pino 13 D4 NC D3 Pino 5 D3 Pino 15 D3 Pino 17 D2 Pino 4 D2 NC D2 Pino 16 D1 Pino 3 D1 NC D1 Pino 14 D0 Pino2 D0 NC D0 Pino 1
CONECTOR DB
Legenda: NC: Não conectado; D0..D7: Dado 1.. Dado 7;
Não há necessidade do uso de todos os pinos, pode-se utilizar apenas pinos 2 a 9 (Vcc = 5V) e os pinos 18 a 25 (GND).
Um detalhe muito importante, é tomar muito cuidado com a corrente (I) na porta paralela, é aconselhável a utilização de Buffers que serão responsáveis tanto pela isolação quanto a amplificação do sinal. Mesmo sabendo-se que a porta paralela do computador trabalha sob a tecnologia TTL, não se pode simplesmente ligar CI’s TTL na sua saída, pois seu computador pode utilizar tanto a tecnologia TTL LS (Low Power Schottky) ou TTL HC (High Speed CMOS), que não possuem corrente suficiente para excitar os CI’s TTL, no caso do meu computador à porta paralela apresentou uma corrente de saída em torno de 14mA uma corrente de valor baixo, porém este fato não deve ser encarado como um problema, já que podemos contar com alguns artifícios eletrônicos, tais como:
SEQÜÊNCIAL DE LED’S Um circuito muito simples para testar a porta paralela do PC é um circuito chamado de seqüencial de led’s que é apresentado a seguir.
Lista de Componentes:
O circuito funciona da seguinte maneira: - Em cada uma das 8 saídas (Pinos 2 a 9) é ligado um led em série com um resistor de 220Ω, sendo que cada led é ligado no pino que possui o sinal de terra (GND pinos 18 a 25) do DB25. Deve-se tomar muito cuidado com a polaridade dos led’s, pois os mesmo são da mesma categoria dos
diodos, isto é, possuem polaridade específica e a corrente (I) flui em apenas um sentido. No início é mandado um sinal para a porta, com se fora um número binário e esse número corresponde a um byte (8 bits), sendo assim cada led representa um bit, e agirá como tal. Por exemplo, se mandarmos o número 41 em decimal que em binário corresponde a 00101001, teríamos acesos os led’s 1,4 e 6, porque são os que correspondem aos uns, ou seja, estão em nível lógico alto, ou ainda estão injetando corrente no circuito. A seguir é apresenta um possível diagrama para confecção da placa de circuito impresso.
Os pinos de 2 a 9 do DB25 são conectados na placa onde esta o sinal de “+”. Os pinos de 18 a 25 são conectados onde tem o sinal de “-”. No entanto para que o circuito entre em operação, é necessária uma linguagem de programação, que será responsável pelo acionamento do circuito, ao longo do nosso curso nós utilizaremos o Visual Basic, pois é um compilador de simples entendimento e rápida aprendizagem para os recursos que nós utilizaremos!
O Visual Basic é um compilador do tipo QuickBasic para criação de aplicativos para Windows, ele é na realidade, uma aplicação do próprio Windows. É dessa forma que os programas em Visual Basic podem ser criados, rodados, depurados e compilados diretamente no Windows. O Visual Basic possibilita aos usuários a programação baseada em eventos e objetos. Isto quer dizer que o programador coloca na janela todas as opções (menus, botões, ícones, controles, etc...) para que o usuário selecione uma delas com o mouse ou com o teclado. Antes do Visual Basic uma aplicação era desenvolvida em linguagem C, juntamente com o Kit de Desenvolvimento de Software do Windows, o que demandava muito tempo de aprendizagem.
Ao darmos um clique com o mouse em um determinado objeto de um aplicativo Visual Basic, por exemplo, um botão, estamos gerando um evento dentro do Windows o qual fará com que um determinado pedaço de código seja executado. Podemos, também, colocar da seguinte maneira: um determinado pedaço de código foi executado em decorrência de um evento gerado com o clique do mouse. Se o tal botão nunca for apertado aquele código poderá jamais ser executado. Programadores de linguagens voltadas para DOS, estão acostumados a escrever códigos que são executados de maneira sequencial, ou seja, o programa é orientado por sequência, isto quer dizer que as linhas de código são executadas uma após a outra durante todo o programa. Enquanto o programa não chega à última linha de código ele não para a não ser que o usuário intervenha finalizando o programa antes que ele termine. No Windows é diferente. Não existe um corpo de programa com início, meio e fim. O programa é orientado por eventos. Normalmente, um programa para Windows apresenta várias opções possíveis na tela para que o usuário as selecione conforme sua necessidade, representando, assim, um modo completamente novo de se programar. O Visual Basic é uma linguagem baseada em eventos. Isso quer dizer que o responsável pelo fluxo do programa é o usuário e não mais o programador. Devemos ter isso em mente quando estivermos projetando um aplicativo. Na programação orientada por sequência, normalmente o usuário entra com os dados na sequência determinada pelo programador. O Visual Basic permite que o usuário entre com os dados na ordem que preferir.
Outra característica importante do Visual Basic é a de ser uma linguagem baseada em objetos. As linguagens como o C++ e o Pascal, por exemplo, também baseadas em objetos, possuem classe e herança. No Visual Basic, os objetos são pré-definidos, isto é, já existe uma coleção de objetos que acompanham o software.
Essa barra está localizada à esquerda da tela do Visual Basic, logo abaixo da barra de ferramentas e possui os objetos gráficos (botões, caixas de texto, caixa de figura, etc...) disponíveis para serem utilizados dentro do projeto. O Visual Basic chama esses objetos de controles. O ambiente que você está utilizando pode apresentar mais figuras do que o mostrado abaixo. Isso deve-se ao fato de o Visual Basic ser um ambiente de programação aberto e extensível, ou seja, além dos controles disponíveis no Visual Basic, podemos adquirir outros controles fornecidos por outras empresas ou construir o nosso próprio controle.
As propriedades definem as características de cada objeto - controle da aplicação. O conjunto de propriedades depende do controle selecionado. Por exemplo, um formulário tem propriedades diferentes de uma figura. As propriedades podem ser alteradas em tempo de projeto ou de execução, sendo que algumas delas somente em tempo de execução. Para alterar o valor de uma propriedade em tempo de execução só por meio de programação a ser carregada através de um objeto, por exemplo, um botão ou assim que o programa for carregado, já em tempo de projeto, devemos:
Essa janela possui uma lista dos arquivos que estão sendo utilizados dentro do programa que estamos desenvolvendo. Podemos ter arquivos com extensões "BAS", "FRM”, "VBP" e outros dentro dessa janela. O Visual Basic organiza os trabalhos por projeto, permitindo que cada projeto possa ter vários módulos.
Essa janela contém a declaração de variáveis, constantes e rotinas. Na figura ao lado, podemos ver dois quadros combo, um contendo a lista de objetos dentro do nosso programa e o outro uma lista de eventos disponíveis para cada um dos objetos. Podemos observar na figura que o evento selecionado é o "Click" e o objeto é o formulário. O comando Beep na linguagem do Visual Basic gera um aviso originário do alto-falante do PC. Portanto cada vez que o usuário der um clique com o mouse no formulário o procedimento "Form_Click( )" será executado e gerará um "beep".
As funções (functions) e sub-rotinas (subs) são chamadas de procedimentos (procedures). Existem três tipos de procedimentos: 1.) do Visual Basic; 2.) associados aos eventos; 3.) criados pelo programador.
Os procedimentos do Visual Basic são, por exemplo, os métodos, as funções matemáticas, as funções manipuladoras de "Strings", etc. Os procedimentos associados aos eventos são aqueles procedimentos que são chamados em resposta a um evento. Adicionamos códigos a eles através da Janela de Código do formulário. Os procedimentos criados pelo programador são aquelas sub-rotinas e funções utilizadas para melhorar a estruturação do código. Podemos ter, por exemplo, uma função que abre um arquivo. Essa função trataria os possíveis erros e retornaria o número do arquivo aberto. Esse procedimento estaria declarado dentro do objeto " General " da Janela de Código de um formulário ou de um módulo. Dentro do Visual Basic, a diferença entre uma função e uma sub-rotina é que a função retorna um valor e a sub-rotina não.
Essa é a janela do nosso aplicativo. Quando o usuário iniciar o programa, a mesma aparecerá. A janela possui os quadros minimizar, maximizar, fechar e menu de controle. É nessa janela que colocaremos os controles gráficos (botões, quadros de texto, etc.) e também o código associado a esses objetos. Para abrir uma janela de código, basta dar um duplo clique em cima do objeto do qual um evento deve ser tratado.
Public Declare Sub Out Lib "inpout32.dll" Alias "Out32" (ByVal PortAddress As Integer, ByVal Value As Integer
Código fonte do programa acima:
Private Sub cmdapagar_Click() 'linha de código do botão apagar (evento Click) Out &H378, "&h" & 0 'envia para o endereço H378(porta paralela) 'o valor zero, que apaga todos os led's Label1.Caption = "" 'muda o valor da propriedade caption do objeto label 'para vazio End Sub ‘fim da linha de comando
Private Sub cmdsair_Click() 'linha de código do botão sair (evento Click) End 'comando simples para encerrar o programa End Sub ‘fim da linha de comando
Private Sub Command1_Click() 'linha de código do botão 1 (evento Click) Out &H378, "&h" & 1 'envia para o endereço H378(porta paralela) 'o valor 1 que acende o primeiro led Label1.Caption = "O led nº1 está aceso" 'muda o valor da propriedade 'caption do label1 para o texto entre aspas End Sub ‘fim da linha de comando
Private Sub Command2_Click() Out &H378, "&h" & 2 Label1.Caption = "O led nº2 está aceso" End Sub
Private Sub Command3_Click() Out &H378, "&h" & 4 Label1.Caption = "O led nº3 está aceso" End Sub
Private Sub Command4_Click() Out &H378, "&h" & 8 Label1.Caption = "O led nº4 está aceso" End Sub
Private Sub Command5_Click() Out &H378, "&h" & 10 Label1.Caption = "O led nº5 está aceso" End Sub
Private Sub Command6_Click() Out &H378, "&h" & 20 Label1.Caption = "O led nº6 está aceso" End Sub
Private Sub Command7_Click() Out &H378, "&h" & 40 Label1.Caption = "O led nº7 está aceso" End Sub
Private Sub Command8_Click() Out &H378, "&h" & 80 Label1.Caption = "O led nº8 está aceso" End Sub
Private Sub Form_Click() 'linha de código do formulário (evento Click) Beep 'comando que reproduz um som nos auto falantes. End Sub ‘fim da linha de comando
Private Sub Form_Load() 'linha de comando do formulário (evento Load) = ao carregar
Top = (Screen.Height - Height) / 2 'comandos que mandam o formulário para o Left = (Screen.Width - Width) / 2 'Centro do monitor ao carregar.
End Sub ‘fim da linha de comando
satisfazer as necessidades das nossas aulas, o conteúdo descrito até aqui basta, as informações complementares serão passadas durante as aulas.
O menu Project contém itens que possibilitam a inserção de vários procedimentos, janelas, códigos, módulos, etc. em seus projetos. Abaixo segue um breve resumo sobre os itens para orientá-lo melhor:
O menu Add-Ins lhe permite acessar ferramentas separadas que podem ser incorporadas ao Visual Basic. Existem dois Add-Ins fornecidos com várias versões do Visual Basic. O Report Manager, que é representado pelo software da empresa Seagate Crystal Reports, atualmente na versão 7.0, é uma ferramenta completa para modificar e criar relatórios que você poderá utilizar em seu programa. A outra ferramenta inclusa é o Visual Data Manager, que é usado para gerenciamento de Banco de Dados. Utilize o Add-In Manager para adicionar e Remover Add-Ins do menu. Abaixo segue um breve resumo sobre os itens para orientá-lo melhor:
Esta janela contém informações sobre o projeto em uso. É nela que serão exibidos todos os projetos utilizados ao mesmo tempo, caso existam, ou o único projeto aberto. Abaixo do projeto, estarão definidos os nomes dos formulários em uso no projeto. Você notará que existem dois nomes independentemente do que estiver sendo exibido nesta janela. O primeiro nome é o nome lógico (nome dado ao objeto) e o segundo nome é o nome físico (nome dado ao arquivo), este estará sendo exibido sempre entre parênteses. Ainda nesta janela através dos ícones, temos a possibilidade de ir até a janela de código, (janela em que se programa as atividades para os objetos), voltar para o modo de exibição do formulário e também exibir os formulários em formato de pastas de um projeto.
É nesta janela que o programador altera as características originais dos objetos utilizados no(s) formulário(s) do programa. Quando se cria um objeto dentro do formulário, devemos selecioná-lo clicando apenas uma vez nele mesmo no formulário e depois clicar na janela de propriedades, onde serão isoladas apenas as propriedades do objeto selecionado. Então o programador irá alterar algumas das propriedades adequando assim o objeto a ficar com as características e aparência desejada. Esta mesma janela, possui uma caixa combo situada ao topo. Esta caixa contém o nome de todos os objetos utilizados no formulário em desenvolvimento. Esta é a outra forma do programador localizar e selecionar o objeto para trabalhar com suas propriedades sem ter que selecioná-lo no formulário.
Obs: As propriedades dos objetos também podem ser alteradas através de programação na janela de código, para que os objetos sofram as alterações no decorrer do programa, devido aos eventos em que foram programados.
É através desta janela que o programador posiciona o local em que o formulário aparecerá assim que o programa for executado. Outra maneira de fazer isto, é acessando a propriedade do formulário Startup Position e escolher a opção Center Screen , mas não será possível acessar esta propriedade, caso esteja sendo usado um formulário do tipo MDI. Então o posicionamento deverá ser feito através de programação ou por esta janela.
Como centralizar um formulário através de programação:
Private Sub Form_Load ( ) Top = (Screen.Height - Height) / 2 Left = (Screen.Width - Width) / 2 End Sub
Os comandos mais comumente utilizados no Visual Basic, estão descritos nos sub-ítens deste capítulo, são eles:
Comentários são utilizados, como lembretes de informação junto à programação e são muito importantes porque poderão auxiliar na documentação do software.
Vamos detalhar os principais comandos:
Exibe uma mensagem em uma caixa de diálogo, esperando pelo usuário clicar um botão, e retorna um valor indicando que o usuário clicou o botão.
MsgBox (prompt [, buttons][, title][, helpfile, context])
A sintaxe do comando MsgBox tem estes argumentos: