L'MCU MC68HC11 ha soltanto due modi di funzionamento: single chip e
expanded; per ognuno di essi può lavorare in configurazione
normale o speciale. Queste quattro variazioni dei modi di
funzionamento sono selezionate attraverso i livelli che assumono i
pin MODA e MODB in fase di reset; la modalità speciale del single-chip
è chiamata special bootstrap mode, quella dell' expanded è
chiamata special test mode.
- Single Chip Mode, non richiede altri dispositivi esterni per il
corretto funzionamento, le porte B e C sono disponibili per
qualsiasi uso di I/O; in questa modalità tutto il software
necessario per controllare l'MCU ( Micro Control Unit) è contenuto nelle memorie
interne.
- Normal Expanded Mode, permette alla memoria esterna e ai
dispositivi periferici di accedere al bus indirizzi/dati
condividendo alcune linee; talvolta la quantità di memoria
disponibile sul chip o il numero di porte disponibili per
l'interfacciamento non sono sufficienti ed è necessario connettere
delle linee esterne supplementari.
- Special Test Mode, è usato nella maggior parte dei casi dal
produttore del chip per valutare il suo corretto funzionamento,
dopo la fabbricazione; permette di modificare alcuni registri
interni che altrimenti non potrebbero essere raggiunti. Comunque
questa modalità di funzionamento può essere utilizzata anche
dall'utente che vuole, per esempio, memorizzare dati nell'EEPROM ( Electrically Erasable Programmable Read Only Memory),
programmare il registro CONFIG, o emulare alcune funzioni.
- Special Bootstrap Mode, abilita una piccola porzione della ROM, detta Bootstrap ROM, all'indirizzo esadecimale $BF40-$BFFF; il vettore di reset è caricato con l'indirizzo della bootstrap ROM e il microprocessore esegue il codice in essa contenuto, il bootloader. Le prime istruzioni del bootloader configurano l'MCU ed in particolar modo l'interfaccia seriale (SCI) per una velocità di trasmissione pari a 7812 Baud; successivamente viene letto attraverso la porta D il primo dato il cui valore serve per capire cosa vuole fare il dispositivo esterno collegato. Se il primo dato vale $00 verrà subito eseguito il codice memorizzato nell'EEPROM; se invece il valore letto sarà diverso da $FF verrà reimpostata la velocità di trasmissione/ricezione a 1200 Baud, dopodichè il bootloader comincerà a prendere i dati che arriveranno dalla seriale e, dopo averli rimandati indietro (questo handshake è realizzato per avere un maggiore controllo sulla correttezza della trasmissione), li caricherà nella memoria RAM a partire dall'indirizzo $0000.
Tra un dato e il successivo il bootloader rimane in attesa fino a quando un ritardo di tempo fisso non viene superato, quindi esso inizia ad eseguire le istruzioni appena caricate nella RAM all'indirizzo $0000.
Questa è la modalità usata nel nostro caso e serve per trasferire i valori della temperatura utilizzati come riferimento nel ciclo, la durata di ciascuno di essi e il numero di cicli totali che si desidera eseguire.