Corso di BASCOM AVR - ( 2 )
Corso Teorico/Pratico di programmazione in BASCOM AVR.
Autore: DAMINO Salvatore.
Gestione BZ1 e T1.
Dopo avere preso confidenza con la generazione del ns. primo programma, ed
averne capito il funzionamento, c'è la necessità di programmare il Microcontrollore
per verificarne, praticamente, il suo corretto funzionamento.
Questa operazione può essere effettuata collegando la GMM TST3, in cui è stato
montato il Mini Modulo GMM AM08 sullo zoccolo Z1, con un PC connesso in
seriale tramite il giusto cavo di comunicazione.
La comunicazione avviene tramite un protocollo RS 2 3 2. Se avete un PC con la
sola linea di comunicazione USB non ci sono problemi in quanto è sufficiente
dotarsi di un convertitore che da USB possa comunicare in RS 2 3 2.
Dette economiche interfacce si possono acquistare presso un normale negozio di
accessori per computer.
Dopo avere effettuato il collegamento potete cominciare le operazioni di
programmazione tramite il programma, della grifo®, denominato AVR
Bootloader grifo®.
Di seguito vengono dettagliatamente descritte tutte le operazioni necessarie per
una corretta gestione del processo.
USO DEL PROGRAMMA AVR Bootloader grifo®
I seguenti passi illustrano la modalità con cui un programma compilato può essere
salvato nella FLASH EPROM del Mini Modulo GMM AM08, tramite l’apposito
programma AVR Bootloader grifo®.
A questo scopo è importante premettere che con programma compilato s’intende
un file con il codice eseguibile per il Mini Modulo, nel formato HEX Intel, ovvero il
file generato direttamente dal compilatore BASCOM AVR.
L’AVR Bootloader grifo® è un programma per PC, realizzato e distribuito
gratuitamente dalla grifo®. Esso provvede ad interagire con il Bootloader
presente sul Mini Modulo, tramite una linea di comunicazione seriale.
18
Nel caso della GMM AM08 tale linea è quella Seriale Asincrona in RS 2 3 2 che,
inevitabilmente, dovrà essere presente anche sul PC. Grazie a questa iterazione
l’AVR Bootloader grifo® è in grado di gestire le memorie del modulo, quando
questo è già installato nel sistema finale, senza l’ausilio di nessun altro dispositivo.
Tale modalità di gestione prende il nome di ISP, che è l’acronimo di In System
Programm, ovvero Programmazione sul Sistema.
Finestra principale AVR Bootloader grifo®
1) Assicurare che la linea seriale asincrona della GMM AM08 sia bufferata in RS
2 3 2, ovvero che il suo dip switch sia configurato come segue:
DSW1.1
DSW1.2
DSW1.3
DSW1.4
19
->
->
->
->
ON
ON
OFF
OFF
2 ) Individuare la linea seriale asincrona sul PC da usare ed il relativo connettore
D B 9 maschio. Qualora il PC non disponga di una linea seriale RS 2 3 2,
provvedere ad aggiungerla, ad esempio usando degli appositi convertitori
USB <-> RS 2 3 2.
Determinare inoltre il nome o numero della linea seriale (COMx) individuata.
A questo scopo si può comodamente usare la finestra:
Start | Impostazioni | Pannello di controllo | Sistema | Hardware | Gestione
periferiche | Porte (COM e LPT).
3 ) Realizzare il collegamento seriale tra GMM A M 0 8 e PC, provvedendo a
collegare i due segnali di comunicazione e la massa.
In caso di utilizzo del GMM A M 0 8 montato sulla scheda GMM TST3 per
effettuare il collegamento è sufficiente usare una normale prolunga RS 2 3 2,
connessa tra il connettore COMx individuato al punto 2 , ed il connettore CN5
della GMM TST3.
Viceversa quando la GMM AM08 è usata su una scheda realizzata dall’utente i
tre segnali di comunicazione del PC dovranno arrivare direttamente ai pin del
Mini Modulo, come descritto nella seguente figura.
Esempio di Collegamento RS 232 con un PC
20
4 ) Localizzare il programma AVR Bootloader grifo® sul CD grifo® ricevuto,
oppure scaricarlo dal sito all’indirizzo;
http://www.grifo.it/PUB/AVR/AVR_BL.ZIP
5 ) Dezippare ed installare sul disco rigido del PC il programma AVR Bootloader
grifo® scaricato al punto precedente. Anche se non strettamente necessario,
durante questa fase si consiglia di non modificare le impostazioni proposte dallo
stesso programma d’installazione.
Qualora durante l’installazione vengano visualizzate finestre che informano e/o
richiedono, una conferma sulla sostituzione di file del sistema operativo (.DLL) ,
assicurare che siano mantenute le versioni originali di tali files.
6 ) Chiudere ogni programma che possa usare la linea seriale COMx del PC,
collegata al punto 3.
7) Lanciare il programma AVR Bootloader grifo® installato al punto 5 . Salvo
diverse impostazioni effettuate durante la stessa installazione si può usare il
collegamento creato nel menù di avvio di Windows: Start | Programmi |
grifo® | Avr Bootloader grifo®.
8) Chiudere la finestra di presentazione visualizzata premendo l’apposito pulsante
Close.
9) A questo punto compare la finestra principale dell’AVR Bootloader grifo®
che, in caso di prima esecuzione, risulta priva di settagli.
Selezionare la linea
di comunicazione seriale del PC collegata al punto 3 , nell’apposita lista Com
Port.
10) Spuntare la casella FLASH (Application Code) e dopo scegliere il file da
programmare nella FLASH della GMM AM08, ovvero il file con estensione
.HEX descritto all’inizio del paragrafo. Dopo aver premuto il relativo pulsante
Browse, selezionare il file, tramite l’apposita finestra di dialogo rappresentata.
11) Premere il pulsante Synch to target Bootloader e subito dopo provvedere a
togliere e rifornire l’alimentazione del Mini Modulo, oppure a resettarlo.
Affinché i due sistemi si sincronizzino è fondamentale che questa riaccensione
o reset avvenga entro 5 secondi dalla pressione del pulsante su PC; se questo
tempo scade comparirà una finestra con il messaggio No response from
target Bootloader e l’utente dovrà chiuderla con OK e poi ritentare la
sincronizzazione.
21
Qualora la sincronizzazione fallisse anche dopo altri tentativi è conveniente
ricontrollare i punti precedenti ed in particolare quelli del collegamento RS 2 3 2
e della scelta della linea seriale.
12) Quando la sincronizzazione è avvenuta nella finestra di stato in basso compare
l’indicazione Sending FLASH file – lines remaining xxxx e la versione del
Bootloader eseguito dal Mini Modulo: Target Bootloader Ver. x.x. Mentre
la seconda indicazione rimane costante la prima varia decrementando il numero
di linee del file HEX, ancora da trasmettere, fino ad azzerarlo. A questo punto il
file è stato completamente trasferito al Mini Modulo e, se non sono
intervenuti errori, viene rappresentata una finestra con il messaggio FLASH
file succesfully downloaded.
13) La durata della trasmissione file varia a seconda della sua lunghezza e della
linea di comunicazione disponibile sul PC; ad esempio se la COM usata
corrisponde ad un convertitore USB <-> RS 2 3 2 il tempo di trasferimento è
mediamente molto più lungo. In ogni caso l’utente deve attendere la condizione
descritta al punto precedente oppure, se il tempo diventa estremamente lungo,
interrompere la trasmissione con il pulsante Cancel.
14) A questo punto la FLASH è programmata e l’AVR Bootloader grifo® può
essere chiuso tramite la X nell’angolo in alto a destra della finestra o l’apposito
pulsante Exit.
15) A questo punto il nuovo programma compilato è stato salvato in FLASH ed
è pronto per l’esecuzione. Questa avviene automaticamente subito dopo la fine
della programmazione e può riavvenire o con una riaccensione o con un Reset
della GMM AM08.
Inizio della Sperimentazione.
A questo punto avete tutti gli elementi per poter cominciare una proficua
sperimentazione. Sapete come generare un programma; salvarlo sul
Microcontrollore e verificarne il funzionamento.
Nell’esempio specifico si dovrà programmare il file ottenuto dalla compilazione
(Corso_BASCOMAVR_001.HEX)
nella FLASH della GMM AM08 , così come
descritto nel precedente paragrafo, ed una volta riattivato il Mini Modulo
controllare che premendo il tasto T 1 si attivi il LED L3. Se questo accade,
congratulazioni avete realizzato il primo programma con successo.
Il passo successivo è quello di sperimentare, e studiare, tutti gli altri programmi
che cono stati realizzati per darVi la possibilità di intraprendere sempre delle
esperienze più articolate e complesse.
22
Esempio.002. Gestione Tasto e BUZZER.
Definizioni aggiunte:
Nessuna
Dichiarazioni aggiunte:
Nessuna
Istruzioni aggiunte:
Nessuna
Operatori aggiunti:
Nessuno
Schema Elettrico Usato dal Programma.
23
Questo programma esegue una semplice operazione di I/O utilizzando il tasto T 1
come ingresso ed il Buzzer BZ1, disponibili sulla GMM TST3, come organo di
uscita.
- Le linee di I/O interessate sono:
- pin 1 5 dello zoccolo Z1 su GMM TST3 ( = pin 9 del GMM AM08) collegato
al Buzzer BZ1;
- pin 1 2 dello zoccolo Z1 su GMM TST3 ( = pin 6 del GMM AM08) collegato
ad L2 di colore Rosso tramite R6 e tasto T1 Rosso.
-
Il programma gestisce la linea del pin 6 come ingresso e la linea del pin 9 come
uscita.
- All'atto dell'accensione il Buzzer tace.
- Premendo il tasto T1, oltre ad accendersi il LED L2 in quanto elettricamente
collegato, il Buzzer emetterà un suono.
- Rilasciando il tasto T1 il BUZZER cesserà di emettere un suono.
- Comunicazione a 19.200
Baud, 8 Bit x chr, 1 Stop bit, Nessuna parità.
Nella pagina precedente potete esaminare lo schema elettrico che si deve
realizzare per attuare il descritto Esempio.002.
Il programma descritto è funzionalmente analogo al precedente Esempio.001.
Esso infatti sostituisce al pilotaggio di L3 il Buzzer BZ1.
24
Esempio.003. Gestione del LED del Tasto e del BUZZER.
Definizioni aggiunte:
Nessuna
Dichiarazioni aggiunte:
Nessuna
Istruzioni aggiunte:
Nessuna
Operatori aggiunti:
Nessuno
Schema Elettrico Usato dal Programma.
25
Questo programma esegue delle semplici operazioni di I/O utilizzando il tasto T 1
come ingresso ed il Buzzer BZ1 più il LED L3, disponibili sulla GMM TST3, come
organi di uscita.
- Le linee di I/O interessate sono:
- pin 1 5 dello zoccolo Z1 su GMM TST3 ( = pin 9 del GMM AM08) collegato
al Buzzer BZ1;
- pin 1 3 dello zoccolo Z1 su GMM TST3 ( = pin 7 del GMM AM08) collegato
ad L3 di colore Verde tramite R7 e tasto T2 Verde;
- pin 1 2 dello zoccolo Z1 su GMM TST3 ( = pin 6 del GMM AM08) collegato
ad L2 di colore Rosso tramite R6 e tasto T1 Rosso.
- Il programma gestisce la linea del pin 6 come ingresso e le linee dei pin 7, 9
come uscite.
- All'atto dell'accensione il LED L3 è spento ed il Buzzer tace.
- Premendo il tasto T1, oltre ad accendersi il LED L2 in quanto elettricamente
collegato, il Buzzer emetterà un suono e si accenderà anche L3.
- Rilasciando il tasto T1 il BUZZER cesserà di emettere un suono ed L3 si
spegnerà.
- Comunicazione a 19.200
Baud, 8 Bit x chr, 1 Stop bit, Nessuna parità.
Nella pagina precedente potete esaminare lo schema elettrico che si deve
realizzare per attuare il descritto Esempio.003.
Tale programma è l'unione dell'Esempio.001 e dell'Esempio.002. Esso infatti
và a pilotare sia L3 che il Buzzer BZ1.
26
Scarica

Capitolo.002