Xhack

Un forum dedicato all'hacking
 
IndiceIndice  PortalePortale  CalendarioCalendario  FAQFAQ  CercaCerca  RegistrareRegistrare  Lista utentiLista utenti  GruppiGruppi  Connessione  

Condividere | 
 

 LED lampeggiante con la porta parallela (e il C)

Vedere l'argomento precedente Vedere l'argomento seguente Andare in basso 
AutoreMessaggio
BlackLight
Moderatore
Moderatore


Numero di messaggi: 277
Età: 25
Data d'iscrizione: 22.08.07

MessaggioOggetto: LED lampeggiante con la porta parallela (e il C)   Ven Set 28, 2007 2:04 pm

In un momento di ozio ho avuto questa idea oggi, quella di fare un circuito semplicissimo per illuminare un LED a intermittenza collegandolo alla porta parallela del pc. Il circuito è il seguente (semplicissimo, e si può usare per un numero a piacere di LED in parallelo):



Il codice C per pilotarlo (sotto Linux) è un semplice codice che, in questo caso, scrive sulla porta parallela il valore binario 0000 0001 (ovvero attiva solo il primo data pin della porta, supponendo che il LED è collegato ad esso). In tal modo il LED viene alimentato in diretta con una corrente di +5V, entra in conduzione e si illumina. Dopo un secondo viene scritto sulla porta il valore binario 0000 0000, e il LED viene spento, e così via. In pratica la porta parallela può essere usata come un generatore di onde quadre. Volendo si può fare quello che si vuole, aumentare o diminuire gli intervalli on/off, collegare più LED in parallelo e giocare con i valori scritti sulla porta per accenderli e spegnerli, collegarlo ad un circuito integratore con operazionale in modo da avere un'onda triangolare a partire da un'onda quadra e avere quindi un LED che si accende gradualmente...

Eccovi il mio codice in C:

Codice:
#include <stdio.h>
#include <stdlib.h>
#include <asm/io.h>

#define PORT            0x378

main()  {
        // Attivo la porta
        if (ioperm(PORT,3,1)<0)
                exit(1);

        while (1)  {
                // Scrivo 1111 1111 sulla porta
                // in modo da alimentare tutti i data pin
                outb(0xFF,PORT);

                // Aspetto un secondo
                sleep(1);

                // Disattivo i data pin scrivendo 0000 0000 sulla porta
                outb(0,PORT);

              // Aspetto un secondo
                sleep(1);
        }
}


Buon hacking.
Tornare in alto Andare in basso
Vedere il profilo dell'utente http://blacklight.gotdns.org
 

LED lampeggiante con la porta parallela (e il C)

Vedere l'argomento precedente Vedere l'argomento seguente Tornare in alto 
Pagina 1 su1

 Argomenti simili

-
» Un signore bussa alla porta e dice:"buonasera o cento signori un signore si...
» Dopo 8 anni di matrimonio scoprono che i bambini non li porta la cicogna
» Per la strada che porta a Camogli passava un uomo con sette mogli. Ogni moglie aveva..
» IL BRUCO PORTA MATITE
» [RICHIESTA] Sbloccare le porte di un NETGEAR DG834G

Permesso del forum:Non puoi rispondere agli argomenti in questo forum
Xhack :: Other :: Elettronica-