A maior rede de estudos do Brasil

Grátis
120 pág.
ApostilaANSI-C

Pré-visualização | Página 17 de 27

e as características de trabalho das 
mesmas; 
� o sistema operacional que estamos trabalhando (Windows XP não permite 
acesso direto a diversos I/Os do sistema). 
 
Usaremos as funções import e outpot2 para acessar a interface paralela, antes 
precisamos conhecer o funcionamento da mesma: 
 
2
 Essas funções foram criadas por Douglas Beattie Jr e foram adaptadas no nosso curso pelo 
professor John Kennedy Schettino de Souza. Elas estão presentes em todos os programas 
presentes no guia de Aula Prática 09. 
 
 
CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE MINAS GERAIS 
Departamento de Ensino do 2o grau - Coordenação de Eletrônica 
Disciplina: Laboratório de Introdução a Programação 
Professora: Rosângela Fátima da Silva 
 
 
75 
INTERFACE PARALELA 
 
Paralela refere-se ao fato de conduzir os sinais por meio de oito fios (um para 
cada bit de um byte de dados). Foi criada na década de 70 para que fosse 
possível uma comunicação com sucesso entre o computador e a impressora. 
Além da Interface paralela para o PC foi criado o padrão Centronics para a 
impressora. O padrão Centronics estabelece um cabo de comunicação de 36 vias, 
formando a 18 pares de comunicação, onde cada par leva individualmente uma 
informação corresponde a um sinal e um terra. 
 
Para utilização deste padrão com o PC algumas alterações foram implementadas 
no que diz respeito ao cabo de comunicação, uma vez que o conector da porta 
paralela do PC é o conector DB-25. Essa alteração provocou uma redução de 11 
vias de aterramento, adequando o cabo estabelecido pelo padrão Centronics ao 
conector DB-25. 
 
O cabo padrão Centronics interliga a Interface Paralela ao conector DB-25 
apresentado as características mostradas na Figura 14, a seguir: 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Figura 14 - Cabo padrão Centronics ligando o conector DB-25 à interface Paralela 
 
CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE MINAS GERAIS 
Departamento de Ensino do 2o grau - Coordenação de Eletrônica 
Disciplina: Laboratório de Introdução a Programação 
Professora: Rosângela Fátima da Silva 
 
 
76 
Estrutura da Interface Paralela 
 
Cada terminal do conector (pino) está associado a um dos registros da Interface 
Paralela. Esses registros serão descritos a seguir. 
 
1. Registro de dados 
É um registro bidirecional de 8 bits D0 a D7. Através desse registro, dados podem 
ser enviados para um dispositivo externo ou podem ser lidos pela CPU. 
 
2. Registro de status 
Apresenta seis bits responsáveis pela indicação do estado da comunicação 
corrente. Os nomes dados a esses pinos buscam traduzir os seus respectivos 
papéis no protocolo Centronics, conforme apresentado na Tabela 15: 
 
Tabela 15 - Descrição dos pinos do Registro de Status 
Pinos Função Descrição do pino quando ATIVO 
D7 Busy A impressora está ocupada, não pode receber dados 
D6 ACK A impressora recebeu dados 
D5 PE A impressora está sem papel 
D4 Select A impressora está ligada e pronta para tentativas de 
comunicação 
D3 Error Ocorreu um erro no processo de impressão 
D2 IRQ Ocorreu uma interrupção (não está ligado ao cabo de 
conexão) 
D1 - Reservado 
D0 - Reservado 
 
3. Registro de Controle 
É usado para o controle da impressão, apresenta seis bits, mas apenas quatro (D0 
- D3) são ligados ao cabo de conexão. Observe a Tabela 16: 
 
Tabela 16 - Descrição dos pinos do Registro de Controle 
Pinos Função Descrição do pino quando ATIVO 
D7 - Reservado. 
D6 - Reservado. 
D5 Direção Determina a direção dos dados no registro de dados 
D4 IRQ Habilita interrupção. 
D3 Select-in Seleciona a impressora. 
D2 Init Inicia uma impressão. 
D1 Autofeed Solicita à impressora que execute um avanço de papel. 
D0 Strob Apresenta nível lógico alto durante a impressão, mas 
quando um caractere é colocado na porta de dados 
este pino apresenta momentaneamente nível baixo. 
 
CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE MINAS GERAIS 
Departamento de Ensino do 2o grau - Coordenação de Eletrônica 
Disciplina: Laboratório de Introdução a Programação 
Professora: Rosângela Fátima da Silva 
 
 
77 
As conexões físicas do conector DB-25 e os registros apresentam as relações e 
características apresentadas na Tabela 17, a seguir: 
 
Tabela 17 - Descrição dos pinos do conector DB 25 associado ao pinos do cabo da impressora 
padrão Centronics 
Pino no 
(DB-25) 
Pino no 
(Centronics) 
Sinal SSP Direção 
Ent/Saída 
Registro Sinal 
invertido 
1 1 Strobe Ent/Saída Controle Sim 
2 2 Dado 0 Saída Dado 
3 3 Dado 1 Saída Dado 
4 4 Dado 2 Saída Dado 
5 5 Dado 3 Saída Dado 
6 6 Dado 4 Saída Dado 
7 7 Dado 5 Saída Dado 
8 8 Dado 6 Saída Dado 
9 9 Dado 7 Saída Dado 
10 10 ACK Ent Estado 
11 11 Busy Ent Estado Sim 
12 12 PE Ent Estado 
13 13 Select Ent Estado 
14 14 AutoLinefeed Ent/Saída Controle Sim 
15 32 Error Ent Estado 
16 31 Init Ent/Saída Controle 
17 36 Select-Printer Ent/Saída Controle 
18-25 19-30 Ground Gnd 
 
O acesso a estes registros da Interface paralela são feitos através dos endereços, 
apresentados na Tabela 18: 
 
Tabela 18 - Endereços dos registros da Interface Paralela do PC 
Impressora Dados Status Controle 
LPT1 0x378 0x379 0x37A 
LPT2 0x278 0x279 0x27A 
 
Na realidade o que nos interessa é o endereço dos registros e a direção dos 
pinos, pois não queremos enviar dados para uma impressora. Desejamos acionar 
leds e ler chaves, então a idéia é colocar o endereço do registro no barramento de 
endereços, colocar o dado no barramento de dados e habilitar o dispositivo onde 
deverá ser realizada a comunicação. 
 
CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE MINAS GERAIS 
Departamento de Ensino do 2o grau - Coordenação de Eletrônica 
Disciplina: Laboratório de Introdução a Programação 
Professora: Rosângela Fátima da Silva 
 
 
78 
ATIVIDADES 
 
9.1 Analise o programa apresentado a seguir, monte o hardware necessário ao 
seu funcionamento e execute o programa: 
� Acionando a alternativa Run, da janela Run. 
� Passo a passo acionado a tecla F8. 
Explique o que aconteceu. 
 
/******************************************************/ 
/*** ***/ 
/*** TEST.c -- test interface to inpout32.dll ***/ 
/*** ( http://www.logix4u.net/inpout32.htm ) ***/ 
/*** ***/ 
/*** Copyright (C) 2003, Douglas Beattie Jr. ***/ 
/*** ***/ 
/*** <beattidp@ieee.org> ***/ 
/*** http://www.hytherion.com/beattidp/ ***/ 
/*** ***/ 
/*****************************************************/ 
 
/*******************************************************************/ 
/* */ 
/* Builds with Borland's Command-line C Compiler */ 
/* (free for public download from Borland.com, at */ 
/* http://www.borland.com/bcppbuilder/freecompiler ) */ 
/* */ 
/* Compile with: */ 
/* */ 
/* BCC32 -IC:\BORLAND\BCC55\INCLUDE TEST.C */ 
/* */ 
/* */ 
/* Be sure to change the Port addresses */ 
/* accordingly if your LPT port is addressed */ 
/* elsewhere. */ 
/* */ 
/*****************************************************************/ 
 
#include <stdio.h> 
#include <conio.h> 
#include <windows.h> 
#include <stdlib.h> 
 
/* Definitions in the build of inpout32.dll are: */ 
/* short _stdcall Inp32(short PortAddress);