- Messaggi: 583
- Ringraziamenti ricevuti 1
Aiuto calcolo delay
12 Anni 10 Mesi fa #1
da Guido
Aiuto calcolo delay è stato creato da Guido
Ciao, mi spiegate in modo semplice come si calcola una frequenza col Delay?
Es. voglio far lampeggiare un led a 550Hz e uno a 1200Hz (le frequenze le ho messe a caso) su un PIC 18F4550 con un quarzo esterno da 4MHz.
Es. voglio far lampeggiare un led a 550Hz e uno a 1200Hz (le frequenze le ho messe a caso) su un PIC 18F4550 con un quarzo esterno da 4MHz.
Si prega Accedi o Crea un account a partecipare alla conversazione.
- Guido
- Autore della discussione
- Platinum Member
Riduci
Di più
12 Anni 10 Mesi fa #2
da Akuryu
Risposta da Akuryu al topic Re: Aiuto calcolo delay
Ciao, questa sezione è dedicta alle presentazioni per i quesiti ci sono altre sezioni del forum dove puoi chiedere, se apri un topic nella sezione giusta sarò felice di risponderti li ^^
Si prega Accedi o Crea un account a partecipare alla conversazione.
- Akuryu
- Premium Member
Riduci
Di più
- Messaggi: 137
- Ringraziamenti ricevuti 3
12 Anni 10 Mesi fa #3
da Mauro Laurenti
Risposta da Mauro Laurenti al topic Re: Aiuto calcolo delay
Ciao Guido,
ho cambiato la categoria del messaggio per cui non c'e' bisogno di crearne un altro.
Quando crei un nuovo Topic sopra la casella di testo dell'oggetto seleziona la categoria del topic in maniera che sia direttamente nella categoria piu' corretta. In alternativa posizionati nel Forum direttamente nella categoria dove vuoi metter il topic e clicca sul tasto nuovo Topic (non il Tab Nuovo Topic). In questo modo il messaggio viene memorizzato direttamente nella categoria selezionata.
Saluti,
Mauro
ho cambiato la categoria del messaggio per cui non c'e' bisogno di crearne un altro.
Quando crei un nuovo Topic sopra la casella di testo dell'oggetto seleziona la categoria del topic in maniera che sia direttamente nella categoria piu' corretta. In alternativa posizionati nel Forum direttamente nella categoria dove vuoi metter il topic e clicca sul tasto nuovo Topic (non il Tab Nuovo Topic). In questo modo il messaggio viene memorizzato direttamente nella categoria selezionata.
Saluti,
Mauro
Si prega Accedi o Crea un account a partecipare alla conversazione.
12 Anni 10 Mesi fa #4
da Mauro Laurenti
Risposta da Mauro Laurenti al topic Re: Aiuto calcolo delay
Ciao,
Akuryu non ha mantenuto la promessa di rispondere in caso il topic fosse stato nella sezione giusta...!
Allora cominciamo col dire che due note assieme semplicemente on-off non le puoi ottenere.
L' altoparlante o e' acceso o e' spento, per cui puoi generare solo una nota alla volta (questo non e' proprio verissimo). Facendo uso del PWM e usandolo in veste di DAC puoi miscelare piu' note assieme ma non e' banale. Inizierei con il continuare il programma di esempio che hai in mano e che ti permette di generare gia' delle note associate una per tasto.
Per mezzo del programma PIC Timer puoi impostare il delay che ottieni per mezzo del timer ma devi fare attenzione a questo fatto:
Supponiamo di voler generare una frequenza da 1KHz ovvero il cui periodo e' 1 ms. Questo non significa che il timer deve creare un ritardo di 1ms. Supponendo di avere una nota con duty cycle del 50% ovvero mezzo periodo acceso e mezzo spento, devi avere che per 500us l'altoparlante e' acceso e per 500us i l'altoparlante e' spento. La somma dei due tempi e' proprio il periodo di 1ms. Quindi con il timer devi avere una base tempi di 500us e ad ogni interrupt devi invertire il bit associato all'altoparlante.
Con frequenze diverse calcola il periodo T (T = 1/ f) ovvero l' inverso della frequenza e imposta il timer a meta' del tempo.
Quindi alla pressione di ogni tasto associ un valore del timer diverso.
Saluti,
Mauro
Akuryu non ha mantenuto la promessa di rispondere in caso il topic fosse stato nella sezione giusta...!
Allora cominciamo col dire che due note assieme semplicemente on-off non le puoi ottenere.
L' altoparlante o e' acceso o e' spento, per cui puoi generare solo una nota alla volta (questo non e' proprio verissimo). Facendo uso del PWM e usandolo in veste di DAC puoi miscelare piu' note assieme ma non e' banale. Inizierei con il continuare il programma di esempio che hai in mano e che ti permette di generare gia' delle note associate una per tasto.
Per mezzo del programma PIC Timer puoi impostare il delay che ottieni per mezzo del timer ma devi fare attenzione a questo fatto:
Supponiamo di voler generare una frequenza da 1KHz ovvero il cui periodo e' 1 ms. Questo non significa che il timer deve creare un ritardo di 1ms. Supponendo di avere una nota con duty cycle del 50% ovvero mezzo periodo acceso e mezzo spento, devi avere che per 500us l'altoparlante e' acceso e per 500us i l'altoparlante e' spento. La somma dei due tempi e' proprio il periodo di 1ms. Quindi con il timer devi avere una base tempi di 500us e ad ogni interrupt devi invertire il bit associato all'altoparlante.
Con frequenze diverse calcola il periodo T (T = 1/ f) ovvero l' inverso della frequenza e imposta il timer a meta' del tempo.
Quindi alla pressione di ogni tasto associ un valore del timer diverso.
Saluti,
Mauro
Si prega Accedi o Crea un account a partecipare alla conversazione.
12 Anni 10 Mesi fa #5
da Guido
Risposta da Guido al topic Re: Aiuto calcolo delay
Grazie, sei stato molto chiaro, bravo. Ancora una domanda, usando un PIC 18f4550 se inserisco un numero di pulsanti superiore a 4 (es. otto) i timer li devo gestire in polling?
Si prega Accedi o Crea un account a partecipare alla conversazione.
- Guido
- Autore della discussione
- Platinum Member
Riduci
Di più
- Messaggi: 583
- Ringraziamenti ricevuti 1
Moderatori: Mauro Laurenti, Pinna, StefA, Matteo Garia
Registrati al sito
Accedi a tutte le risorse e articoli non visibili pubblicamente, puoi registrarti con pochi passi.