Home
Accesso / Registrazione
 di 

Corso di programmazione per microcontrollori ST626X. Quinta parte 1/4

microcontrollori ST626X

Nelle precedenti puntate abbiamo descritto le principali caratteristiche dei nuovi micro ST626X, ovvero dell’ST6260 e dell’ST6265. Abbiamo messo in luce le differenze tra la nuova famiglia ST626X, oggetto di questo Corso, e le famiglie inferiori ST621X e ST622X.

In seguito abbiamo appreso tutte le nozioni teoriche dei micro ST6 relative all’hardware (CPU, memoria programma, memoria dati, registri), al software (istruzioni mnemoniche e relativa sintassi), e al sistema di sviluppo (piastra base dello Starter Kit, assemblatore, programmatore). A questo punto, riteniamo opportuno mettere in pratica, con qualche semplice esempio, le cognizioni fin qui acquisite.

Approfitteremo degli esempi anche per approfondire eventuali argomenti non ancora trattati o esaminati solo in parte e per impratichirci con i metodi di programmazione. Gli esempi che intendiamo proporre, nel proseguimento del Corso, sono volutamente realizzati nel modo più semplice possibile, così potranno risultare comprensibili a chiunque, indipendentemente dalla specifica preparazione. In un secondo tempo, ogni lettore potrà approfondire gli argomenti di maggiore interesse riferendosi sia agli esempi riportati nella directory “EXAMPLES” sia a quelli contenuti nel manuale “ST62 General Purpose Application Manual” allegato allo Starter Kit.

Conclusa l’introduzione, vediamo subito il primo esempio, e allo scopo utilizziamo l’hardware dello Starter Kit che, come sappiamo, oltre a programmare i micro ST6, può anche essere utilizzato per testare il corretto funzionamento di un micro già programmato. Il primo programma che intendiamo realizzare avrà in ingresso i due pulsanti “+” e “-” e come retroazione i due led “LD1” e “LD2”. Il pulsante “+” deve accendere e spegnere il led “LD1” mentre il “-” deve accendere e spegnere il led “LD2”. Inoltre, il programma deve memorizzare in modo non volatile lo stato dei due led e, all’atto dell’accensione, ripristinarne la condizione di acceso o spento.

La corretta procedura per sviluppare un generico software può essere suddivisa in sette passi fondamentali: studio di fattibilità, realizzazione dello schema a blocchi del programma, scrittura delle istruzioni e delle pseudoistruzioni con creazione del programma sorgente, assemblaggio del programma sorgente e creazione del programma oggetto, simulazione a Personal Computer del funzionamento del programma, programmazione del chip, collaudo finale.

st626x_disposizione_componenti

Procediamo con ordine ma tralasciamo in questo caso lo studio di fattibilità data la notevole semplicità del software che vogliamo realizzare. In generale comunque questa prima analisi va effettuata per verificare che le caratteristiche del micro in uso soddisfino le esigenze della nostra applicazione. Passiamo perciò alla fase successiva, ovvero alla stesura del flowchart. Pianifichiamo la sequenza delle istruzioni da impartire al nostro micro attraverso una rappresentazione a blocchi e, per fare ciò, raggruppiamo i comandi da impartire al micro all’interno di figure geometriche collegate da delle linee.

In seguito, aggiungiamo ad ogni linea una freccia indicante il senso cronologico di esecuzione dei comandi. Il risultato di tale rappresentazione è riportato in queste pagine, vediamo ora di interpretarlo. Il programma (siglato MF55) per prima cosa inizializza le varie risorse utilizzate, quindi le linee di ingresso/uscita, la memoria RAM e la memoria EEPROM. Successivamente legge nella EEPROM lo stato assunto dai led prima dello spegnimento del micro e lo ripristina. A questo punto, entra nel programma principale (main program) dove attende ciclicamente la pressione del pulsante “+” o del pulsante “-”.

st626x_sigle_mnemoniche

Se uno dei due pulsanti viene premuto il software esegue la relativa subroutine. Nel nostro esempio, abbiamo riportato il diagramma della sola subroutine del pulsante “+” che risulta concettualmente identica a quella del pulsante “-”. Vediamo dunque cosa accade premendo “+”: il programma deve, come sappiamo, variare lo stato del led LD1 e per fare ciò legge lo stato attuale del led e varia, in funzione del contenuto di tale cella, la condizione della linea di I/O a cui il led è collegato. In seguito, memorizza la nuova condizione del led sia nella cella RAM dedicata sia nella memoria non volatile EEPROM.

Infine, il micro attende che il pulsante “+” venga rilasciato e che i contatti dello stesso pulsante terminino di rimbalzare. Nel nostro caso, abbiamo realizzato l’antirimbalzo con una routine di attesa di circa 50 msec più che sufficiente per un normale pulsante da c.s. come quelli utilizzati nello Starter Kit. Bene, passiamo ora alla vera e propria stesura del software cioè alla creazione del programma sorgente. Accendiamo il computer e scriviamo una dopo l’altra le istruzioni da impartire al micro all’interno di un qualsiasi editatore di testi che lavori in ASCII. Se possedete un Personal Computer con sistema operativo MS-DOS potete utilizzare l’editor accluso che va benissimo (programma EDIT.COM).

Il kit è disponibile da Futura Elettronica

 

 

Scrivi un commento all'articolo esprimendo la tua opinione sul tema, chiedendo eventuali spiegazioni e/o approfondimenti e contribuendo allo sviluppo dell'argomento proposto. Verranno accettati solo commenti a tema con l'argomento dell'articolo stesso. Commenti NON a tema dovranno essere necessariamente inseriti nel Forum creando un "nuovo argomento di discussione". Per commentare devi accedere al Blog

 

 

Login   
 Twitter Facebook LinkedIn Youtube Google RSS

Chi è online

Ci sono attualmente 7 utenti e 64 visitatori collegati.

Ultimi Commenti