Acendedor de leds pela porta paralela
Programa com um simples menu onde o usuário pode escolher entre acender ou apagar os leds conectados à porta paralela. Nos comentários do programa segue a dica de como montar o circuito.
Descrição
Programa com um simples menu onde o usuário pode escolher entre acender ou apagar os leds conectados à porta paralela. Nos comentários do programa segue a dica de como montar o circuito.
Versões atualizadas deste script
/*
* Acendedor de leds pela porta paralela
* Angelito M. Goulart
* Setembro/2009
*
* Esquema Eletrico
*
* Pino2 -> 470R -> LED1
* Pino3 -> 470R -> LED2
*
* Pode-se usar do pino 2 ate o pino 9 para ligar os LEDs
* GND -> Do pino 18 ao pino 25
*
*/
#include <stdio.h>
#include <sys/io.h>
int main(void)
{
int opcao;
ioperm(0x378,3,1); //inicializa a porta paralela
outb(0x00, 0x378);
do
{
printf ("\n=====Acendedor de Leds=====\n");
printf (" 1.Acender Leds\n");
printf (" 2.Apagar Leds\n");
printf (" 3.Sair\n\n");
printf (" Selecione uma opcao: ");
scanf ("%d", &opcao);
if (opcao == 1)
{
outb(0xFF, 0x378); //caso a opcao seja 1, acende todos os leds
}
if (opcao == 2)
{
outb(0x00, 0x378); //caso a opcao seja 2, apaga todos os leds
}
}while (opcao != 3);
outb(0x00, 0x378);
return (0);
}
sou iniciante em Linux, parabéns, excelente seu programa consegui executar ele com Mandriva 2009 e codeblocks, mas nao precisa codeblocks, compilei também na linha de comando, excelente, nota 10, liguei 8 leds a paralela com resistor para proteger leds, acende todas e desliga, alterei o programa e fiz entrada com scanf armazendo numero decimal em variavel que coloquei no lugar do numero 0xFF hexa no comando outb, e carreguei ele com numero em decimal acendou as luzes na sequencia conforme numero binario correspondente, esquema dos leds pode ser encontrado em www.rogercom.com.
excelente parabens
Marcelo Paiva
Quilombo Santa Catarina
mpaiva2505@gmail.com