< Super Dicas |  Glossário  |  Softwares  | Cuca Sabida  |  Aprenda | Tutoriais |  Página inicial  > 

   
 
  Aulas
Internet
Linguagens
Redes
Hardware
Banco de Dado
Comp. Gráfica
I. A.
Algoritmos
S. Operacional

  Sofwares
Ms-Word
Ms-Excel
I. Explorer
Front Page
Linux
Winzip

  Instrutor.com
:: Contatos
:: Quem somos
:: Publicidade
:: Ganhamos
:: Comente
:: Parcerias

  Ferramentas
Mapa do Site
Downloads

  Eu gostei
Home Page
Papel / Parede

 

2° Projeto

O objetivo e ligar e desligar mais 4 Leds conectados a Porta paralela.

Ao enviar um byte para o registrador 37Ah, mantenha os 4 últimos bits (nibble alto) zerados, para não interferir no registrador 378h.

Quando for trabalhar com o registrador 37Ah, tenha sempre em mente que para ativar os sinais Slct In, AutoFeed e Strob, será necessário colocar os bits em 0 (zero), porque eles trabalham de forma invetida, 0 (zero) ativa, 1 (um) desativa. Somente o Init trabalha na sua forma normal.

Tabela descritiva dos sinais

Descrição
Número dos Pinos
Nenhum Pino
Relacionado
Sict in
Init
Auto
Feed
Strob
 
17
16
14
1
Posição dos Bits:
7
6
5
4
3
2
1
0
Byte em Binário
0
0
0
0
1
1
1
1
Byte em Decimal
15

Lista de componentes:

o 1 (um) Cabo Paralelo - o mesmo utilizado pela impressora;
o 4 (quatro) Resistores (R1 a R4) todos de 470 ohm (amarelo, violeta e marrom);
o 4 (quatro) LEDs (L1 a L4) comuns de qualquer cor.
o Geral: fios, fero de soldar, solda etc.

Software:

O programa a seguir testa o 2° Projeto. É simples, em primeiro lugar será enviado um byte à Porta Paralela que ligará todos os LEDs. Em seguida você pressionará uma tecla para enviar mais outro byte, agora este ligará somente o LED 1 e assim sucessivamente, até que seja enviado o último byte, que apagará todos os LEDs.

//Envia para a Porta Paralela LPT1 no registro 37Ah:
#include <stdio.h>
#include <dos.h>
#define BIT0LIGALED1 3 // 0000 1010
#define BIT1LIGALED2 15 // 0000 1001
#define BIT2LIGALED3 9 // 0000 1111
#define BIT3LIGALED4 10 // 0000 0011
#define LIGATODOS 4 // 0000 0100
#define DESLIGATODOS 11 // 0000 1011
int main(void)
{
outportb(0x37A,LIGATODOS);
//Liga todos os LEDs
getch();
outportb(0x37A,BIT0LIGALED1);
//Liga LED 1
getch();
outportb(0x37A,BIT1LIGALED2);
getch();
outportb(0x37A,BIT2LIGALED3);
getch();
outportb(0x37A,BIT3LIGALED4);
getch();
outportb(0x37A,DESLIGATODOS);
//Desliga todos os LEDs
}


 
 
 
Design by: Instrutor.com © - Direitos reservados