Arduino at2560mega + lcd hitachi 4 pulsanti TIMER fuori orario....

Salve a tutti mi sono appena iscritto al forum e da poco ho acquistato un arduino at2560mega con un display hitachi con 4 pulsanti compatibile Arduino, con il proposito di realizzare un timer per il pilotaggio di una plafo a led da me costruita, ho stilato un programma che sembra funzionare, c'è solo un problema, ho usato come contatore per l'orologio in un primo momento il comando delay e diciamo che questo impostato a 1 secondo funziona, ma ho necessità di un clock più veloce, quindi ho impostato un delay(1) pensando che se 1000 corrisponde a 1000 ms, 1 dovesse corrispondere a 1 ms ma realizzato il clock così l'orologio sembra essere più lento del normale, così ho provato ad usare la funzione millis() che restituisce il tempo in millisecondi da quanto è acceso arduino e anche così sembra essere più lento del normale.....non riesco a capire come mai, può essere l'alimentazione dell'usb che è insufficente e quindi il clock di tutto il sistema è falsato? O nelle librerie c'è qualche delay che influenza il resto del programma? Grazie anticipatamente dell'aiuto saluti Cesare