You can freeze program execution for a number of milliseconds using PAUSE. MMBasic also maintains an internal stopwatch function (the TIMER function) which counts up in milliseconds. You can reset the timer to zero or any other number by assigning a value to the TIMER.
Using SETTICK in the Maximite versions you can setup a “tick” which will generate a regular interrupt with a period from one millisecond to over a month. See Interrupts.