Avec une échelle uniforme (1 minutes = x pixel)
Si, pour 8h de temps, ton tableau fait 960 pixels de large alors ta période de 5 minutes fait 10 pixels : impossible d'écrire quoi que ce soit directement dans la zone.
A partir de là, soit tu veux une échelle uniforme et tu fais s'afficher une petite zone de texte quand tu passes par dessus cette case (javascript nécessaire) , soit tu utilises une échelle non uniforme. En cas d'échelle uniforme, il te faut jouer avec les attribut "colspan" (si tu affiches plusieurs jours à la fois) et "width" des balises "<td>".
PS : Dans l'exemple, je n'ai pas tenus compte de la taille de la bordure des cases.