Newsgroup: it.hobby.elettronica.digitale
Titolo: aiutino per un prog semplice!

Ciao a tutti!
Provo a scrivere qua per vedere se è rimasta qualche anima pia 
che abbia voglia di pedere 10 minuti per me!
Ho approcciato a più riprese la programmazione di uC, ed 
abbandonata poi per qualche anno.. risultato: mi ricordo più 
nulla :)
Non ho basi di programmazione seria, ma sono sempre riuscito a 
farmi i miei programmucoli semplici in assembler... 
ripromettendomi un giorno di imparare a programmare in C  :)
Facendola breve:
Avrei bisogno di programmare un pic 16f62X in modo tale che, 
pigiato un pulsante mi generi un treno di impulsi.
Ho iniziato a farlo in assembler, ma è già troppo lungo e 
farraginoso.. :(
Qualcuno ha voglia di aiutarmi facendo un paio di copia/incolla 
nel proprio compilatore?
A disposizione per ulteriori dettagli/flowchart/schema elettrico
Grazie a tutti quelli che mi risponderanno!! :)
Luca
--  
Postato da Virgilio Newsgroup: scopri i nuovi gruppi 
Eros, foto e video a 
http://newsgroup.eros.virgilio.it

>pigiato un pulsante mi generi un treno di impulsi.
ma che intendi per treno di impulsi?
se non costituiscono un codice non è che un microcontrollore per una
simile applicazione è un po' sprecato???

 Grazie a tutti quelli che mi risponderanno!! :)
Perchè non usi un 555 per creare un "treno di impulsi"?
Se proprio vuoi usare un microcontrollore orientati verso quelli che hanno 
il PWM integrato (il 16F877 per esempio) e il codice diventa davvero 
semplice da fare, soprattutto con quei compilatori che hanno già la funzione 
integrata!
Ad esempio usando il CCS C puoi fare cosi (ti riporto un pezzo di un mio 
programma):
{
....
   setup_adc_ports(NO_ANALOGS);
   setup_adc(ADC_OFF);
   setup_psp(PSP_DISABLED);
   setup_spi(FALSE);
   setup_counters(RTCC_INTERNAL,RTCC_DIV_1);
   //La parte che ti interessa di più è questa:
   setup_timer_1(T1_DISABLED);
   setup_timer_2(T2_DIV_BY_4,6,1); //Creo un "treno di impulsi" a circa 
40KHz
   setup_ccp1(CCP_PWM); //Setto il PWM
   set_pwm1_duty(12); //Imposto il duty cycle al 50%
....
....
}
In questo modo sul pin RC2 del 16F877 ci sarà un treno di onde quadre a 
40KHz con un duty cycle al 50%.
Ovviamente sia la frequenza che il duty posso essere cambiati anche in fase 
di esecuzione.
Per sapere quali parametri dare a al timer 2 ti può essere d'aiuto sia il 
CCS C (che lo fa in semi-automatico) sia il datasheet del pic che riporta le 
formule.
Se mi dici cosa vuoi fare posso cercare di essere più preciso e se il 
programma non è lungo posso cercare di fartelo io (se ho tempo :D)!
Comunque se lo scopo è fare un "treno di impulsi" e basta, un 
microcontrollore è davvero sprecato :(
Ciao

Marcello ha scritto:

Carissimo marcello :) grazie intanto per la ripsosta.
Aspettavo una risposta per dettagliare.
In realtà la cosa è un pelo più complessa, altrimenti avrei 
usato due 555 :)
il treno di impulsi prevede un numero di cicli, una durata On ed 
una Off e poterli impostare.
Mi sono fatto il flow chart, anche per la gestione di un piccolo 
modulo lcd 16x2...
Il pc è la morte sua direi. Tra l'altro avevo trovato delle 
subroutine er la gestione del display grazie alle quali avevo 
fatto u n timer in pochi minuti e 3 righe di codice..
Se hai voglia di dedicarmi qualche minuti per tirare giu il 
codice asm, ti mando quel che ho prodotto! :)


 ho tempo :D)!
Grazie airone! ti ho già in parte risposto rispondendo a 
marcello!
Se vuoi ti dettaglio e mando il flowchart qua o per altra via.. 
come preferisci! Per uno pratico di PIC e programmazione in 
generale cmq credo sia roba di 5 minuti...il più è aver chiaro 
cosa fargli fare :) ed avere un po' di librerie da cui attingere!
Attendo istruzioni :) eheh
luca


 come preferisci!
E' meglio qui :) cosi altre persone possono contribuire ed intervenire!