Newsgroup: it.hobby.elettronica.digitale
Titolo: C, Pic, 16F84 e servo motori

Ho scaricato dal sito dell'HTSOFT, il compilatore PICCLite. Mi sembra una
buona cosa, ma sia il manuale che il programma sono corredati da pochi
esempi esplicativi.
Mi interesserebbe soprattutto capire come programmare delle routine di
ritardo per generare gli impulsi da 1,5 msec ecc per pilotare i servi.
L'unica cosa che mi č venuta in mente č usare il prescaler con il timer
interno insieme ad un contatore. Ma non ho trovato argomentazioni utili su
cosa fare.
Se qualcuno ha dei buoni suggerimenti......
Ciao e Grazie
--
--------------------------------------------------
Walter Alex Lucetti
E-mail:           
luc...@tin.it
Urgenti: 
walter....@inwind.it
--------------------------------------------------

 cosa fare.
Questo sarebbe il modo migliore, sopratutto se usi l'interrupt per
ricaricare il timer in modo da non tenere la cpu bloccata in loop d'attesa,
quella che segue è un'esempio di routine generica per inizializzare il
timer0 con il prescaler con un valore (conta) passato da un'altra funzione
/* Timer Routine */
void DelayT0(int conta)
{
// le istruzioni che seguono sono solamente
// di inizializzazione e possono essere
// eseguite solo una volta in testa al main
T0CS = 0;  // Timer0 modo Timer
PSA  = 0;  // Assegna il prescaler al Timer
T0IE = 0;  // Abilita Interrupt per Timer0
PS0  = 1;  // Carica il valore di prescaling
PS1  = 1;  // PS0-PS2 register
PS2  = 1;  // 0b111 carica 256
// una volta inizializzato il timer l'unica vera
// istruzione che serve per presettarlo è la seguente
TMR0 = conta;  // Carica il conteggio iniziale
// attesa fine ciclo timer tramite controllo flag interrupt timer 0
// in alternativa si può scrivere un vero e proprio gestore d'interrupt
// per gestire la ricarica del timer
while (T0IF==0){}
T0IF = 0;   // Ripristina Flag
}
--
Ciao
Marco d'Ambrosio  
m.dam...@libero.it
http://www.razzimodellismo.it
    ACME I-RM-05 / TRA #08224 L1
http://web.tiscalinet.it/mda
http://digilander.iol.it/robotica

Grazie!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Posso chiedrti una cosa? Ma passi la giornata collegato al newsgroup?
Ogni volta che posto un messaggio hai subito una risposta pronta con una
velocità assurda....
Ancora grazie................


 velocità assurda....
Assolutamente no, molto probabilmente abbiamo gli stessi orari di
consultazione :-)


Due domande sul codice:
1)
main
{
............
// Qui non ci vanno due DelayUs(250)?????
    DelayMs(250);  // delay complessivo di 0.5ms
    DelayMs(250);
//////////////////////////////////////
    RB.0=0;           // bit 0 resettato, fine impulso
    DelayMs(20);   // delay 20 ms
    }
}
2) Nella versione Lite che ho scaricato non sono presenti le librerie. Dove
posso scaricare la Delay.h e tutte quelle che possono essere più utili?
Ciao
Walter

 posso scaricare la Delay.h e tutte quelle che possono essere più utili?
La delay.h e delay.c fanno parte degli esempi, controlla bene che li devi
avere, al limite te li mando io.
Nella versione lite mancano solo le librerie per la compilazione con
processori diversi dal 16F84, tutto il resto è presente e non hai altre
limitazioni.


Purtroppo non ci sono esempi :-((
Se ci fossero stati esempi sarei stato meno rompiscatole in quanto da buon
studente di Ingegneria ho fatto degli esempi il mio pane quotidiano....
Se sei veramente cosě gentile da mandarmi quello che ritieni piů utile il
mio indirizzo č a tua disposizione.
Ciao e ancora grazie
--
--------------------------------------------------
Walter Alex Lucetti
E-mail:           
luc...@tin.it
 (usa questo, grazie)
Urgenti: 
walter....@inwind.it
--------------------------------------------------

Se non erro dovrebbe esserci un file di esempi da scaricare a
parte,vedi bene sul sito,altrimenti fammi un fischio che ti mando io
qualcosa.
Sul sito della htsoft c'e' un forum molto esaustiente, e' in
inglese...
Qui : 
http://www.workingtex.com/htpic/
 trovi molte cose, compresa un
Faq che ti potra' essere utili.