Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Microprocessori e Microcontrollori
Corso di progettazione su SoC ARM
1/6
Microcontrollori e Microprocessori
Corso di progettazione su SoC ARM Prof. N. Masarone Lab.: St. 132 (S2DEL Solid State and Diamond Electronics Lab.) e.mail: info@engsistemi.com
ROMA
Universit degli Studi
TRE
Microprocessori e Microcontrollori
Corso di progettazione su SoC ARM
2/6
user.manual.lpc2101.lpc2102.lpc2103.pdf
S2DEL Solid State and Diamond Electronics Lab.
ROMA
Universit degli Studi
TRE
Microprocessori e Microcontrollori
Corso di progettazione su SoC ARM
3/6
Utilizzo di P0.16
Il pin P0.16 viene utilizzato come input del tasto in modalit polling; il pin P0.8 utilizzato come output per il pilotaggio del LED. Montare il LED collegando l'anodo a P0.8 ed il catodo alla resistenza di limitazione da 1 k, con l'altro capo di questa connesso a massa (GND). Montare una resistenza di pullup da 10 k su P0.16 e collegare un tasto normalmente aperto tra P0.16 e la massa della scheda (per il montaggio vedere l'ultima pagina). Scrivere il codice in C che permetta al tasto di comandare l'accensione e lo spegnimento del LED in funzionamento toggle : ad ogni pressione del tasto il LED deve cambiare stato (acceso/spento). Inserire nel ciclo principale una pausa di circa 2 secondi ed analizzare la capacit del programma di catturare correttamente lo stato del tasto. Una soluzione riportata nel progetto polling_vs_interrupt sul sito eNGSistemi all'indirizzo: http://www.engsistemi.com/documents/polling_vs_interrupt.zip
S2DEL Solid State and Diamond Electronics Lab.
ROMA
Universit degli Studi
TRE
Microprocessori e Microcontrollori
Corso di progettazione su SoC ARM
4/6
Utilizzo di EINT0
Con lo stesso montaggio precedente utilizzare il pin P0.16 come EINT0; abilitare l'interrupt di EINT0 scrivendo una funzione ISR che gestisca la commutazione della variabile per il funzionamento toggle del LED: ad ogni pressione del tasto il LED deve cambiare stato (acceso/spento). Inserire nel ciclo principale una pausa di circa 2 secondi ed analizzare la capacit del programma di catturare correttamente lo stato del tasto. Una soluzione (modificare opportunamente i commenti) riportata nel progetto polling_vs_interrupt sul sito eNGSistemi all'indirizzo: http://www.engsistemi.com/documents/polling_vs_interrupt.zip Verificare l'importanza del ciclo di ritardo nella ISR per evitare che ci siano rientri a catena nella stessa routine di gestione dell'interrupt, dovuti ai rimbalzi del segnale sul tasto. Modificare il codice scritto nelle esperienze precedenti per l'utilizzo delle periferiche in modalit interrupt (timer, ADC).
ROMA
Universit degli Studi
TRE
Microprocessori e Microcontrollori
Corso di progettazione su SoC ARM
5/6
polling su P0.16
leggi tasto
interrupt su EINT0
v
toggle
f
led OFF
tasto premuto
led ON
v
led ON
toggle
f
led OFF
ISR di EINT0
inverti toggle pausa debouncing
pausa 2s
ROMA
Universit degli Studi
TRE
Microprocessori e Microcontrollori
Corso di progettazione su SoC ARM
6/6
Collegamento tra BBENG4ARM e breadboard EINT0 VDD P0.16 Vss P0.8 (3.3V) (input) (gnd)(output)
ROMA
Universit degli Studi
TRE