while(!TI); // The processor is effectively "hung" here
            // it cannot do any useful work until TI is set;
            // it is simply marking time, wasting instruction cycles!
TI = 0;
SBUF = date;