DESCRIÇÃO DA PORTA PARALELA DA IMPRESSORA

Documentos relacionados
Porta de Impressora IEEE Walter Fetter Lages.

Trabalho Prático Nº3 Porta Paralela

Capítulo 14. Expandindo as portas de comunicação 8031 com a PPI Interface PPI 8255

Professor Marcelo Josué Telles Porta LPT, programação, componentes eletrônicos, sistema binário...

PCS-2529 Introdução aos Processadores. Prof. Dr. Paulo Sérgio Cugnasca

Inicialmente a IBM (1981) disponibilizou uma porta paralela para ligação a impressoras (lentas)

Periféricos e Interfaces Ano lectivo 2003/2004 Docente: Ana Paula Costa. Aula Teórica 17

CIRCUITOS SEQUENCIAIS. Adão de Melo Neto

Memórias Parte 1. SEL-0415 Introdução à Organização de Computadores. Aula 4. Prof. Dr. Marcelo Andrade da Costa Vieira

Entrada e Saída. Tópicos de E/S

Nível do Conjunto de Instruções Prof. Edson Pedro Ferlin

Dicas de Porta Paralela

Utilizando a porta paralela para controle de dispositivos através do Windows

Resumo. 1- Introdução. 2- O cabo do sistema Joynet

Lógica Externa à CPU

Módulo de Cristal Líquido LCD

UCP 8051 (parte 02) Professor Adão de Melo Neto

Arquitetura de Computadores Conceitos Fundamentais. Graduação em Engenharia Elétrica - UFPR Prof. Carlos Marcelo Pedroso 2016

Entrada e saída do ARC Prof. Luís Caldas Aula 08 pág.125 a 126

Lógica Externa à CPU. Transferência de Dados. Entrada/Saída por Interrupção. Entrada/Saída por Interrupção

Periféricos e Interfaces Ano lectivo 2003/2004 Docente: Ana Paula Costa. Aula Teórica 18

Revisões. Porto paralelo. Porto paralelo. Porto paralelo. Porto paralelo. Porto paralelo GPIB JTAG

Organização e Arquitetura de Computadores I

Comunicação. Rotinas da dll

Sistemas de Entrada e Saída

Impressora de Cheque Menno Datacheck

O objetivo deste artigo é demonstrar como é possível construir uma rede alternativa para MSX, através dos conectores de joystick do micro.

Porta Paralela. Fabricio Ferrari. Maio Universidade Federal do Pampa, Bagé, RS, Brazil

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar

Microprocessadores I ELE Aula 7 Conjunto de Instruções do Microprocessador 8085 Desvios

Fundamentos de Sistemas Operacionais

Aula 12: Memória: Barramentos e Registradores

Controladores do IBM-PC. Gustavo G. Parma

Para trabalhar com memórias I2C é necessário compreender os seguintes itens:

Organização de Computadores

EL08D - MICROCONTROLADORES

Universidade Federal de Minas Gerais. Sistemas Operacionais. Aula 19. Sistema de Entrada/Saída

Plano de Aula. 1 o semestre. Aula número 012 Periféricos Comunicação Serial. Conhecer os princípios de comunicação serial

Sistemas Operacionais. Entrada/Saída

Aplicações: Conversão de Códigos e Motor de Passo. Prof. Adilson Gonzaga

Capítulo 7 - Interfaces de Entrada e Saída. Conceito

Redes Industriais. Carlos Roberto da Silva Filho, M. Eng.

Arquitetura e organização de computadores

Entrada e Saída e Dispositivos

STK (Start Kit DARUMA) Comunicação Direta com ECF Térmica

Linguagem C: Introdução

Diagnóstico avançado de problemas

Cerne Tecnologia e Treinamento

NEANDERWIN. Algumas características do processador Neander são:

Solução Lista de Exercícios Processadores

Infra-Estrutura de Software

Notas da Aula 14 - Fundamentos de Sistemas Operacionais

Comunicação de Dados. Comunicação de Dados

Sistemas de Entrada e Saída

SISTEMAS DE E/S PORTAS SERIAL E PARALELA Aula 09 Arquitetura de Computadores Gil Eduardo de Andrade

Impressora não fiscal Diebold IM402TD

William Stallings Arquitetura e Organização de Computadores 8 a Edição

Os textos nestas caixas foram adicionados pelo Prof. Joubert

SMC-B-STD GUIA DE UTILIZAÇÃO GUIA DE UTILIZAÇÃO DO DRIVER PARA MOTOR DE PASSO BIPOLAR SMC-B-STD VER 1.00 PÁGINA 1

Aula 3:Introdução à Linguagem C

Linguagem de Programação C

Sistemas de Entrada e Saída

Técnicas de Interface com Microcontroladores (8051)

Manual de Utilizador Placa DETIUA-S3

Universidade de Trás-os-Montes e Alto Douro

Buffer de Rede Configuração de Rede <x> Modo NPA Comutação p/ PCL Configuração p/ PS Binário PS p/ MAC

7. PROGRAMANDO O MICROCONTROLADOR. Microcontroladores - Prof: Demantova

Lista de Exercícios 2

Sistemas Operacionais. Sistema de entrada e Saída

Unidade II. Organização de Computadores. Prof. Renato Lellis

Arquitetura de Sistemas Operacionais Francis Berenger Machado / Luiz Paulo Maia (Material Adaptado)

-CURSO DE REPARO EM IMPRESSORA EPSON LX-300

Transferência de Arquivo: Protocolo FTP

José Augusto Fabri. Assembly Básico

Entrada e Saída (E/S)

Status avançado Modo Paralelo 1 Aceitar Inic. Modo Paralelo 2 Buffer Trabalhos Comutação p/ PCL Modo NPA Configuração p/ PS. Buffer Paralelo Protocolo

William Stallings Organização de computadores digitais. Capítulo 14 Operação da Unidade de Controle

Prof. Adilson Gonzaga

ENTRADA E SAÍDA (I/O)

Flávia Rodrigues. Silves, 26 de Abril de 2010

FUNDAMENTOS DE ARQUITETURAS DE COMPUTADORES SISTEMAS DE COMPUTAÇÃO. Cristina Boeres

ELE Microprocessadores I. AULA 12 Arquitetura do Microprocessador Interface com as memórias

Escola Secundária de Emídio Navarro

NEANDERWIN - Resumo operacional

IMPRESSORA PORTÁTIL DARUMA DRM-380 CHECANDO VERSÃO DE FIRWMARE E CONFIGURAÇÕES

LCDs Inteligentes. LCD Inteligente. Gabriel Kovalhuk DAELN / UTFPR

4. Configuração da interface no software megadmx

Aula 09. Módulos de Entrada e Saída

Arquitetura e Organização de Computadores

MICROCOMPUTADORES. Professor Adão de Melo Neto

Latch SR (Set/Reset)

Esta pseudomáquina foi criada em homenagem ao homem de Neandertal, o antecessor do homo sapiens.

Transmissor de vazão de ar Modelo A2G-25

Matriz Vídeo Componente & Áudio Estéreo & RS x 8 TRANSCORTEC STATUS OUTPUT 2 INPUT

SEL 337 Aplicação de Microprocessadores II

INSTRUMENTAÇÃO E MEDIDAS

UFRJ IM - DCC. Sistemas Operacionais I. Unidade IV Gerência de Recursos Entrada e Saída. 02/12/2014 Prof. Valeria M. Bastos

CURSO DE ELETRÔNICA DIGITAL OS FLIP-FLOPS E FUNÇÕES LÓGICAS EM CIRCUITOS INTEGRADOS

Transcrição:

Professor: Carlos Sica - 27/11/98 Palavras Chave: Impressora, Porta Paralela, Entrada e Saída DESCRIÇÃO DA PORTA PARALELA DA IMPRESSORA Cada dispositivo paralelo tem sua própria interface e uma interface paralela é controlada através dos registradores de entrada e saída. O endereço desses registradores é diferente para cada interface. No sistema operacional DOS, o BIOS tem uma área de dados que contém o endereço base para cada conjunto de registradores. Endereço base é o endereço do primeiro registrador, a partir do qual pode-se calcular os e ndereços seguintes. Para a interface de impressora conhecida como LPT1 o endereço base dela está no endereço BIOS 0040:0008 e para a LPT2 no endereço 0040:000A. Por exemplo, o endereço do registrador de saída de dados da LPT1, é o 378h, os próximos registradores, estado e controle, vem seqüencialmente nos endereços 379h e 37Ah. Portanto, o que conhecemos popularmente como porta paralela da impressora, na verdade é um conjunto de três portas de comunicação de entrada e saída que permitem o estabelecimento de um protocolo de comunicaç&at ilde;o entre o computador e a impressora, sendo que, estas portas de comunicação também são conhecidas na literatura como registradores. Porta da impressora saída estado controle Descrição dos registradores Figura 1. Relação da porta com os registradores Registrador ou porta de saída (saída = impressora recebe do computador) Este é o mais simples de todos, ele vai guardar a palavra de 8 bits a ser enviada para o dispositivo externo, no caso da impressora, o código ascii da letra a ser impressa ou o código gráfico a ser impresso.

Registrador ou porta de controle (saída = impressora recebe do computador) Bit Baixo (0) Alto (1) 2 0 Normal Causa saída de um byte de dados (strobe) 2 1 Normal Pula linha (LF) automaticamente após um return (CR) 2 2 Inicializa a porta da impressora Normal 2 3 Impressora não selecionada Seleciona a impressora 2 4 Desabilita a interrupção da impressão Habilita interrupção 2 5 a 2 7 Não utilizado Não utilizado Registrador ou porta de estado (entrada = impressora envia para o computador) Bit Baixo (0) Alto (1) 2 0 a 2 2 Não utilizado Não utilizado 2 3 Sinaliza erro Operação normal 2 4 Fora de linha (off line) Em linha (on line) 2 5 Com papel Sem papel 2 6 Reconhece que recebeu o caracter Normal 2 7 Ocupada (imprimindo) Livre As Conexões C O M P U T A D O R DB25 Símbolo Significado Bit Sentido Centronics 1 -strobe Avisa a impressora que o dado é válido 2 0 1 2 +data bit0 Saída de dados 2 0 2 3 +data bit1 Saída de dados 2 1 3 4 +data bit2 Saída de dados 2 2 4 5 +data bit3 Saída de dados 2 3 5 6 +data bit4 Saída de dados 2 4 6 7 +data bit5 Saída de dados 2 5 7 8 +data bit6 Saída de dados 2 6 8 9 +data bit7 Saída de dados 2 7 9 10 -acknowledge Impressora reconhece caracter recebido 2 6 10 I M P R E S S O R A

11 +busy Impressora avisa que esta imprimindo 2 7 11 12 +out of paper (PE) Impressora avisa que está sem papel 2 5 12 13 +select output Impressora indica que esta selecionada 2 4 13 14 -auto feed Pula folha automaticamente 2 1 14 15 -error Impressora avisa que ouve erro 2 3 32 16 -initialize printer Inicializa impressora 2 2 31 17 -select input Seleciona impressora 2 3 36 18-25 ground Terra 19-30 Os sinais de "+" e "-" precedendo o sinal, significa respectivamente, lógica positiva ou negativa (ativo quando alto ou quando baixo). Os sinais são padronizados para todas as portas de conexão com a impressora, porém, a maioria das impressoras, principalmente as modernas, não utilizam todos. Strobe: é um pulso com largura de mais de 5 us (micro segundos) Protocolo de comunicação entre o computador e a impressora Passo 1 Computador escreve no registrador de dados Mov al,dado ;al recebe dado a ser enviado Mov dx,378h ;ajusta endereço da saída de dados para a impressora Out dx,al ;envia dado para a porta de saída Passo 2 Computador avisa impressora que o dado está pronto na saída Neste ponto deve-se levar em consideração, que a os bits de "impressora selecionada" e "inicializa impressora" devem ser ligados, resultando em uma palavra binária igual a 0000 1100 ou 12 em decimal. Mov dx,37ah ;ajusta endereço de saída de controle para a impressora Mov al,12 Out dx,al Mov al,13 Out dx,al ;ajusta o bit 2 0 (strobe) em ZERO para gerar uma transição do nível baixo par alto, mantendo os bits 2 2 e 2 3 em nível alto ;envia o nível alto para a linha strobe ;ajusta o bit 2 0 (strobe) para nível alto ;envia o novo valor, gerando a transição, para encerrar o sinal de sincronização (strobe)

Passo 3 Verifica se a impressora terminou de imprimir um caractere Mov dx,379h ;ajusta endereço da entrada de estado (status) da impressora vv: in al,dx ;recebe byte que descreve o estado da impressora test al,80h ;pergunta se a impressora esta ocupada (busy) jz vv ;se sim, volta e aguarda até desocupar (busy=0) ;chegar aqui significa que o caracter foi impresso Ao sair de laço, espera-se que o caracter tenha sido impresso, porém alguns pontos devem ser considerados: a impressora, em geral, utiliza um buffer que armazena um determinado número de bytes antes de imprimir. Para experimentar este código com poucos caracteres, aconselha-se repetir o processo enviando o caracter de controle 1010 (line feed), que simbolizará o final do texto e a impressora deslocará a cabeça de impressão para a próxima linha. Opcional Verifica se há erros através do registrador de estado test al,08h ;pergunta se a impressora esta com algum erro jnz erro1 ;desvia para rotina de tratamento de erro test al,10h ;pergunta se a impressora esta em linha (on line) jnz erro2 ;desvia para rotina de tratamento test al,20h ;pergunta se a impressora esta com papel (has paper) jz erro3 ;desvia para rotina de tratamento test al,40h ;pergunta se a impressora reconhece que está recebendo o caracter (acknowledges) jz erro4 ;desvia para rotina de tratamento UTILIZANDO A PORTA DA IMPRESSORA PARA CONEXÃO DO PC COM DISPOSITIVO EXTERNO ESPECÍFICO A porta paralela da impressora poder ser usada como um conjunto de entradas e saídas digitais para interfacear o computador com outros dispositivos. Esta interface, como discutido no capítulo anterior, é composta por um conjunto formado por dois registradores de saída sendo um de 8 bits (dados) e um de 4 bits (controle) e, finalmente, um de entrada de 5 bits (estado). Escrever "1" no nos bits desta porta, significa fornecer o nível lógico TTL alto nos pinos do conector DB25. Tomaremos como base a porta LPT1 cujos endereços são:

Saída de dados 378h 8 bits Entrada de estado 379h 5 bits Saída de controle 37Ah 4 bits Saída (micro para impressora: registrador de dados) ENDEREÇO: 378H 2 7 2 6 2 5 2 4 2 3 2 2 2 1 2 0 Todos os bits são válidos Entrada (impressora para micro: registrador de estado) ENDEREÇO: 379H 2 7 2 6 2 5 2 4 2 3 2 2 2 1 2 0 Os três bits menos significativos são inutilizados e ajustados em 1. Valor efetivamente lido Valor contido na porta 379h 11 10 12 13 15 decimal Hexa 2 7 2 6 2 5 2 4 2 3 2 2 2 1 2 0 0 0 0 0 0 135 87 1 0 0 0 0 1 1 1 0 0 0 0 1 143 8F 1 0 0 0 1 1 1 1 0 0 0 1 0 151 97 1 0 0 1 0 1 1 1 0 0 0 1 1 159 9F 1 0 0 1 1 1 1 1 0 0 1 0 0 167 A7 1 0 1 0 0 1 1 1 0 0 1 0 1 175 AF 1 0 1 0 1 1 1 1 0 0 1 1 0 183 B7 1 0 1 1 0 1 1 1 0 0 1 1 1 191 BF 1 0 1 1 1 1 1 1 0 1 0 0 0 199 C7 1 1 0 0 0 1 1 1 0 1 0 0 1 207 CF 1 1 0 0 1 1 1 1 0 1 0 1 0 215 D7 1 1 0 1 0 1 1 1 0 1 0 1 1 223 DF 1 1 0 1 1 1 1 1

0 1 1 0 0 231 E7 1 1 1 0 0 1 1 1 0 1 1 0 1 239 EF 1 1 1 0 1 1 1 1 0 1 1 1 0 247 F7 1 1 1 1 0 1 1 1 0 1 1 1 1 255 FF 1 1 1 1 1 1 1 1 1 0 0 0 0 007 07 0 0 0 0 0 1 1 1 1 0 0 0 1 015 0F 0 0 0 0 1 1 1 1 1 0 0 1 0 023 17 0 0 0 1 0 1 1 1 1 0 0 1 1 031 1F 0 0 0 1 1 1 1 1 1 0 1 0 0 039 27 0 0 1 0 0 1 1 1 1 0 1 0 1 047 2F 0 0 1 0 1 1 1 1 1 0 1 1 0 055 37 0 0 1 1 0 1 1 1 1 0 1 1 1 063 3F 0 0 1 1 1 1 1 1 1 0 0 0 0 071 47 0 0 0 0 0 1 1 1 1 1 0 0 1 079 4F 0 1 0 0 1 1 1 1 1 1 0 1 0 087 57 0 1 0 1 0 1 1 1 1 1 0 1 1 095 5F 0 1 0 1 1 1 1 1 1 1 1 0 0 103 67 0 1 1 0 0 1 1 1 1 1 1 0 1 111 6F 0 1 1 0 1 1 1 1 1 1 1 1 0 119 77 0 1 1 1 0 1 1 1 1 1 1 1 1 127 7F 0 1 1 1 1 1 1 1 As colunas com o título valor efetivamente lido, composto por cinco linhas de entrada, representam os valores fornecidos pelo sistema externo e será lido pelo computador através dos pinos especificados. As colunas contidas no título valor constante na porta 379h, significam os valores lidos das cinco linhas advaindas do sistema externo. Elas são colocadas, respectivamente, nos cinco bits mais significativos da porta, os três bits menos significativos são mantidos com nível alto, ou em baixo, caso a porta da impressora esteja configurada na BIOS como ECP, neste caso, subtraia 7 de cada valor das colunas seis e sete. Um detalhe: apenas o bit mais significativo passa internamente por um inversor, como pode-se ver na tabela, quando o sistema externo envia (1) a porta 379h lê (0).

Saída (micro para impressora: registrador controle) ENDEREÇO: 37AH 2 7 2 6 2 5 2 4 2 3 2 2 2 1 2 0 Os três bits mais significativos são inutilizados Este registrador possui entrada digital de 5 bits, sendo que, 4 deles estão disponíveis no conector DB25 da impressora. O quinto bit é utilizado para habilitar/desabilitar o pedido de interrupção no nível 7 (ve ja capítulo sobre o controlador de interrupções 8259), indisponível portanto, no conector. Este registrador tem uma característica muito especial. Visto que, estas quatro saídas são construídas utilizando o "coletor aberto" (veja literatura específica), torna-se possível utilizá-las também como entradas, utilizando o seguinte artifício: se os bits do registrador de saída forem ajustados com um valor que produz o nível TTL alto na saída, estes podem ser levados para o nível baixo por um sinal de entrada aplicado à esses pinos. Assim, um circuito exter no pode controlar o nível desses pinos e eles seriam utilizados co mo entrada e, desta forma, seus estados seriam sentidos pelo computador. Programando então, os bits de saída para nível alto, eles podem ser utilizados como bits de entrada nesta porta. Construção do cabo para conexões genéricas

Figura 2. Conector e cabeamento Enganando o computador para utilizar as funções de alto nível Quando se utiliza uma função de escrita na impressora como o write do Pascal ou o printf do C, elas disparam um processo de comunicação, pré-programado pela linguagem, entre o computador e a impressora que envolve escrita e leitura na porta, bem como, espera de sinais de controle da impressora, daí a necessidade de entender o protocolo de conversação entre os dois. Como não podemos alterar as funções de uma linguagem, em geral utilizamos outra de acesso direto aporta como a inport, outport ou port(), pois, quando você utiliza estas últimas, apenas escreve ou le na porta ao seu total comando. Porém, como desejamos "enganar" o sistema, basta ligar o pino correspondente (busy) a resposta da impressora ao terra, daí vai parecer que tudo que se manda para a porta, a impressora aceita e devolve o sinal dizendo que está pronta para receber o próximo dado.