Esercitazioni ASM - PIC18

 


ESERCITAZIONE # 12b


Progetto di test.

Il package del driver comprende un progetto in MPLAB 8 o superiori che effettua un test su un modulo generico da 2 linee per 16 caratteri.

Il progetto dà un modello di template semplificato ed un esempio di uso dei vari elementi del driver.

I path indicati nel sorgente sono quelli dei files nella memoria del PC su cui è stato sviluppato; dovranno essere variati in modo da adeguarsi a come l' utente ha inteso organizzare le sue librerie.

Il sorgente contiene una elevata quantità di nop che hanno la sola funzione di servire come punti di posizionamento dei breakpoint, utili per una analisi a passi del programma.

Il progetto usa il set di macro per la gestione del clock interno 18FIntClock.asm. Una copia è inserita nel package per comodità dell' utente.

Per quanto riguarda le temporizzazioni, si è fatto uso della procedura DelayUS di Mike Mclaren che consente di avere tempi precisi e indipendenti dal clock del microcontroller (minimo 5,4 ms con clock di 48MHz).
Si tratta di una macro-sub, separata dal package del driver; va inclusa in testa al programma, ma in area eseguibile.
Ovviamente, se si utilizza una frequenza di clock specifica per il microcontroller, o altre strutture per le temporizzazioni, nulla vieta di modificare il driver con routines di ritardo dedicate.
Queste temporizzazioni sono del genere waste time, dato che non si prevede una gestione in interrupt per il modulo LCD; nulla, comunque, vieta di utilizzare uno dei timer del microcontroller, se richiesto.

DelayUS, che è dettagliato in rete a:
http://www.piclist.com/techref/microchip/delay/xus-mm.htm


I collegamenti hardware tra la UniBoard e il modulo LCD sono quelli già visti nell' esercizio precedente.

La struttura proposta è del genere "assoluto". Potrà essere scritta in modo rilocabile con l' impiego degli statements CODE, EXTERNAL, GLOBAL, ecc. per ottenere elementi trattabili dal Linker dell' Macro Assembler.
Questo passaggio sarà descritto più avanti.


Qui è scaricabile il package del driver.


 

Copyright © afg. Tutti i diritti riservati.
Aggiornato il 17/12/12.