Elettronicamente.com
La risorsa Italiana per l'elettronica
e l'informatica applicata all'elettronica
  Sponsor
|Home| |Registrazione| |Login| |Disclaimer| |Contattaci| |Guida| |FAQs|
|Download| |Forum| |Links| |MySite|
Cerca in Elettronicamente:
 
I numeri di Elettronicamente.com:
  Iscritti: 12853
  Risorse On-Line: 508
  Links su siti di elettronica: 1304
  Sei il visitatore numero 1171359
Login non eseguito
Descrizione
ID #707  Tutorials
Propeller P8X32A - Parte 3 - Esercizio#4   07/03/2009
In questo esercizio modificheremo il codice dell'esercizio numero 3 al fine di eseguire il lampeggio su due LED, collegati singolarmente su due diversi pin (16, 17) ed aventi frequenza differente.
Difficoltà:
Difficoltà di realizzazione o apprendimento. 2 stella/e.

Voto:
n.d.
Voto attuale (1/10) calcolato in base alla media delle votazioni di tutti gli iscritti che hanno votato questa risorsa.

Autore:
atomix
Autore della risorsa:atomix
HTML:
In questa casella viene indicato se è disponibile una pagina web da visualizzare.
File:
No
Allegato disponibile:
In questa casella viene indicato se è disponibile un file da scaricare.

Crediti Virtuali:
Free
Crediti virtuali necessari per scaricare il file allegato:0

Status:
ONLINE
Partecipa al FORUM di Elettronicamente.com per questo argomento.


 

Esercizio# 4 - Parametri, Chiamate (calls) e loop finiti - Output.spin

L'esercizio precedente esegue il lampeggio di un LED su di un pin. Il codice è funzionante, ma poco flessibile. In questo esercizio modificheremo il codice al fine di eseguire il lampeggio su due LED, collegati singolarmente su due diversi pin (16, 17) ed aventi frequenza differente.

Nella nuova versione del codice, è stato aggiunto un nuovo metodo 'Main' il quale sarà il punto d'inizio nell'esecuzione del programma (perchè è il primo metodo del file) e poi sono state apportate modifiche minori nel metodo Toggle. Il metodo Toggle verrà richiamato dal metodo Main ogni volta desideriamo che un LED lampeggi.
 

{{Output.spin

 

Esecuzione di un lampeggio LED su due pin, uno dopo l'altro.}}


PUB Main

   Toggle(16, 3_000_000, 10) 'Toggle P16 10 volte, 1/4 s ciascuno
   Toggle(17, 2_000_000, 20) 'Toggle P17 20 volte, 1/6 s ciascuno


PUB Toggle(Pin, Delay, Count)

{{Toggle Pin, Count times with Delay clock cycles in between.}}

      dira[Pin]~~ 'Imposta il pin I/O come output
   repeat Count 'Ripeti tante volte quanto indicato in Count
            !outa[Pin] 'Esegui il lampeggio invertendo lo stato logico (toggle)
            waitcnt(Delay + cnt) 'Ferma l'esecuzione quanto indicato in Delay


Inoltre nel nuovo codice è stato eliminato il blocco di dichiarazione delle costanti (CON), in quanto il metodo Main dovrà richiamare il metodo Toggle ad ogni accensione dei LED passando i parametri relativi al numero di pin e al tempo di attesa Delay. Questi valori ogni volta cambiano, quindi non possono essere delle costanti. In aggiunta è stato introdotto un nuovo valore Count, che in realtà è una variabile passata come parametro e che specifica quante volte il LED dovrà lampeggiare. Il contenuto della variabile Count verrà utilizzato nel ciclo (o loop) 'repeat' eseguendo il codice all'interno di esso, tante volte quanto contenuto in Count.
 

Il metodo Toggle. 

Diamo un'occhiata solo al metodo Toggle. Questo metodo viene dichiarato come pubblico (PUB) e con tre parametri da ricevere, Pin, Delay e Count quando verrà richiamato. Ciascun parametro sarà, all'interno del metodo una variabile di tipo 'long' (4-byte), e potrà essere utilizzato e modificato nel suo valore solo all'interno del metodo. Le modifiche eventualmente apportate, non influiranno all'esterno del metodo Toggle.

Il metodo Main. 

Il metodo Main è il primo ad essere eseguito all'accensione o al reset del propeller. Al suo interno troveremo solo due istruzioni di chiamata all'altro metodo Toggle, passando per ciascuno di esso, i parametri relativi a quale pin deve essere utilizzato per il lampeggio del LED, il ritardo nel lampeggio (Delay) e quante volte deve lampeggiare ogni LED (10 e 20 volte). All'avvio, viene eseguito il lampeggio del primo LED collegato al pin 16, per 10 volte, passando per il metodo Toggle. Quando questo finisce, l'esecuzione ritorna al metodo Main per eseguire la successiva istruzione che risulta ancora una volta una chiamata al metodo Toggle, ma con parametri diversi. Lampeggia il secondo LED collegato sul pin 17 per 20 volte. A questo punto l'esecuzione ritorna ancora in Main, ma questa volta non ci sono altre istruzioni da eseguire, quindi il Cog si spegne e il propeller si mette in uno stato dormiente, fintanto che si verifichi un ciclo di alimentazione elettrica o che avvenga un RESET del chip.

 

Parte 3 - Esercizio#3 Indice Parte 3 - Esercizio#5


 


 

 
Cod.33210
Sistema di sviluppo molto compatto per il chip Propeller P8X32A-M44 con interfaccia USB utilizzabile anche come modulo per i prototipi.
Ulteriori info:
http://www.elettroshop.com/dettagli.asp?pid=1629
Acquista ora questo prodotto su

a € 80.10
+iva
invece di € 89.00+iva
RISPARMI IL 10%

Q.ta
 
Cod.32311

Kit accessori Propeller: Mini Tastiera (PS/2), Mouse ottico (PS/2), LCD 2.5"

Ulteriori info:
http://www.elettroshop.com/dettagli.asp?pid=1153
Acquista ora questo prodotto su

a € 125.10
+iva
invece di € 139.00+iva
RISPARMI IL 10%

Q.ta
 
Cod.32300

Scheda di sviluppo per Propeller, con programmatore USB

Ulteriori info:
http://www.elettroshop.com/dettagli.asp?pid=1160
Acquista ora questo prodotto su

a € 103.50+iva

invece di € 115.00+iva
RISPARMI IL 10%

Q.ta
 
Cod.P8X32A-D40

Microprocessore Propeller DIL 40 P8X32A-40

Ulteriori info:
http://www.elettroshop.com/dettagli.asp?pid=1149
Acquista ora questo prodotto su

a € 8.01
+iva
invece di € 8.90+iva
RISPARMI IL 10%

Q.ta
 
Cod.ESP8X32A-Q44

Microprocessore Propeller QFTP P8X32A-Q44

Ulteriori info:
http://www.elettroshop.com/dettagli.asp?pid=1150
Acquista ora questo prodotto su

a € 8.01+
iva
invece di € 8.90+iva
RISPARMI IL 10%

Q.ta
 
Cod.ES122-32000

Manuale tecnico del microcontrollore Propeller

Ulteriori info:
http://www.elettroshop.com/dettagli.asp?pid=1163
Acquista ora questo prodotto su

a € 35.10
+iva
invece di € 39.00+iva
RISPARMI IL 10%

Q.ta
 
Cod.3ES32111

Propeller Professional Development Board
Board di sviluppo professionale per Propeller

Documentazione: [Link]
Schema elettrico: [Link]
Acquista ora questo prodotto su

a € 170.55
+iva
invece di € 189.50+iva
RISPARMI IL 10%

Q.ta
 
Cod.ES32212

E' una scheda millefori con dimensioni 8x10 cm, con incluso un Propeller gia' saldato, la Eeprom da 64 KB, l'alimentatore a 5 e 3,3 volt, una zona predisposta per il montaggio del connettore VGA e quelli per mouse e tastiera


Acquista ora questo prodotto su

a € 31.50
+iva
invece di € 35.00+iva
RISPARMI IL 10%

Q.ta
 
Cod.130-32212



Componenti sciolti: tra cui un blocco (come nei PC) che contiene connettore VGA e due connettori PS2 e le resistenze per il collegamento al Propeller, che si sposano con la propeller Proto Board

Acquista ora questo prodotto su

a € 19.35+iva
invece di € 21.50+iva
RISPARMI IL 10%

Q.ta
 
Cod.32201

 

 

 E' l'adattatore USB/seriale per poter programmare il Parallax per mezzo della USB            

Acquista ora questo prodotto su

a € 26.55+iva
invece di € 29.50+iva
RISPARMI IL 10%

Q.ta
 
Cod.32305

 

Contiene un libro, il Prop Plug, una breadboard, un
Propeller a 40 pin e componenti sciolti, una scatola di plastica che contiene la breadboard e tutti i componenti sciolti

Acquista ora questo prodotto su

a € 103.50+iva
invece di € 115.00+iva
RISPARMI IL 10%

Q.ta
 
Cod.32100

Scheda di sviluppo per Propeller 44 pin QFP

Ulteriori info:
http://www.elettroshop.com/dettagli.asp?pid=1159
Acquista ora questo prodotto su

a € 80.55+iva

invece di € 89.50+iva
RISPARMI IL 10%

Q.ta
  Cloud
 Elettronicamente.com  PICmicro  RS232 FT232 P8X32A Parallax PIC16F84 Programmatore Elettronica PCB Circuito Stampato Fotoincisione Microchip PIC16F876 Linguaggio AVR Linux NE555 ARM HD44780 DISPLAY LCD Alimentatore XE164 Infineon LED Amplificatore Laboratorio Resistenza Condensatore Termometro PWM relazione
www.Elettronicamente.com
Utenti attualmente connessi:
(Nessuno)