Sei sulla pagina 1di 4

UNIVERSIDADE FEDERAL DO ESPRITO SANTO CENTRO UNIVERSITRIO NORTE DO ESPRITO SANTO

2 TRABALHO DE ARQUITETURA DE COMPUTADORES: PARAGUAIO


PARAllel port can Get Usefull Alfanumeric Input and Output

Eliezer de Souza da Silva Matheus Vieira Costa Este trabalho constituiu na construo de um sistema de Hardware e Software (Paraguaio) capaz de controlar um display de sete segmentos de acordo com o valor hexadecimal entrado pelo usurio no teclado. As teclas vlidas so as teclas de [0..9] , [A..F] e [a..f]. Neste arquivo explicado como utilizar o software e especificaes do funcionamento tanto do algoritmo em Assembly x86 quanto do projeto em hardware. Este documento acompanhado do cdigo-fonte Assembly e do executvel. Diversas funcionalidades implementadas no programa dependem da interrupo de software do int 80h (chamadas do sistema operacional) que so syscalls especficas dos sistemas da famlia Unix, de modo que este programa s poder executar corretamente em sistemas pertencentes a esta famlia (Linux, FreeBSD, etc). No entanto s foram feitos testes no sistema GNU Linux.

1. Interface com o usurio.


Aps a carga do programa, o usurio precisa simplesmente digitar alguma das teclas vlidas, sendo ela ento mostrada no display, caso correta. Caso o usurio tecle alguma tecla no vlida, o programa ser encerrado.

2. Funcionamento do Algoritmo.
O Software foi implementado em Assembly x86, utilizando o compilador NASM para gerar o cdigo objeto e o GNU gcc para gerar o executvel. Sua principal idia a captura do caracter digitado pelo usurio, que corresponde a um valor numrico na tabela ASCII e a impresso deste valor no display de sete segmentos. Isto feito utilizando chamadas a funes do Sistema Operacionais acessveis atravs da interrupo de software int 80h. Basicamente foram necessrias chamadas ao sistema para receber um caracter do teclado, pedir permisso de acesso porta paralela e envido de dados para a porta paralela. O caracter digitado pelo usurio no convertido para decimal, ele comparada com os valores em ASCII dos caracteres vlidos, podendo ento determinar o valor a qual ser preciso enviar para que o display acenda de forma a corresponder a representao no display do caracter digitado pelo usurio. Para definir qual valor enviar para a porta paralela consideramos cada LED do display separados (a,b,c,d,e,f e g) segundo o esquema da figura ao lado, correspondendo a uma palavra de 7 bits onde o g representa o bit mais significativo e o a o menos significativo. Outra considerao feita que um LED do display acende quando lhe enviamos um sinal Low (zero), ou seja, se trata de um display de anodo comum. Segundo as convenes que adotamos acima para gerar a representao do nmero 1, devemos acender os LEDs b e c, e deixar todos os outros apagados, que corresponde ao valor em binrio 1111001. Em baixo esto as tabelas com os caracteres vlidos, seguidos de seu valor codificado em ASCII, e do valor em binrio e decimal que deve ser enviado para a porta paralela de modo a

UNIVERSIDADE FEDERAL DO ESPRITO SANTO CENTRO UNIVERSITRIO NORTE DO ESPRITO SANTO obter a representao do caracter no display de sete segmentos, segundo as consideraes feitas no pargrafo anterior referente equivalncia de cada bit com um segmento no display.

Caractere 0 1 2 3 4 5 6 7 8 9 A a B b C c D d E e F f

Valor em ASCII 48 49 50 51 52 53 54 55 56 57 65 97 66 98 67 99 68 100 69 101 70 102

Caractere Valor em Binrio


(g f e d c b a)

Valor em Decimal 64 121 36 48 25 18 2 120 0 16 8 8 3 3 70 70 33 33 6 6 14 14

0 1 2 3 4 5 6 7 8 9 A a B b C c D d E e F f

1000000 1111001 0100100 0110000 0011001 0010010 0000010 1111000 0000000 0010000 0001000 0001000 0000011 0000011 1000110 1000110 0100001 0100001 0000110 0000110 0001110 0001110

3.

Projeto de Hardware.

O primeiro elemento de hardware necessrio para a execuo deste projeto o display de sete segmentos, que segundos as consideraes feitas neste projeto e as sadas geradas pelo software deve ser um display de nodo comum.

Configurao dos LEDs do display de nodo comum.

UNIVERSIDADE FEDERAL DO ESPRITO SANTO CENTRO UNIVERSITRIO NORTE DO ESPRITO SANTO A montagem de hardware deve contar tambm com um computador com uma porta paralela padro IEEE 1284 (25 pinos), ou com pinagens parecidas e que suporte fornecer e receber correntes mximas com valores prximos (de preferncias maiores para evitar danos ao computador). O padro IEEE 1284 suporta fornecer e receber uma corrente mxima de 14 mA (fornecendo uma tenso de maior que 2.4v e recebendo com tenso menor que 0.4 v). Mdulos de porta paralela mais antigos suportam, para os mesmos nveis de tenso descritos para o IEEE 1284, fornecer em torno de 2.6 mA e receber 24 mA. Pela montagem que faremos com um display de nodo comum, um LED acesso quando est em low, portanto recebendo corrente que flui do Vcc +5v para a porta paralela, e apaga quando est em high, tenso maior que 2.4v. Para limitar a corrente direta que flui para a porta paralela quando um LED conduz colocamos resistores de 1k em srie, que num mundo ideal (diodos como condutores perfeitos e tenso high de 5v) limitaria a corrente drenada para a porta em 5mA (que um valor seguro, visto que nos casos descritos acima o limite varia de 14mA a 24mA). A configurao de uma fonte de 5v conectada ao display de sete segmentos (nodo comum) em srie com resistncias de 1k foi montada em laboratrio e atravs de um multmetro verificamos que a corrente que flui no circuito de 2.2 mA e os LEDs apresentavam uma luminosidade boa.

Os pinos D0,D1,D2,D3,D4,D5 e D6 (Dados) da porta paralela foram conectados s pernas respectivas a,b,c,d,e,f e g do display, com os resistores de 1k intercalados entre a porta e o display. O Vcc +5v necessrio para o funcionamento do display foi obtido da porta USB que, pela especificao do padro USB, fornece uma corrente mxima de alimentao de 500mA. A identificao do fio e pino do Vcc +5v foi feita baseada no tipo de cabo e cor do fio correspondente. Segue o esquemtico final do projeto do hardware com todos os componentes do circuito conectados.

UNIVERSIDADE FEDERAL DO ESPRITO SANTO CENTRO UNIVERSITRIO NORTE DO ESPRITO SANTO