Procedure di gestione dell'interfaccia utente

Tramite il display LCD (16 caratteri x 2 linee) e la tastierina è possibile visualizzare alcune variabili (es.: valori dei sensori di distanza e delle fotocellule) e modificare alcune costanti (es.: soglie di gas e luce e parametri PID) per poi salvarle di nuovo nella EEPROM interna.

Questi dispositivi hanno bisogno di diverse linee di segnale e per questo sono collegati al PIC tramite I/O expander I2C (schema)

Gli expander I2C, l'LCD, l'EEPROM e la tastiera sono tutti device molto lenti rispetto alla velocità del PIC e perciò devono essere usati in modo asincrono tramite interrupt e flag di stato per non rallentare l'esecuzione dell'intero programma, il software inizia la scrittura o la lettura dal dispositivo e questo comunica quando ha finito la sua operazione tramite il relativo flag.
Inoltre per la maggior parte del tempo rimangono inutilizzati e, per disturbare il meno possibile il programma durante la marcia e la ricerca degli obiettivi, tutta la routine è controllata da un unico semaforo che è l'AND dei flag di abilitazione delle singole routine (LCD, Keypad e EEPROM). Il flag è settato dall'interrupt alla pressione di un tasto e resettato quando si torna al menu "0" e ogni routine ha terminato il proprio lavoro.

Procedure per la gestione del display LCD

Procedure per la gestione della tastiera e dei menu

Procedure per la gestione dell'EEPROM

aggiornato il 10 - 12 - 2005