LEZIONE 56

PULSEOUT

L’istruzione PULSEOUT serve a mantenere alto il piedino del PIC impostato per poi spostarlo al livello logico basso.

Sintassi:
PULSEOUT pin, tempo unità

Vediamo un pezzo di codice per capire meglio il funzionamento:

#CHIP 16F84, 4           'Tipo di PIC utilizzato

DIR PORTB.1 OUT
PULSEOUT PORTB.1, 1 sec           'Accendo il led per 1 sec

'Fine programma
END

In questo caso la porta PORTB.1 rimarrà allo stato alto per 1 secondo per poi riscendere allo stato basso.
Una volta scaricato il programma nel PIC premete il tasto di reset e vedrete il led accendersi per 1 secondo e poi rimanere spento.
Questa istruzione è molto comoda quando vogliamo creare una frequenza da utilizzare per i circuiti di clock degli integrati o per sincronizzare dei componenti come i ricevitori infrarossi o le capsule ad ultrasuoni.
Per generare una frequenza di 2 HZ ovvero 2 onde in un secondo dobbiamo fare quanto segue:
Dividere il tempo per la frequenza 1 sec / 2 HZ = 0,5 (che equivale a 500 millesimi di secondo) ed usare il risultato come base per i tempi, come nell’esempio:

#CHIP 16F84, 4           'Tipo di PIC utilizzato

DIR PORTB.1 OUT

Ciclo:
PULSEOUT PORTB.1, 500 ms           'Accendo il led per 500 millisecondo
WAIT 500 ms           'Attendo 500 millisecondi
GOTO Ciclo

END           'Fine programma

In questo caso il led lampeggerà 2 volte in 1 secondo, non cercate di aumentare la frequenza perchè l’occhio umano non noterà la differenza tra un led acceso ed un led che lampeggia a 50 volte in 1 secondo (50 HZ).
L’istruzione PULSEOUT determinerà quanto tempo l’uscita deve trovarsi a livello alto mentre l’istruzione WAIT quanto tempo dovrà mantenere il livello basso.
Volendo disegnare l’onda generata la sua forma assomiglierà alla seguente:



Variando i tempi del livello alto e del livello basso si possono variare le forme d’onda nel seguente modo:



Grazie a queste forme d’onda è possibile pilotare dei servi da modellismo per ruotare una telecamera o un braccio robotica o semplicemente delle zampe di un robot insetto.

LEZIONE 57
LEZIONE 55