A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

DHD – Desenvolvimento em Hardware

Apresentações semelhantes


Apresentação em tema: "DHD – Desenvolvimento em Hardware"— Transcrição da apresentação:

1 DHD – Desenvolvimento em Hardware
Terça-feira, 7 de Novembro de 2006

2 DHD – Desenvolvimento em Hardware Prof. Frederico Brito Fernandes
18 DHD – Desenvolvimento em Hardware Porta Paralela: Introdução Introdução Conector DB25 Endereços Auto-avaliação Prof. Frederico Brito Fernandes Terça-feira, 7 de Novembro de 2006

3 Porta Paralela: (1) Introdução
Interface de comunicação entre o computador e um periférico Inicialmente criado para conectar uma impressora Porém, surgiram scanners, câmeras que se conectavam via porta paralela Pode-se controlar qualquer aparelho que se conheça o funcionamento Conector DB25 Macho Fêmea

4 (2) Conector DB25 Macho Finalidade de cada pino:

5 (2) Conector DB25 Macho e Fêmea

6 Endereço padrão da porta paralela:
(3) Endereços Endereço padrão da porta paralela: Hexadecimal: 378h Ou em decimal: 888 Também conhecido por LPT1 Algumas máquinas possuem duas portas paralelas O que aconteceria, se lêssemos do endereço 378h? int * ptr=0x378h; printf(“%d”, *ptr);

7 O acesso à porta paralela não pode ser feito diretamente:
(3) Endereços O acesso à porta paralela não pode ser feito diretamente: Windows 9.X As linguagens de programação, oferecem bibliotecas de acesso à porta paralela Ex: no Turbo C++, pode-se usar as funções inport() e outport() da biblioteca dos.h Windows NT/2000/XP O hardware só pode ser acessado via comandos do Sistema Operacional Solução: usar as funções inp32() e oup32() da inpout32.dll (http://www.logix4u.net/) Olhar aplicação exemplo, implementada no DevC++ em: Questionamento: Quantos bits serão lidos da DB25, usando essas funções?

8 Endereços e pinagem para acesso da porta paralela:
TIPO PINOS ENDEREÇO Dados 2..9 378h Status 10,11,12,13 e 15 379h Controle 1,14,16 e 17 37Ah Leitura/Escrita Leitura OBS: S7, a barra indica que o pino (no caso o 11) é lido com valor invertido 378h LEGENDA Leitura/Escrita Leitura Terra 379h 37Ah

9 Endereços e pinagem para acesso da porta paralela:
(3) Endereços: 378h Endereços e pinagem para acesso da porta paralela: 1 2 3 4 5 6 7 8 LEDs Ligaremos LEDs aos pinos de dados Faremos uma função que verifica se o LED passado está aceso ou apagado Ex: 378h #define LPT1_D 0x378 #define LED1 0 #define LED2 1 ... #define LED8 7 int taLigado(int porta, int led){ int entrada = inp32(porta); return ( (entrada >> led) % 2); } main(){ printf(“%d”, taLigado(LPT1_D, LED4) );

10 Endereços e pinagem para acesso da porta paralela:
Ligaremos CHAVES aos pinos de controle Podemos usar a mesma função anterior, exceto para a chave 5 Ex: 379h CHAVEs 1 2 3 4 5 int taPressionada(int porta, int chave){ int entrada = inp32(porta), saida; saida = (entrada >> led) % 2; if (chave==CH5) return !saida; else return saida; } main(){ printf(“%d”, taPressionada(LPT1_S, LED4) ); #define LPT1_S 0x379 #define CH1 0 #define CH2 1 #define CH3 0 #define CH4 1 #define CH5 3

11 (4) Auto-avaliação Considere que você possui 5 chaves conectadas aos pinos de Status e 8 leds conectados aos pinos de Dados, de acordo com a figura abaixo. a) Faça um loop infinito de modo que ele fique imprimindo na tela qual tecla foi pressionada b) Altere o programa anterior, de modo que, quando pressionada a chave: 4, o programa se encerra 6, liga todos os leds 5, desliga dos os leds c) Altere o programa da letra (a), de modo que, quando pressionada uma chave, deve-se acender o led correspondente. Ex: se a chave5 for pressionada, acende-se o led5 LEDs 1 2 3 4 5 6 7 8 378h CHAVEs 4 8 7 5 6 379h


Carregar ppt "DHD – Desenvolvimento em Hardware"

Apresentações semelhantes


Anúncios Google